//! `lapaloma-render` — abstracción de painter. //! //! Los crates de visualización (cartesian, mesh, polar…) no //! conocen `gpui` ni `wgpu`. Hablan contra el trait [`Canvas`] //! definido acá. Eso permite: //! //! - **Backend CPU sobre gpui** — implementación por defecto; //! sirve para series de hasta ~50 k vértices a 60 FPS sin //! sudar. //! - **Backend GPU sobre wgpu** — placeholder hoy; cuando un //! módulo le pegue al wall (millones de puntos, force-sim //! pesada), se enchufa sin tocar la lógica de los painters. //! - **Backend SVG** — `lapaloma-export` implementa el mismo //! trait emitiendo elementos ``, ``, etc. //! //! Tipos primitivos (`Color`, `Point`, `Rect`) viven acá para //! no atarlos a `gpui::Rgba`/`gpui::Point` — los backends //! traducen al tipo nativo del runtime que les toca. #![forbid(unsafe_code)] pub mod color; pub mod geom; pub mod canvas; pub mod plan; #[cfg(feature = "gpui")] pub mod gpui_backend; pub use color::Color; pub use geom::{Point, Rect}; pub use canvas::{Canvas, StrokeStyle}; pub use plan::{RenderCmd, RenderPlan}; #[cfg(feature = "gpui")] pub use gpui_backend::WindowCanvas;