tawasuyu

tawasuyu/brahman

Rust 506TOML 198Markdown 56JSON 197212 Definitions

⎇ 88051d220ae611c8eba0f6f3018ea6af7acac62f crates/modules/ui_engine/widgets/lapaloma-render/src/lib.rs Rust · 30 lines · 1.0 KB History Who touched what raw

creation 88051d220 · sergio ·

1//! `lapaloma-render` — abstracción de painter.
2//!
3//! Los crates de visualización (cartesian, mesh, polar…) no
4//! conocen `gpui` ni `wgpu`. Hablan contra el trait [`Canvas`]
5//! definido acá. Eso permite:
6//!
7//! - **Backend CPU sobre gpui** — implementación por defecto;
8//!   sirve para series de hasta ~50 k vértices a 60 FPS sin
9//!   sudar.
10//! - **Backend GPU sobre wgpu** — placeholder hoy; cuando un
11//!   módulo le pegue al wall (millones de puntos, force-sim
12//!   pesada), se enchufa sin tocar la lógica de los painters.
13//! - **Backend SVG** — `lapaloma-export` implementa el mismo
14//!   trait emitiendo elementos `<path>`, `<polyline>`, etc.
15//!
16//! Tipos primitivos (`Color`, `Point`, `Rect`) viven acá para
17//! no atarlos a `gpui::Rgba`/`gpui::Point` — los backends
18//! traducen al tipo nativo del runtime que les toca.
19
20#![forbid(unsafe_code)]
21
22pub mod color;
23pub mod geom;
24pub mod canvas;
25pub mod plan;
26
27pub use color::Color;
28pub use geom::{Point, Rect};
29pub use canvas::{Canvas, StrokeStyle};
30pub use plan::{RenderCmd, RenderPlan};