From 06a1ca11ce496708f8c8d85db9b50f0dd0223868 Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 19 May 2026 00:45:48 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20rename=20tahuantinsuyu=20=E2=86=92=20c?= =?UTF-8?q?osmobiologia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename clean del proyecto astrológico antes de empezar el módulo web (fase 2 = server axum, fase 3 = cliente WASM). Hacerlo ahora ahorra refactor de URLs, package.json, paths de assets HTML y deploy configs que aparecerían con el nombre en cuanto exista el server. Mecánica: - `git mv` de los 10 crates de módulo + 2 apps: * `crates/modules/tahuantinsuyu/` → `cosmobiologia/` * `crates/modules/tahuantinsuyu/tahuantinsuyu-*` → `cosmobiologia/cosmobiologia-*` * `crates/apps/tahuantinsuyu` y `tahuantinsuyu-cli` análogos. - Sed sobre todos los `.rs` y `.toml`: `tahuantinsuyu` → `cosmobiologia` (cubre crate names, deps paths, use statements, ProjectDirs literals, binary names). - Workspace `Cargo.toml`: members con paths nuevos. - Memoria del proyecto (`~/.claude/.../memory/project_*.md`) actualizada. Cero leftovers: `grep -rn tahuantinsuyu --include="*.rs" --include="*.toml" crates/` devuelve vacío. DB & XDG: clean slate. La nueva app arranca con DB vacía en `$XDG_DATA_HOME/cosmobiologia/charts.db`. Si tenías cartas guardadas, viven todavía en `~/.local/share/tahuantinsuyu/` — las podés migrar manualmente con un `cp`. IDs UI inalterados: el prefijo `tts-` de gpui ElementIds queda igual (cosmético, no afecta funcionalidad). Cambiarlo a `cb-` ahora sería 3-4 líneas más de sed pero ningún beneficio operativo. Tests: 20 verdes (10 shell + 10 render math). Compila full: `cargo check -p cosmobiologia` OK. Co-Authored-By: Claude Opus 4.7 --- Cargo.lock | 290 +++++++++--------- Cargo.toml | 26 +- .../Cargo.toml | 8 +- .../src/main.rs | 12 +- .../Cargo.toml | 22 +- .../src/main.rs | 20 +- .../src/shell.rs | 42 +-- .../cosmobiologia-canvas/Cargo.toml | 15 + .../cosmobiologia-canvas}/src/lib.rs | 26 +- .../cosmobiologia-card}/Cargo.toml | 6 +- .../cosmobiologia-card}/src/lib.rs | 6 +- .../cosmobiologia-card}/src/service.rs | 14 +- .../cosmobiologia-engine}/Cargo.toml | 6 +- .../cosmobiologia-engine}/src/bridge.rs | 16 +- .../cosmobiologia-engine}/src/dignity.rs | 0 .../cosmobiologia-engine}/src/lib.rs | 22 +- .../cosmobiologia-engine}/src/natal_cache.rs | 2 +- .../cosmobiologia-engine}/src/svg_export.rs | 6 +- .../cosmobiologia-model}/Cargo.toml | 2 +- .../cosmobiologia-model}/src/lib.rs | 2 +- .../cosmobiologia-modules}/Cargo.toml | 6 +- .../cosmobiologia-modules}/src/lib.rs | 8 +- .../cosmobiologia-panel}/Cargo.toml | 8 +- .../cosmobiologia-panel}/src/lib.rs | 8 +- .../cosmobiologia-render}/Cargo.toml | 4 +- .../cosmobiologia-render}/src/lib.rs | 6 +- .../cosmobiologia-render}/src/math.rs | 0 .../cosmobiologia-store}/Cargo.toml | 4 +- .../cosmobiologia-store}/src/lib.rs | 10 +- .../cosmobiologia-theme}/Cargo.toml | 2 +- .../cosmobiologia-theme}/src/lib.rs | 2 +- .../cosmobiologia-tree}/Cargo.toml | 6 +- .../cosmobiologia-tree}/src/lib.rs | 18 +- .../tahuantinsuyu-canvas/Cargo.toml | 15 - 34 files changed, 325 insertions(+), 315 deletions(-) rename crates/apps/{tahuantinsuyu-cli => cosmobiologia-cli}/Cargo.toml (63%) rename crates/apps/{tahuantinsuyu-cli => cosmobiologia-cli}/src/main.rs (94%) rename crates/apps/{tahuantinsuyu => cosmobiologia}/Cargo.toml (51%) rename crates/apps/{tahuantinsuyu => cosmobiologia}/src/main.rs (85%) rename crates/apps/{tahuantinsuyu => cosmobiologia}/src/shell.rs (98%) create mode 100644 crates/modules/cosmobiologia/cosmobiologia-canvas/Cargo.toml rename crates/modules/{tahuantinsuyu/tahuantinsuyu-canvas => cosmobiologia/cosmobiologia-canvas}/src/lib.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-card => cosmobiologia/cosmobiologia-card}/Cargo.toml (79%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-card => cosmobiologia/cosmobiologia-card}/src/lib.rs (95%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-card => cosmobiologia/cosmobiologia-card}/src/service.rs (95%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/Cargo.toml (88%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/src/bridge.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/src/dignity.rs (100%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/src/lib.rs (96%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/src/natal_cache.rs (98%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-engine => cosmobiologia/cosmobiologia-engine}/src/svg_export.rs (98%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-model => cosmobiologia/cosmobiologia-model}/Cargo.toml (92%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-model => cosmobiologia/cosmobiologia-model}/src/lib.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-modules => cosmobiologia/cosmobiologia-modules}/Cargo.toml (66%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-modules => cosmobiologia/cosmobiologia-modules}/src/lib.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-panel => cosmobiologia/cosmobiologia-panel}/Cargo.toml (61%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-panel => cosmobiologia/cosmobiologia-panel}/src/lib.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-render => cosmobiologia/cosmobiologia-render}/Cargo.toml (81%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-render => cosmobiologia/cosmobiologia-render}/src/lib.rs (97%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-render => cosmobiologia/cosmobiologia-render}/src/math.rs (100%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-store => cosmobiologia/cosmobiologia-store}/Cargo.toml (81%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-store => cosmobiologia/cosmobiologia-store}/src/lib.rs (98%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-theme => cosmobiologia/cosmobiologia-theme}/Cargo.toml (91%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-theme => cosmobiologia/cosmobiologia-theme}/src/lib.rs (99%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-tree => cosmobiologia/cosmobiologia-tree}/Cargo.toml (73%) rename crates/modules/{tahuantinsuyu/tahuantinsuyu-tree => cosmobiologia/cosmobiologia-tree}/src/lib.rs (99%) delete mode 100644 crates/modules/tahuantinsuyu/tahuantinsuyu-canvas/Cargo.toml diff --git a/Cargo.lock b/Cargo.lock index 005766b..b57f55e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2130,6 +2130,156 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cosmobiologia" +version = "0.1.0" +dependencies = [ + "brahman-sidecar", + "cosmobiologia-canvas", + "cosmobiologia-card", + "cosmobiologia-engine", + "cosmobiologia-model", + "cosmobiologia-modules", + "cosmobiologia-panel", + "cosmobiologia-store", + "cosmobiologia-theme", + "cosmobiologia-tree", + "directories", + "gpui", + "serde_json", + "yahweh-core", + "yahweh-theme", + "yahweh-widget-container-core", + "yahweh-widget-splitter", + "yahweh-widget-theme-switcher", +] + +[[package]] +name = "cosmobiologia-canvas" +version = "0.1.0" +dependencies = [ + "cosmobiologia-engine", + "cosmobiologia-model", + "cosmobiologia-modules", + "cosmobiologia-render", + "cosmobiologia-theme", + "gpui", + "yahweh-theme", +] + +[[package]] +name = "cosmobiologia-card" +version = "0.1.0" +dependencies = [ + "brahman-card", + "brahman-sidecar", + "cosmobiologia-engine", + "cosmobiologia-model", + "directories", + "postcard", + "serde", + "thiserror 2.0.18", + "tokio", + "tracing", + "ulid", +] + +[[package]] +name = "cosmobiologia-cli" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "cosmobiologia-card", + "cosmobiologia-model", + "serde_json", + "tokio", +] + +[[package]] +name = "cosmobiologia-engine" +version = "0.1.0" +dependencies = [ + "cosmobiologia-model", + "cosmobiologia-render", + "eternal-astrology", + "eternal-sky", + "serde", + "thiserror 2.0.18", +] + +[[package]] +name = "cosmobiologia-model" +version = "0.1.0" +dependencies = [ + "serde", + "serde_json", + "thiserror 2.0.18", + "ulid", +] + +[[package]] +name = "cosmobiologia-modules" +version = "0.1.0" +dependencies = [ + "cosmobiologia-engine", + "cosmobiologia-model", + "serde", + "serde_json", +] + +[[package]] +name = "cosmobiologia-panel" +version = "0.1.0" +dependencies = [ + "cosmobiologia-model", + "cosmobiologia-modules", + "cosmobiologia-theme", + "gpui", + "serde_json", + "yahweh-theme", +] + +[[package]] +name = "cosmobiologia-render" +version = "0.1.0" +dependencies = [ + "cosmobiologia-model", + "serde", +] + +[[package]] +name = "cosmobiologia-store" +version = "0.1.0" +dependencies = [ + "cosmobiologia-model", + "rusqlite", + "serde", + "serde_json", + "thiserror 2.0.18", + "ulid", +] + +[[package]] +name = "cosmobiologia-theme" +version = "0.1.0" +dependencies = [ + "gpui", + "yahweh-theme", +] + +[[package]] +name = "cosmobiologia-tree" +version = "0.1.0" +dependencies = [ + "cosmobiologia-model", + "cosmobiologia-store", + "gpui", + "yahweh-theme", + "yahweh-widget-text-input", + "yahweh-widget-tree", +] + [[package]] name = "cpufeatures" version = "0.2.17" @@ -10900,146 +11050,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" -[[package]] -name = "tahuantinsuyu" -version = "0.1.0" -dependencies = [ - "brahman-sidecar", - "directories", - "gpui", - "serde_json", - "tahuantinsuyu-canvas", - "tahuantinsuyu-card", - "tahuantinsuyu-engine", - "tahuantinsuyu-model", - "tahuantinsuyu-modules", - "tahuantinsuyu-panel", - "tahuantinsuyu-store", - "tahuantinsuyu-theme", - "tahuantinsuyu-tree", - "yahweh-core", - "yahweh-theme", - "yahweh-widget-container-core", - "yahweh-widget-splitter", - "yahweh-widget-theme-switcher", -] - -[[package]] -name = "tahuantinsuyu-canvas" -version = "0.1.0" -dependencies = [ - "gpui", - "tahuantinsuyu-engine", - "tahuantinsuyu-model", - "tahuantinsuyu-modules", - "tahuantinsuyu-theme", - "yahweh-theme", -] - -[[package]] -name = "tahuantinsuyu-card" -version = "0.1.0" -dependencies = [ - "brahman-card", - "brahman-sidecar", - "directories", - "postcard", - "serde", - "tahuantinsuyu-engine", - "tahuantinsuyu-model", - "thiserror 2.0.18", - "tokio", - "tracing", - "ulid", -] - -[[package]] -name = "tahuantinsuyu-cli" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "serde_json", - "tahuantinsuyu-card", - "tahuantinsuyu-model", - "tokio", -] - -[[package]] -name = "tahuantinsuyu-engine" -version = "0.1.0" -dependencies = [ - "eternal-astrology", - "eternal-sky", - "serde", - "tahuantinsuyu-model", - "thiserror 2.0.18", -] - -[[package]] -name = "tahuantinsuyu-model" -version = "0.1.0" -dependencies = [ - "serde", - "serde_json", - "thiserror 2.0.18", - "ulid", -] - -[[package]] -name = "tahuantinsuyu-modules" -version = "0.1.0" -dependencies = [ - "serde", - "serde_json", - "tahuantinsuyu-engine", - "tahuantinsuyu-model", -] - -[[package]] -name = "tahuantinsuyu-panel" -version = "0.1.0" -dependencies = [ - "gpui", - "serde_json", - "tahuantinsuyu-model", - "tahuantinsuyu-modules", - "tahuantinsuyu-theme", - "yahweh-theme", -] - -[[package]] -name = "tahuantinsuyu-store" -version = "0.1.0" -dependencies = [ - "rusqlite", - "serde", - "serde_json", - "tahuantinsuyu-model", - "thiserror 2.0.18", - "ulid", -] - -[[package]] -name = "tahuantinsuyu-theme" -version = "0.1.0" -dependencies = [ - "gpui", - "yahweh-theme", -] - -[[package]] -name = "tahuantinsuyu-tree" -version = "0.1.0" -dependencies = [ - "gpui", - "tahuantinsuyu-model", - "tahuantinsuyu-store", - "yahweh-theme", - "yahweh-widget-text-input", - "yahweh-widget-tree", -] - [[package]] name = "take-until" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 166eb85..8a1ba03 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -134,18 +134,18 @@ members = [ "crates/modules/barra/barra-web", # ============================================================ - # modules/tahuantinsuyu/ — estudio de astrología profesional + # modules/cosmobiologia/ — estudio de astrología profesional # ============================================================ - "crates/modules/tahuantinsuyu/tahuantinsuyu-card", - "crates/modules/tahuantinsuyu/tahuantinsuyu-model", - "crates/modules/tahuantinsuyu/tahuantinsuyu-store", - "crates/modules/tahuantinsuyu/tahuantinsuyu-render", - "crates/modules/tahuantinsuyu/tahuantinsuyu-engine", - "crates/modules/tahuantinsuyu/tahuantinsuyu-modules", - "crates/modules/tahuantinsuyu/tahuantinsuyu-theme", - "crates/modules/tahuantinsuyu/tahuantinsuyu-canvas", - "crates/modules/tahuantinsuyu/tahuantinsuyu-tree", - "crates/modules/tahuantinsuyu/tahuantinsuyu-panel", + "crates/modules/cosmobiologia/cosmobiologia-card", + "crates/modules/cosmobiologia/cosmobiologia-model", + "crates/modules/cosmobiologia/cosmobiologia-store", + "crates/modules/cosmobiologia/cosmobiologia-render", + "crates/modules/cosmobiologia/cosmobiologia-engine", + "crates/modules/cosmobiologia/cosmobiologia-modules", + "crates/modules/cosmobiologia/cosmobiologia-theme", + "crates/modules/cosmobiologia/cosmobiologia-canvas", + "crates/modules/cosmobiologia/cosmobiologia-tree", + "crates/modules/cosmobiologia/cosmobiologia-panel", # ============================================================ # apps/ — apps que consumen el protocolo (yahweh modules+shell) @@ -170,8 +170,8 @@ members = [ "crates/apps/lapaloma-stream-demo", "crates/apps/lapaloma-phosphor-demo", "crates/apps/lapaloma-financial-demo", - "crates/apps/tahuantinsuyu", - "crates/apps/tahuantinsuyu-cli", + "crates/apps/cosmobiologia", + "crates/apps/cosmobiologia-cli", ] [workspace.package] diff --git a/crates/apps/tahuantinsuyu-cli/Cargo.toml b/crates/apps/cosmobiologia-cli/Cargo.toml similarity index 63% rename from crates/apps/tahuantinsuyu-cli/Cargo.toml rename to crates/apps/cosmobiologia-cli/Cargo.toml index 9c8095e..c244626 100644 --- a/crates/apps/tahuantinsuyu-cli/Cargo.toml +++ b/crates/apps/cosmobiologia-cli/Cargo.toml @@ -1,18 +1,18 @@ [package] -name = "tahuantinsuyu-cli" +name = "cosmobiologia-cli" version = { workspace = true } edition = { workspace = true } license = { workspace = true } description = "Tahuantinsuyu — CLI cliente del service socket. Pide cómputos de cartas sin abrir la GUI." [dependencies] -tahuantinsuyu-card = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-card" } -tahuantinsuyu-model = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-model" } +cosmobiologia-card = { path = "../../modules/cosmobiologia/cosmobiologia-card" } +cosmobiologia-model = { path = "../../modules/cosmobiologia/cosmobiologia-model" } clap = { workspace = true } tokio = { workspace = true } serde_json = { workspace = true } anyhow = { workspace = true } [[bin]] -name = "tahuantinsuyu-cli" +name = "cosmobiologia-cli" path = "src/main.rs" diff --git a/crates/apps/tahuantinsuyu-cli/src/main.rs b/crates/apps/cosmobiologia-cli/src/main.rs similarity index 94% rename from crates/apps/tahuantinsuyu-cli/src/main.rs rename to crates/apps/cosmobiologia-cli/src/main.rs index e3051c2..d87450d 100644 --- a/crates/apps/tahuantinsuyu-cli/src/main.rs +++ b/crates/apps/cosmobiologia-cli/src/main.rs @@ -1,9 +1,9 @@ -//! `tahuantinsuyu-cli` — cliente del service socket de Tahuantinsuyu. +//! `cosmobiologia-cli` — cliente del service socket de Tahuantinsuyu. //! //! Pide cómputos de cartas sin abrir la GUI. Útil para integraciones, //! scripts y para verificar end-to-end que el data plane brahman está //! sirviendo. Conecta al socket que la app GUI expone (default -//! `$XDG_CACHE_HOME/tahuantinsuyu/service.sock`). +//! `$XDG_CACHE_HOME/cosmobiologia/service.sock`). //! //! ## Comandos //! @@ -15,7 +15,7 @@ //! ## Ejemplo //! //! ```bash -//! cargo run -p tahuantinsuyu-cli -- natal \ +//! cargo run -p cosmobiologia-cli -- natal \ //! --year 1987 --month 3 --day 14 \ //! --hour 5 --minute 22 --tz-min -240 \ //! --lat 10.4806 --lon -66.9036 \ @@ -26,12 +26,12 @@ use std::path::PathBuf; use anyhow::{anyhow, Context, Result}; use clap::{Parser, Subcommand}; -use tahuantinsuyu_card::service::{self, ComputeRequest, ComputeResponse}; -use tahuantinsuyu_model::{StoredBirthData, StoredChartConfig}; +use cosmobiologia_card::service::{self, ComputeRequest, ComputeResponse}; +use cosmobiologia_model::{StoredBirthData, StoredChartConfig}; #[derive(Parser)] #[command( - name = "tahuantinsuyu-cli", + name = "cosmobiologia-cli", version, about = "Cliente del service socket de Tahuantinsuyu." )] diff --git a/crates/apps/tahuantinsuyu/Cargo.toml b/crates/apps/cosmobiologia/Cargo.toml similarity index 51% rename from crates/apps/tahuantinsuyu/Cargo.toml rename to crates/apps/cosmobiologia/Cargo.toml index d5c6260..bb8afb7 100644 --- a/crates/apps/tahuantinsuyu/Cargo.toml +++ b/crates/apps/cosmobiologia/Cargo.toml @@ -1,20 +1,20 @@ [package] -name = "tahuantinsuyu" +name = "cosmobiologia" version = { workspace = true } edition = { workspace = true } license = { workspace = true } description = "Tahuantinsuyu — estudio profesional de astrología. Tree + canvas + panel sobre yahweh + eternal-astrology." [dependencies] -tahuantinsuyu-card = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-card" } -tahuantinsuyu-canvas = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-canvas" } -tahuantinsuyu-engine = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-engine" } -tahuantinsuyu-model = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-model" } -tahuantinsuyu-modules = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-modules" } -tahuantinsuyu-panel = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-panel" } -tahuantinsuyu-store = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-store" } -tahuantinsuyu-theme = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-theme" } -tahuantinsuyu-tree = { path = "../../modules/tahuantinsuyu/tahuantinsuyu-tree" } +cosmobiologia-card = { path = "../../modules/cosmobiologia/cosmobiologia-card" } +cosmobiologia-canvas = { path = "../../modules/cosmobiologia/cosmobiologia-canvas" } +cosmobiologia-engine = { path = "../../modules/cosmobiologia/cosmobiologia-engine" } +cosmobiologia-model = { path = "../../modules/cosmobiologia/cosmobiologia-model" } +cosmobiologia-modules = { path = "../../modules/cosmobiologia/cosmobiologia-modules" } +cosmobiologia-panel = { path = "../../modules/cosmobiologia/cosmobiologia-panel" } +cosmobiologia-store = { path = "../../modules/cosmobiologia/cosmobiologia-store" } +cosmobiologia-theme = { path = "../../modules/cosmobiologia/cosmobiologia-theme" } +cosmobiologia-tree = { path = "../../modules/cosmobiologia/cosmobiologia-tree" } brahman-sidecar = { path = "../../shared/brahman-sidecar" } yahweh-core = { workspace = true } @@ -31,5 +31,5 @@ serde_json = { workspace = true } gpui = { workspace = true, features = ["test-support"] } [[bin]] -name = "tahuantinsuyu" +name = "cosmobiologia" path = "src/main.rs" diff --git a/crates/apps/tahuantinsuyu/src/main.rs b/crates/apps/cosmobiologia/src/main.rs similarity index 85% rename from crates/apps/tahuantinsuyu/src/main.rs rename to crates/apps/cosmobiologia/src/main.rs index bff8bcb..62a27ae 100644 --- a/crates/apps/tahuantinsuyu/src/main.rs +++ b/crates/apps/cosmobiologia/src/main.rs @@ -1,10 +1,10 @@ //! Tahuantinsuyu — binario standalone. //! //! Boot: -//! 1. `tahuantinsuyu_card::spawn_sidecar()` se presenta al Init brahman +//! 1. `cosmobiologia_card::spawn_sidecar()` se presenta al Init brahman //! (fire-and-forget; si no hay Init, la app sigue standalone). -//! 2. Abre la DB SQLite en `$XDG_DATA_HOME/tahuantinsuyu/charts.db` -//! (fallback a `~/.local/share/tahuantinsuyu/charts.db`). +//! 2. Abre la DB SQLite en `$XDG_DATA_HOME/cosmobiologia/charts.db` +//! (fallback a `~/.local/share/cosmobiologia/charts.db`). //! 3. Levanta GPUI con [`yahweh_theme::Theme::install_default`]. //! 4. Compone el shell: [`Shell`] dueño del tree (izq), canvas (centro) //! y panel (abajo). Cablea las suscripciones cross-widget. @@ -33,7 +33,7 @@ use gpui::{ WindowOptions, px, size, }; -use tahuantinsuyu_store::Store; +use cosmobiologia_store::Store; use yahweh_theme::Theme; use crate::shell::Shell; @@ -43,14 +43,14 @@ const APP_TITLE: &str = "Tahuantinsuyu"; fn main() { // Sidecar brahman primero — si el Init está corriendo, nos presentamos. - tahuantinsuyu_card::spawn_sidecar(); + cosmobiologia_card::spawn_sidecar(); // Service socket: thread separado escuchando ComputeRequest. Otros // módulos brahman pueden conectar y pedir cómputos de cartas // natales sin GUI. Si el bind falla (socket ya tomado, sin // permisos), loggea warn y la app sigue corriendo standalone. - let service_socket = tahuantinsuyu_card::service::default_service_socket(); - eprintln!("[tahuantinsuyu] service socket → {}", service_socket.display()); - tahuantinsuyu_card::service::spawn_service_thread(service_socket); + let service_socket = cosmobiologia_card::service::default_service_socket(); + eprintln!("[cosmobiologia] service socket → {}", service_socket.display()); + cosmobiologia_card::service::spawn_service_thread(service_socket); // DB en directorio de datos del usuario. let db_path = resolve_db_path(); @@ -58,7 +58,7 @@ fn main() { Ok(s) => s, Err(e) => { eprintln!( - "[tahuantinsuyu] no se pudo abrir la DB en {:?}: {} — usando memoria", + "[cosmobiologia] no se pudo abrir la DB en {:?}: {} — usando memoria", db_path, e ); Store::in_memory().expect("in-memory store") @@ -86,7 +86,7 @@ fn main() { } fn resolve_db_path() -> PathBuf { - if let Some(dirs) = directories::ProjectDirs::from("net", "gioser", "tahuantinsuyu") { + if let Some(dirs) = directories::ProjectDirs::from("net", "gioser", "cosmobiologia") { let dir = dirs.data_dir().to_path_buf(); let _ = std::fs::create_dir_all(&dir); return dir.join(DB_FILENAME); diff --git a/crates/apps/tahuantinsuyu/src/shell.rs b/crates/apps/cosmobiologia/src/shell.rs similarity index 98% rename from crates/apps/tahuantinsuyu/src/shell.rs rename to crates/apps/cosmobiologia/src/shell.rs index 98802bd..dcbaf97 100644 --- a/crates/apps/tahuantinsuyu/src/shell.rs +++ b/crates/apps/cosmobiologia/src/shell.rs @@ -28,20 +28,20 @@ use gpui::{ Window, div, prelude::*, px, }; -use tahuantinsuyu_canvas::{ +use cosmobiologia_canvas::{ AstrologyCanvas, CanvasEvent, CanvasMode, ThumbnailItem, ThumbnailScope, }; -use tahuantinsuyu_engine::{ +use cosmobiologia_engine::{ LayerKind, NatalOptions, OUTER_RING_MODULES, PipelineRequest, compose_with_options, svg_export, }; -use tahuantinsuyu_model::{ +use cosmobiologia_model::{ Chart, ChartId, ChartKind, ContactId, FreeChartId, ModuleState, StoredBirthData, StoredChartConfig, TreeSelection, }; -use tahuantinsuyu_panel::{ChartOption, ControlPanel, PanelEvent}; -use tahuantinsuyu_store::Store; -use tahuantinsuyu_tree::{ +use cosmobiologia_panel::{ChartOption, ControlPanel, PanelEvent}; +use cosmobiologia_store::Store; +use cosmobiologia_tree::{ parse_city_atlas_tsv, FreeChartEntry, TahuantinsuyuTree, TreeEvent, }; use yahweh_core::{LayoutDirection, NodeId}; @@ -147,7 +147,7 @@ impl Shell { let tree = cx.new(|cx| { let mut t = TahuantinsuyuTree::new(store.clone(), cx); - // Si hay un atlas custom en $XDG_DATA_HOME/tahuantinsuyu/ + // Si hay un atlas custom en $XDG_DATA_HOME/cosmobiologia/ // atlas.tsv, lo cargamos y reemplazamos el atlas hardcoded // de 90 ciudades. Formato TSV: namelatlontz_min. if let Some(atlas) = load_city_atlas_from_xdg() { @@ -419,7 +419,7 @@ impl Shell { let result = cx .background_executor() .spawn(async { - brahman_sidecar::list_sessions_blocking("tahuantinsuyu-observer") + brahman_sidecar::list_sessions_blocking("cosmobiologia-observer") }) .await; let _ = this.update(cx, |this, cx| { @@ -900,7 +900,7 @@ impl Shell { .get("synastry") .and_then(|c| c.get("partner_chart_id")) .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) + .and_then(|s| s.parse::().ok()) .and_then(|id| self.store.get_chart(id).ok()); manual.or_else(|| self.find_synastry_partner_auto()) } @@ -920,7 +920,7 @@ impl Shell { .get("composite") .and_then(|c| c.get("partner_chart_id")) .and_then(|v| v.as_str()) - .and_then(|s| s.parse::().ok()) + .and_then(|s| s.parse::().ok()) .and_then(|id| self.store.get_chart(id).ok()); manual.or_else(|| self.find_synastry_partner_auto()) } @@ -1176,7 +1176,7 @@ impl Shell { } /// Recompone la carta actual + escribe el SVG a un archivo en - /// `$XDG_DATA_HOME/tahuantinsuyu/exports/