tawasuyu

tawasuyu/brahman

Rust 226TOML 67JSON 14HTML 12860 Sutichaykuna

⎇ main crates/modules/pineal/SDD.md Markdown · 44 siq'ikuna · 2.3 KB Ñawpa willay ch'uya

docs: fix factual errors en SDDs y STATUS/ROADMAP e570c6ca6 · sergio ·

1# modules/pineal/ — Data-viz agnóstica (era lapaloma)
2
3**Propósito.** Motor de gráficos con backends pluggables. Los crates
4de visualización no conocen `gpui` ni `wgpu`: hablan contra el trait
5`Canvas`, y producen un `RenderPlan` que cada backend ejecuta.
6
7## Crates
8
9| crate              | tipo | rol                                                  |
10| ------------------ | ---- | ---------------------------------------------------- |
11| `pineal-core`      | lib  | Datos: Series, Point, Rect, Color, RingBuffer        |
12| `pineal-render`    | lib  | Trait `Canvas` + `RenderPlan` + backend GPUI (feat)  |
13| `pineal-cartesian` | lib  | Axes + viewport + series sobre coord cartesiano      |
14| `pineal-financial` | lib  | Candlestick, OHLC sobre cartesian                    |
15| `pineal-stream`    | lib  | Streaming a 60Hz desde RingBuffer                    |
16| `pineal-phosphor`  | lib  | Trail CRT con alpha decay sobre stream               |
17| `pineal-polar`     | lib  | Coord polar (stub)                                   |
18| `pineal-heatmap`   | lib  | Grid 2D color-mapped (stub)                          |
19| `pineal-treemap`   | lib  | Rectangular treemap (stub)                           |
20| `pineal-flow`      | lib  | Sankey/flow diagrams (stub)                          |
21| `pineal-mesh`      | lib  | Triangle mesh + barycentric (stub)                   |
22| `pineal-export`    | lib  | SVG/PNG export del RenderPlan                        |
23| `pineal-umbrella`  | lib  | Re-export con features `core/render/cartesian/...`   |
24
25## Dependencias
26
27- Todos ← `pineal-core`. Render-dependientes ← `pineal-render`.
28- Backend GPUI: feature gate `gpui` en pineal-render activa
29  `gpui_backend.rs` (consumido por widgets en `apps/pineal-*-demo`).
30
31## Estado
32
33LOC ~4,000. **5 charts implementados** (LOC reales):
34- `core` 878, `render` 386, `cartesian` 1397, `financial` 688,
35  `stream` 231, `phosphor` 312, `umbrella` 53.
36
37**6 stubs (<30 LOC c/u)** — completar:
38- `polar` 16, `heatmap` 21, `treemap` 12, `flow` 16, `mesh` 28,
39  `export` 23 (SVG exporter no implementado pese a depender de él
40  el roadmap; verificar si export depende de los charts o vice versa).
41
42Roadmap: cerrar los 6 stubs. Orden sugerido: polar → heatmap →
43treemap → flow → mesh → export (este último porque depende del
44renderer común).

SDD.md

modules/pineal/ — Data-viz agnóstica (era lapaloma)

Propósito. Motor de gráficos con backends pluggables. Los crates de visualización no conocen gpui ni wgpu: hablan contra el trait Canvas, y producen un RenderPlan que cada backend ejecuta.

Crates

cratetiporol
pineal-corelibDatos: Series, Point, Rect, Color, RingBuffer
pineal-renderlibTrait Canvas + RenderPlan + backend GPUI (feat)
pineal-cartesianlibAxes + viewport + series sobre coord cartesiano
pineal-financiallibCandlestick, OHLC sobre cartesian
pineal-streamlibStreaming a 60Hz desde RingBuffer
pineal-phosphorlibTrail CRT con alpha decay sobre stream
pineal-polarlibCoord polar (stub)
pineal-heatmaplibGrid 2D color-mapped (stub)
pineal-treemaplibRectangular treemap (stub)
pineal-flowlibSankey/flow diagrams (stub)
pineal-meshlibTriangle mesh + barycentric (stub)
pineal-exportlibSVG/PNG export del RenderPlan
pineal-umbrellalibRe-export con features core/render/cartesian/...

Dependencias

Estado

LOC ~4,000. 5 charts implementados (LOC reales):

6 stubs (<30 LOC c/u) — completar:

Roadmap: cerrar los 6 stubs. Orden sugerido: polar → heatmap → treemap → flow → mesh → export (este último porque depende del renderer común).