# modules/cosmobiologia/ — Estudio de astrología profesional **Propósito.** App completa de astrología: cálculo de cartas natales (swiss ephemeris vía `eternal-astrology`), almacenamiento de contactos, render agnóstico (carta natal, dial GR, harmonics) con backends GPUI nativo + SVG/Canvas2D web. ## Crates | crate | tipo | rol | | ------------------------- | ---- | -------------------------------------------------- | | `cosmobiologia-card` | lib | Card del daemon | | `cosmobiologia-model` | lib | Tipos: Chart, Contact, Group, Aspect, Coordinates | | `cosmobiologia-store` | lib | SQLite store (contactos + cartas) | | `cosmobiologia-engine` | lib | Cálculo astrológico (bridge a eternal-astrology) | | `cosmobiologia-modules` | lib | Sub-modules: aspects, harmonics, GR dual-ring | | `cosmobiologia-render` | lib | **AGNÓSTICO**: RenderModel + DrawCommand + compose | | `cosmobiologia-theme` | lib | Paleta astrológica + presets dark/light | | `cosmobiologia-canvas` | lib | Widget GPUI consumidor de render | | `cosmobiologia-tree` | lib | Widget GPUI: Groups/Contacts/Charts sidebar | | `cosmobiologia-panel` | lib | Widget GPUI: controles dexterior (dial GR, FFT) | | `cosmobiologia-web` | lib | Bridge WASM: DrawCommand → SVG/Canvas2D | ## Dependencias - Core: `cosmobiologia-model` ← `cosmobiologia-engine` (cálculo) + `cosmobiologia-store` (persistencia). - Render path agnóstico: `engine` → `render::compose_wheel` → `DrawCommand`s → renderer (gpui nativo o SVG web). - Widgets GPUI consumen `nahual/widgets/tree`, `nahual-theme`. ## Estado LOC 21,502 (más grande del monorepo). Cobertura desigual: - AGNÓSTICOS estables: model (478), store (760), render (1474), engine (2687). - GPUI sin tests: canvas (2850), tree (2295), panel (1037). - 20 TODOs concentrados en engine (sistema GR + harmonics). ## Roadmap (memorias de proyecto) 1. ✅ **Sistema GR**: dual-ring directas+conversas, cómputo de triggers (`render::gr`), resaltado de convergencias, HUD lateral y scrubbing live del jog-dial. 2. **FFT armónico (#63)**: detección automática de ciclos. 3. **Research bank (#64-#65)**: corpus de cartas + queries. 4. **3D celestial sphere (#66)**: render esférico no 2D. 5. **Rectificador automático (#67)**: ajuste de hora natal vía eventos — usa la matriz GR como evaluador de fitness; ya no bloqueado.