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:
sergio
2026-05-19 14:48:34 +00:00
parent 86fb6ae20b
commit 550c98f275
375 changed files with 8512 additions and 7155 deletions
+41
View File
@@ -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"]
+53
View File
@@ -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;