Files
brahman/crates/modules/cosmobiologia/SDD.md
T
2026-05-22 13:48:54 +00:00

50 lines
2.5 KiB
Markdown

# 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.