refactor(monorepo): reorganización lógica + renames + SDDs + split CHANGELOG
Reorganización física de crates/: - core/ (mezclaba 6 propósitos) se divide en protocol/, init/, runtime/, compat/ - shared/ (3 crates) se redistribuye en protocol/ e init/ - lapaloma (sub-módulo de ui_engine) se promueve a modules/pineal/ Renames de proyectos: - shipote → shuma (runtime de sandboxes) - nouser → akasha (explorador de Mónadas) - yahweh → nahual (motor GPUI, antes ui_engine/) - lapaloma → pineal (data-viz agnóstica) Fraccionamiento UI → core agnóstico: - vista-core (DeckState + snap, 175 LOC, 5 tests verdes) - barra-core (Task + render_html + sanitize, 90 LOC, 5 tests verdes) - vista-web y barra-web ahora son thin DOM bindings Documentación nueva: - 16 SDDs por subdirectorio (≤80 LOC c/u): protocol/init/runtime/compat + 10 módulos + apps/ - docs/STATUS.md con cifras reales por proyecto - docs/ROADMAP.md con plan a finalización (6 hitos, ~6-8 semanas) - CHANGELOG.md particionado en docs/changelog/<proyecto>.md (7 buckets) Automatización: - scripts/reorg.py — script idempotente que: git mv directorios, renombra package names, recomputa path = refs, reescribe imports rust, actualiza workspace Cargo.toml. Soporta --dry-run. - scripts/split-changelog.py — particiona CHANGELOG por componente. Validación: - cargo check --workspace pasa (124 crates + 2 nuevos cores). - 10 tests adicionales (5 en vista-core + 5 en barra-core) verdes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
[package]
|
||||
name = "pineal"
|
||||
version = { workspace = true }
|
||||
edition = { workspace = true }
|
||||
license = { workspace = true }
|
||||
authors = { workspace = true }
|
||||
publish = { workspace = true }
|
||||
description = "Lapaloma — paraguas: re-exporta los módulos para prototipos. En producción importar los crates hoja directamente para que tree-shaking descarte lo no usado."
|
||||
|
||||
[dependencies]
|
||||
pineal-core = { path = "../core", optional = true }
|
||||
pineal-render = { path = "../render", optional = true }
|
||||
pineal-cartesian = { path = "../cartesian", optional = true }
|
||||
pineal-stream = { path = "../stream", optional = true }
|
||||
pineal-mesh = { path = "../mesh", optional = true }
|
||||
pineal-financial = { path = "../financial", optional = true }
|
||||
pineal-polar = { path = "../polar", optional = true }
|
||||
pineal-heatmap = { path = "../heatmap", optional = true }
|
||||
pineal-treemap = { path = "../treemap", optional = true }
|
||||
pineal-flow = { path = "../flow", optional = true }
|
||||
pineal-phosphor = { path = "../phosphor", optional = true }
|
||||
pineal-export = { path = "../export", optional = true }
|
||||
|
||||
[features]
|
||||
default = ["full"]
|
||||
full = [
|
||||
"core", "render", "cartesian", "stream", "mesh", "financial",
|
||||
"polar", "heatmap", "treemap", "flow", "phosphor", "export",
|
||||
]
|
||||
core = ["dep:pineal-core"]
|
||||
render = ["dep:pineal-render", "core"]
|
||||
cartesian = ["dep:pineal-cartesian", "render"]
|
||||
stream = ["dep:pineal-stream", "render"]
|
||||
mesh = ["dep:pineal-mesh", "render"]
|
||||
financial = ["dep:pineal-financial", "cartesian"]
|
||||
polar = ["dep:pineal-polar", "render"]
|
||||
heatmap = ["dep:pineal-heatmap", "render"]
|
||||
treemap = ["dep:pineal-treemap", "render"]
|
||||
flow = ["dep:pineal-flow", "render"]
|
||||
phosphor = ["dep:pineal-phosphor", "stream"]
|
||||
export = ["dep:pineal-export", "render"]
|
||||
@@ -0,0 +1,53 @@
|
||||
//! `pineal` — paraguas re-export.
|
||||
//!
|
||||
//! Para **prototipos** que quieren probar varios módulos a la vez
|
||||
//! sin agregar 8 dependencias a `Cargo.toml`. En producción
|
||||
//! preferir importar directamente los crates hoja (`pineal-core`,
|
||||
//! `pineal-cartesian`, …) para que el linker descarte lo no
|
||||
//! usado y los tiempos de compilación bajen.
|
||||
//!
|
||||
//! Las features mapean 1:1 a cada sub-crate:
|
||||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! pineal = { workspace = true, default-features = false,
|
||||
//! features = ["cartesian", "stream"] }
|
||||
//! ```
|
||||
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
#[cfg(feature = "core")]
|
||||
pub use pineal_core as core;
|
||||
|
||||
#[cfg(feature = "render")]
|
||||
pub use pineal_render as render;
|
||||
|
||||
#[cfg(feature = "cartesian")]
|
||||
pub use pineal_cartesian as cartesian;
|
||||
|
||||
#[cfg(feature = "stream")]
|
||||
pub use pineal_stream as stream;
|
||||
|
||||
#[cfg(feature = "mesh")]
|
||||
pub use pineal_mesh as mesh;
|
||||
|
||||
#[cfg(feature = "financial")]
|
||||
pub use pineal_financial as financial;
|
||||
|
||||
#[cfg(feature = "polar")]
|
||||
pub use pineal_polar as polar;
|
||||
|
||||
#[cfg(feature = "heatmap")]
|
||||
pub use pineal_heatmap as heatmap;
|
||||
|
||||
#[cfg(feature = "treemap")]
|
||||
pub use pineal_treemap as treemap;
|
||||
|
||||
#[cfg(feature = "flow")]
|
||||
pub use pineal_flow as flow;
|
||||
|
||||
#[cfg(feature = "phosphor")]
|
||||
pub use pineal_phosphor as phosphor;
|
||||
|
||||
#[cfg(feature = "export")]
|
||||
pub use pineal_export as export;
|
||||
Reference in New Issue
Block a user