From d4c31d70b77d750a02162f12c014a69b12fca4fa Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 23 May 2026 15:17:28 +0000 Subject: [PATCH] gioser-web: replace Rust SVG graph with Cytoscape.js - Add cytoscape-graph.js: fetches /graph, renders with Cytoscape.js - Style: round-rect nodes, cose layout, edge width proportional to weight - Click: center node + fade rest (wineandcheesemap effect) - Double-click: trigger navigation callback - Hover: tooltip with preview text - Click background: restore all - Remove gioser-graph-web crate dependency (no longer needed) - Add CDN cytoscape@3.30.4 + defer script to index.html - gioser-graph custom element auto-initialized on mount --- Cargo.lock | 417 +------------- Cargo.toml.bak3 | 509 ++++++++++++++++++ crates/apps/gioser-web/Cargo.toml | 1 - crates/apps/gioser-web/cytoscape-graph.js | 258 +++++++++ crates/apps/gioser-web/index.html | 6 + crates/apps/gioser-web/pkg/gioser_web.d.ts | 15 +- crates/apps/gioser-web/pkg/gioser_web.js | 130 ++--- crates/apps/gioser-web/pkg/gioser_web_bg.wasm | Bin 526317 -> 427025 bytes .../gioser-web/pkg/gioser_web_bg.wasm.d.ts | 15 +- crates/apps/gioser-web/src/lib.rs | 50 +- 10 files changed, 853 insertions(+), 548 deletions(-) create mode 100644 Cargo.toml.bak3 create mode 100644 crates/apps/gioser-web/cytoscape-graph.js diff --git a/Cargo.lock b/Cargo.lock index 2f3b42e..512a4dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1347,61 +1347,6 @@ dependencies = [ "fs_extra", ] -[[package]] -name = "axum" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" -dependencies = [ - "async-trait", - "axum-core", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "backtrace" version = "0.3.76" @@ -2251,15 +2196,6 @@ dependencies = [ "unicode-security", ] -[[package]] -name = "celestial-eop-data" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db7627f7cbdcaed155e66503e07025e10701a3566bc211a85e35b918bc40812" -dependencies = [ - "zstd", -] - [[package]] name = "cexpr" version = "0.6.0" @@ -2989,196 +2925,6 @@ 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", - "nahual-core", - "nahual-theme", - "nahual-widget-container-core", - "nahual-widget-splitter", - "nahual-widget-theme-switcher", - "serde_json", -] - -[[package]] -name = "cosmobiologia-canvas" -version = "0.1.0" -dependencies = [ - "cosmobiologia-engine", - "cosmobiologia-model", - "cosmobiologia-modules", - "cosmobiologia-render", - "cosmobiologia-theme", - "gpui", - "nahual-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-corpus" -version = "0.1.0" -dependencies = [ - "ron", - "serde", -] - -[[package]] -name = "cosmobiologia-engine" -version = "0.1.0" -dependencies = [ - "cosmobiologia-corpus", - "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", - "nahual-theme", - "serde_json", -] - -[[package]] -name = "cosmobiologia-render" -version = "0.1.0" -dependencies = [ - "cosmobiologia-model", - "serde", -] - -[[package]] -name = "cosmobiologia-server" -version = "0.1.0" -dependencies = [ - "axum", - "clap", - "cosmobiologia-engine", - "cosmobiologia-model", - "cosmobiologia-render", - "cosmobiologia-store", - "directories", - "serde", - "serde_json", - "thiserror 2.0.18", - "tokio", - "tower-http", - "tracing", - "tracing-subscriber", -] - -[[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", - "nahual-theme", -] - -[[package]] -name = "cosmobiologia-tree" -version = "0.1.0" -dependencies = [ - "cosmobiologia-model", - "cosmobiologia-store", - "gpui", - "nahual-theme", - "nahual-widget-text-input", - "nahual-widget-tree", -] - -[[package]] -name = "cosmobiologia-web" -version = "0.1.0" -dependencies = [ - "cosmobiologia-render", - "getrandom 0.3.4", - "serde", - "serde_json", - "wasm-bindgen", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -4152,88 +3898,6 @@ dependencies = [ "svg_fmt", ] -[[package]] -name = "eternal-astrology" -version = "0.1.1-alpha.2" -dependencies = [ - "eternal-core", - "eternal-ephemeris", - "eternal-sky", - "eternal-time", - "eternal-validation", - "libm", - "thiserror 2.0.18", -] - -[[package]] -name = "eternal-coords" -version = "0.1.1-alpha.2" -dependencies = [ - "celestial-eop-data", - "eternal-core", - "eternal-time", - "libm", - "thiserror 2.0.18", -] - -[[package]] -name = "eternal-core" -version = "0.1.1-alpha.2" -dependencies = [ - "libm", - "once_cell", - "regex", - "thiserror 2.0.18", -] - -[[package]] -name = "eternal-ephemeris" -version = "0.1.1-alpha.2" -dependencies = [ - "eternal-coords", - "eternal-core", - "eternal-time", - "libm", - "memmap2", -] - -[[package]] -name = "eternal-sky" -version = "0.1.1-alpha.2" -dependencies = [ - "eternal-coords", - "eternal-core", - "eternal-ephemeris", - "eternal-time", - "eternal-validation", - "libm", - "thiserror 2.0.18", -] - -[[package]] -name = "eternal-time" -version = "0.1.1-alpha.2" -dependencies = [ - "eternal-core", - "libm", - "thiserror 2.0.18", -] - -[[package]] -name = "eternal-validation" -version = "0.1.1-alpha.2" -dependencies = [ - "anyhow", - "clap", - "eternal-coords", - "eternal-core", - "eternal-ephemeris", - "eternal-time", - "libm", - "serde", - "serde_json", -] - [[package]] name = "euclid" version = "0.22.14" @@ -5081,6 +4745,18 @@ dependencies = [ name = "gioser-geom" version = "0.1.0" +[[package]] +name = "gioser-graph-web" +version = "0.1.0" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "gioser-palette" version = "0.1.0" @@ -5841,24 +5517,12 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "http-range-header" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" - [[package]] name = "httparse" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "humantime" version = "2.3.0" @@ -5879,7 +5543,6 @@ dependencies = [ "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -7503,12 +7166,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "matilda" version = "0.1.0" @@ -12066,17 +11723,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_path_to_error" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" -dependencies = [ - "itoa", - "serde", - "serde_core", -] - [[package]] name = "serde_repr" version = "0.1.20" @@ -13851,7 +13497,6 @@ dependencies = [ "tokio", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -13862,23 +13507,13 @@ checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" dependencies = [ "bitflags 2.11.1", "bytes", - "futures-core", "futures-util", "http", "http-body", - "http-body-util", - "http-range-header", - "httpdate", - "mime", - "mime_guess", - "percent-encoding", "pin-project-lite", - "tokio", - "tokio-util", "tower", "tower-layer", "tower-service", - "tracing", "url", ] @@ -16564,34 +16199,6 @@ version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" -[[package]] -name = "zstd" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" -dependencies = [ - "cc", - "pkg-config", -] - [[package]] name = "zune-core" version = "0.5.1" diff --git a/Cargo.toml.bak3 b/Cargo.toml.bak3 new file mode 100644 index 0000000..754b68e --- /dev/null +++ b/Cargo.toml.bak3 @@ -0,0 +1,509 @@ +[workspace] +resolver = "2" +members = [ + # ============================================================ + # protocol/ — Contratos canónicos + routing entre módulos + # ============================================================ + "crates/protocol/brahman-card", + "crates/protocol/brahman-card-wit", + "crates/protocol/brahman-cards", + "crates/protocol/brahman-handshake", + "crates/protocol/brahman-broker", + "crates/protocol/brahman-admin", + "crates/protocol/brahman-sidecar", + "crates/protocol/brahman-net", + "crates/protocol/brahman-dht", + "crates/protocol/brahman-card-discovery", + "crates/protocol/brahman-ssh-multiplex", + "crates/protocol/brahman-auth", + "crates/protocol/arje-card", + + # ============================================================ + # init/ — PID 1 + encarnación Linux (arje) + # ============================================================ + "crates/init/arje-zero", + "crates/init/arje-kernel", + "crates/init/arje-soma", + "crates/init/arje-snapshot", + "crates/init/arje-incarnate", + "crates/init/arje-absorb", + + # ============================================================ + # runtime/ — Infraestructura de ejecución (bus + cas + wasm + brain) + # ============================================================ + "crates/runtime/arje-bus", + "crates/runtime/arje-cas", + "crates/runtime/arje-wasm", + "crates/runtime/arje-brain-rules", + "crates/runtime/arje-brain-cognitive", + "crates/runtime/arje-brain-audit", + "crates/runtime/arje-brain", + "crates/runtime/arje-echo", + "crates/runtime/sandokan-lifecycle", + "crates/runtime/sandokan-core", + "crates/runtime/sandokan-local", + "crates/runtime/sandokan-daemon", + "crates/runtime/sandokan-remote", + "crates/runtime/sandokan", + + # ============================================================ + # compat/ — Shims D-Bus para correr software systemd-aware + # ============================================================ + "crates/compat/arje-compat-common", + "crates/compat/arje-policy-provider", + "crates/compat/arje-logind-compat", + "crates/compat/arje-hostnamed-compat", + "crates/compat/arje-timedated-compat", + "crates/compat/arje-localed-compat", + "crates/compat/arje-journald-compat", + "crates/compat/arje-resolved-compat", + "crates/compat/arje-polkit-compat", + "crates/compat/arje-machined-compat", + "crates/compat/arje-tmpfiles-compat", + "crates/compat/arje-systemd1-compat", + "crates/compat/arje-notify-compat", + "crates/compat/arje-binfmt-compat", + "crates/compat/arje-timer-compat", + + # ============================================================ + # modules/semantic_dht/ (minga) — DHT semántico de código + # ============================================================ + "crates/modules/semantic_dht/minga-core", + "crates/modules/semantic_dht/minga-store", + "crates/modules/semantic_dht/minga-p2p", + "crates/modules/semantic_dht/minga-vfs", + "crates/modules/semantic_dht/minga-cli", + + # ============================================================ + # modules/nahual/ — Motor GPUI: libs + widgets (era yahweh) + # ============================================================ + "crates/modules/nahual/libs/core", + "crates/modules/nahual/libs/theme", + "crates/modules/nahual/libs/launcher", + "crates/modules/nahual/libs/bus", + "crates/modules/nahual/libs/meta-schema", + "crates/modules/nahual/libs/meta-runtime", + "crates/modules/nahual/libs/providers/fs", + "crates/modules/nahual/libs/providers/sqlite", + "crates/modules/nahual/widgets/tree", + "crates/modules/nahual/widgets/container_core", + "crates/modules/nahual/widgets/splitter", + "crates/modules/nahual/widgets/tabs", + "crates/modules/nahual/widgets/tiled", + "crates/modules/nahual/widgets/text_input", + "crates/modules/nahual/widgets/meta-form", + "crates/modules/nahual/widgets/banner", + "crates/modules/nahual/widgets/card", + "crates/modules/nahual/widgets/stat-card", + "crates/modules/nahual/widgets/app-header", + "crates/modules/nahual/widgets/theme-switcher", + + # ============================================================ + # modules/pineal/ — Data-viz agnóstica con backends (era lapaloma) + # ============================================================ + "crates/modules/pineal/core", + "crates/modules/pineal/render", + "crates/modules/pineal/cartesian", + "crates/modules/pineal/stream", + "crates/modules/pineal/mesh", + "crates/modules/pineal/financial", + "crates/modules/pineal/polar", + "crates/modules/pineal/heatmap", + "crates/modules/pineal/treemap", + "crates/modules/pineal/flow", + "crates/modules/pineal/phosphor", + "crates/modules/pineal/export", + "crates/modules/pineal/umbrella", + + # ============================================================ + # modules/verbo/ — Provider de embeddings model-agnostic + # ============================================================ + "crates/modules/verbo/verbo-core", + "crates/modules/verbo/verbo-mock", + "crates/modules/verbo/verbo-daemon", + + # ============================================================ + # modules/agorapura/ — Identidad humana federada + # ============================================================ + "crates/modules/agorapura/agorapura-core", + "crates/modules/agorapura/agorapura-graph", + + # ============================================================ + # modules/badu/ — Toma de notas con gravedad semántica + # ============================================================ + "crates/modules/badu/badu-core", + "crates/modules/badu/badu-gravity", + + # ============================================================ + # modules/takiy/ — Composición musical asistida + # ============================================================ + "crates/modules/takiy/takiy-core", + + # ============================================================ + # modules/matilda/ — Administración de servidores + # ============================================================ + "crates/modules/matilda/matilda-core", + "crates/modules/matilda/matilda-config", + "crates/modules/matilda/matilda-plan", + "crates/modules/matilda/matilda-apply", + "crates/modules/matilda/matilda-ghost", + "crates/modules/matilda/matilda-linker", + "crates/modules/matilda/matilda-discover", + + # ============================================================ + # modules/yachay/ — Notebooks computacionales reproducibles + # ============================================================ + "crates/modules/yachay/yachay-core", + + # ============================================================ + # modules/charka/ — Transpilador COBOL → Rust + # ============================================================ + "crates/modules/charka/charka-bcd", + "crates/modules/charka/charka-lexer", + "crates/modules/charka/charka-parser", + "crates/modules/charka/charka-ir", + "crates/modules/charka/charka-runtime", + "crates/modules/charka/charka-codegen", + "crates/modules/charka/charka-shadow", + + # ============================================================ + # modules/mirada/ — Compositor Wayland + # ============================================================ + "crates/modules/mirada/mirada-layout", + "crates/modules/mirada/mirada-protocol", + "crates/modules/mirada/mirada-brain", + "crates/modules/mirada/mirada-link", + "crates/modules/mirada/mirada-body", + + # ============================================================ + # modules/nakui/ — ERP matemático (categórico) + # ============================================================ + "crates/modules/nakui/core", + + # ============================================================ + # modules/chasqui/ — Explorador semántico de nómadas (ex-nouser, ex-akasha) + # ============================================================ + "crates/modules/chasqui/card", + "crates/modules/chasqui/core", + "crates/modules/chasqui/nous", + "crates/modules/chasqui/nous-mock", + "crates/modules/chasqui/nous-real", + + # ============================================================ + # modules/shuma/ — Runtime de espacios aislados (era shipote) + # ============================================================ + "crates/modules/shuma/shuma-card", + "crates/modules/shuma/shuma-protocol", + "crates/modules/shuma/shuma-discern", + "crates/modules/shuma/shuma-core", + "crates/modules/shuma/shuma-intent", + "crates/modules/shuma/shuma-line", + "crates/modules/shuma/shuma-sysmon", + "crates/modules/shuma/shuma-session", + "crates/modules/shuma/shuma-exec", + "crates/modules/shuma/shuma-infer", + "crates/modules/shuma/shuma-shell-render", + + # ============================================================ + # modules/dominium/ — Simulador psicológico de campo medio + # ============================================================ + "crates/modules/dominium/dominium-core", + "crates/modules/dominium/dominium-physics", + "crates/modules/dominium/dominium-iso", + "crates/modules/dominium/dominium-render-plan", + "crates/modules/dominium/dominium-canvas-gpui", + + # ============================================================ + # modules/gioser/ — Landing WASM (chacana + 4 elementos) + # ============================================================ + "crates/modules/gioser/gioser-geom", + "crates/modules/gioser/gioser-physics", + "crates/modules/gioser/gioser-palette", + "crates/modules/gioser/gioser-shaders", + "crates/modules/gioser/gioser-canvas-web", + "crates/modules/gioser/gioser-graph-web", + + # ========================================================== + # modules/fana/ — Writer DAG editor (absorbe pluma) + # ============================================================ + "crates/modules/fana/fana-core", + "crates/modules/fana/fana-graph", + "crates/modules/fana/fana-render-plan", + "crates/modules/fana/fana-editor-gpui", + "crates/modules/fana/fana-store", + "crates/modules/fana/fana-semantic", + "crates/modules/fana/fana-md", + "crates/modules/fana/fana-md-reader-web", + + # ============================================================ + # modules/revista/ — Deck horizontal swipe (Flutter PageView) + # ============================================================ + "crates/modules/revista/revista-core", + "crates/modules/revista/revista-web", + + # ============================================================ + # modules/barra/ — Taskbar agnóstica estilo Windows + # ============================================================ + "crates/modules/barra/barra-core", + "crates/modules/barra/barra-web", + + # ============================================================ + # modules/cosmobiologia/ — Estudio de astrología profesional + # ============================================================ + "crates/modules/cosmobiologia/cosmobiologia-card", + "crates/modules/cosmobiologia/cosmobiologia-model", + "crates/modules/cosmobiologia/cosmobiologia-store", + "crates/modules/cosmobiologia/cosmobiologia-render", + "crates/modules/cosmobiologia/cosmobiologia-corpus", + "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", + "crates/modules/cosmobiologia/cosmobiologia-web", + + # ============================================================ + # apps/ — Binarios finales que consumen el protocolo + # ============================================================ + "crates/apps/brahman-broker-explorer", + "crates/apps/brahman-demo", + "crates/apps/sandokan", + "crates/apps/nahual-shell", + "crates/apps/nahual-file-explorer", + "crates/apps/nahual-database-explorer", + "crates/apps/nahual-text-viewer", + "crates/apps/nahual-image-viewer", + "crates/apps/chasqui-explorer", + "crates/apps/nakui-explorer", + "crates/apps/nakui-ui", + "crates/apps/minga-explorer", + "crates/apps/shuma-daemon", + "crates/apps/shuma-cli", + "crates/apps/shuma-gateway", + "crates/apps/shuma-shell", + "crates/apps/gioser-web", + "crates/apps/pineal-demo", + "crates/apps/pineal-stream-demo", + "crates/apps/pineal-phosphor-demo", + "crates/apps/pineal-financial-demo", + "crates/apps/cosmobiologia", + "crates/apps/cosmobiologia-cli", + "crates/apps/cosmobiologia-server", + "crates/apps/dominium", + "crates/apps/fana", + "crates/apps/agorapura", + "crates/apps/badu", + "crates/apps/matilda", + "crates/apps/yachay", + "crates/apps/mirada", + "crates/apps/mirada-compositor", + "crates/apps/mirada-ctl", + "crates/apps/mirada-launcher", + "crates/apps/mirada-portal", + "crates/apps/mirada-greeter", + "crates/apps/charka", +] + +# renaser — el SO bare-metal SASOS. Vive en el mismo repo pero es su +# PROPIO workspace de Cargo: usa toolchain nightly, target +# `x86_64-unknown-none` y `panic = "abort"`, incompatibles con los +# perfiles globales de este workspace. Cargo lo trata como ajeno; los +# crates compartidos se referencian por `path` cruzando la frontera. +exclude = ["renaser"] + +[workspace.package] +version = "0.1.0" +edition = "2021" +rust-version = "1.80" +license = "MIT OR Apache-2.0" +authors = ["Brahman Contributors"] +publish = false +repository = "https://example.invalid/brahman" + +[workspace.dependencies] +# === Serialización === +serde = { version = "1", features = ["derive"] } +serde_json = "1" +serde-big-array = "0.5" +postcard = { version = "1", features = ["use-std"] } +toml = "0.8" +ron = "0.8" +bincode = "1" +base64 = "0.22" + +# === Errores === +thiserror = "2" # bump uniforme; arje (era 1) puede requerir ajustes menores +anyhow = "1" + +# === Async === +tokio = { version = "1", features = ["full"] } +tokio-util = { version = "0.7", features = ["compat"] } +async-trait = "0.1" +futures = "0.3" + +# === Observabilidad === +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } + +# === Linux primitives (arje) === +nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] } +libc = "0.2" + +# === IDs / Hash / Crypto === +ulid = { version = "1", features = ["serde"] } +uuid = { version = "1", features = ["v4"] } +sha2 = "0.10" +blake3 = "1.5" +ed25519-dalek = "2" +aes-gcm = "0.10" +argon2 = "0.5" +rand = "0.8" + +# === WASM (arje) === +# wasmi 1.0: unifica la versión con renaser (su kernel ya corre 1.0), para +# que el ABI WASM del host sea idéntico en Linux y en bare-metal. +wasmi = "1.0" +wat = "1" + +# === Storage / DB === +sled = "0.34" +rusqlite = { version = "0.31", features = ["bundled", "blob"] } + +# === P2P (minga) === +libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify"] } +libp2p-stream = "=0.4.0-alpha" +libp2p-allow-block-list = "0.6" + +# === SSH (brahman-ssh-multiplex, sandokan RemoteEngine, matilda) === +russh = "0.54" + +# === Math determinista cross-platform (dominium) === +libm = "0.2" + +# === Code parsing (minga) === +tree-sitter = "0.24" +tree-sitter-rust = "0.23" +tree-sitter-python = "0.23" +tree-sitter-typescript = "0.23" +tree-sitter-javascript = "0.23" +tree-sitter-go = "0.23" + +# === FS notify === +notify = "6.1" + +# === FUSE (minga-vfs) === +# default-features = false: prescinde de pkg-config/libfuse-dev en build. +# El montaje pasa a ser Rust puro (vía el helper `fusermount3` en runtime). +fuser = { version = "0.15", default-features = false } + +# === CLI / auth (minga) === +clap = { version = "4", features = ["derive"] } +rpassword = "7" + +# === PAM (brahman-auth) === +pam = "0.8" + +# === D-Bus (arje compat) === +zbus = { version = "4", default-features = false, features = ["tokio"] } + +# === Tests === +tempfile = "3" + +# === GPUI (nahual) === +gpui = "0.2" + +# === Filesystem helpers === +directories = "5" + +# === WASM web (gioser) === +wasm-bindgen = "0.2" +wasm-bindgen-futures = "0.4" +js-sys = "0.3" +web-sys = "0.3" +glam = "0.30" + +# === Markdown (pluma) === +pulldown-cmark = { version = "0.12", default-features = false, features = ["html"] } + +# ============================================================ +# Intra-workspace deps de nahual (referenciadas por workspace = true) +# ============================================================ +nahual-core = { path = "crates/modules/nahual/libs/core" } +nahual-theme = { path = "crates/modules/nahual/libs/theme" } +nahual-bus = { path = "crates/modules/nahual/libs/bus" } +nahual-provider-fs = { path = "crates/modules/nahual/libs/providers/fs" } +nahual-provider-sqlite = { path = "crates/modules/nahual/libs/providers/sqlite" } +nahual-widget-tree = { path = "crates/modules/nahual/widgets/tree" } +nahual-widget-container-core = { path = "crates/modules/nahual/widgets/container_core" } +nahual-widget-splitter = { path = "crates/modules/nahual/widgets/splitter" } +nahual-widget-tabs = { path = "crates/modules/nahual/widgets/tabs" } +nahual-widget-tiled = { path = "crates/modules/nahual/widgets/tiled" } +nahual-widget-text-input = { path = "crates/modules/nahual/widgets/text_input" } +nahual-file-explorer = { path = "crates/apps/nahual-file-explorer" } +nahual-database-explorer = { path = "crates/apps/nahual-database-explorer" } +nahual-text-viewer = { path = "crates/apps/nahual-text-viewer" } +nahual-image-viewer = { path = "crates/apps/nahual-image-viewer" } + +# ============================================================ +# Intra-workspace deps de pineal (módulo de gráficos) +# ============================================================ +pineal-core = { path = "crates/modules/pineal/core" } +pineal-render = { path = "crates/modules/pineal/render" } +pineal-cartesian = { path = "crates/modules/pineal/cartesian" } +pineal-stream = { path = "crates/modules/pineal/stream" } +pineal-mesh = { path = "crates/modules/pineal/mesh" } +pineal-financial = { path = "crates/modules/pineal/financial" } +pineal-polar = { path = "crates/modules/pineal/polar" } +pineal-heatmap = { path = "crates/modules/pineal/heatmap" } +pineal-treemap = { path = "crates/modules/pineal/treemap" } +pineal-flow = { path = "crates/modules/pineal/flow" } +pineal-phosphor = { path = "crates/modules/pineal/phosphor" } +pineal-export = { path = "crates/modules/pineal/export" } +pineal = { path = "crates/modules/pineal/umbrella" } + +[profile.release] +lto = "thin" +codegen-units = 1 +strip = "symbols" +panic = "abort" + +[profile.dev] +opt-level = 0 +# `line-tables-only` mantiene stack traces con archivo:línea correctos +# pero descarta el resto de symbols. Reduce target/ ~40% sin sacrificar +# debugging real para nuestro flujo (no usamos gdb sobre estos crates). +debug = "line-tables-only" +split-debuginfo = "unpacked" +incremental = true +# Más codegen-units = más paralelismo + builds incrementales más chicas +# (cada cambio re-compila menos). Default es 256 en dev pero lo +# anclamos para evitar regresiones. +codegen-units = 256 + +# Override puntual para deps grandes que NO debuggeamos: gpui, ort, +# fastembed, tokenizers, image. Subir opt-level acá hace que sus libs +# pesen menos en target/ (símbolos descartados durante la build). +[profile.dev.package."*"] +opt-level = 0 +debug = "line-tables-only" + +[profile.dev.package.gpui] +opt-level = 1 +debug = false + +[profile.dev.package.ort] +opt-level = 1 +debug = false + +[profile.dev.package.fastembed] +opt-level = 1 +debug = false + +[profile.dev.package.tokenizers] +opt-level = 1 +debug = false + +[profile.dev.package.image] +opt-level = 1 +debug = false diff --git a/crates/apps/gioser-web/Cargo.toml b/crates/apps/gioser-web/Cargo.toml index d537ae2..c9d0cf6 100644 --- a/crates/apps/gioser-web/Cargo.toml +++ b/crates/apps/gioser-web/Cargo.toml @@ -14,7 +14,6 @@ gioser-canvas-web = { path = "../../modules/gioser/gioser-canvas-web" } fana-md-reader-web = { path = "../../modules/fana/fana-md-reader-web" } revista-web = { path = "../../modules/revista/revista-web" } barra-web = { path = "../../modules/barra/barra-web" } -gioser-graph-web = { path = "../../modules/gioser/gioser-graph-web" } wasm-bindgen.workspace = true wasm-bindgen-futures.workspace = true js-sys.workspace = true diff --git a/crates/apps/gioser-web/cytoscape-graph.js b/crates/apps/gioser-web/cytoscape-graph.js new file mode 100644 index 0000000..9b17de0 --- /dev/null +++ b/crates/apps/gioser-web/cytoscape-graph.js @@ -0,0 +1,258 @@ +/** + * gioser-graph.js — Grafo semántico con Cytoscape.js + * + * Se monta automáticamente cuando hay un contenedor + * en el DOM con atributo data-api-url. + * + * Efecto "wineandcheesemap": clic en nodo → centra + desvanece resto. + * Doble clic → callback de navegación. + */ + +(function () { + 'use strict'; + + const COLORS = { + logos: '#d0dbff', + aire: '#d0dbff', + nomos: '#f59056', + fuego: '#f59056', + kay: '#d49873', + tierra: '#d49873', + uku: '#6cd0f3', + agua: '#6cd0f3', + }; + + function caminoColor(c) { return COLORS[c] || '#888'; } + + function initGraph(container) { + const apiUrl = container.getAttribute('data-api-url') || 'https://api.gioser.net'; + const onNavigate = window.__gioserGraphNavigate || null; + + fetch(`${apiUrl}/graph?limit=500`) + .then(r => r.json()) + .then(data => { + if (!data.nodes || data.nodes.length === 0) return; + + // Construir elementos Cytoscape + const elements = []; + + for (const n of data.nodes) { + const d = n.data; + if (!d.doc_id) continue; + const color = caminoColor(d.camino); + elements.push({ + data: { + id: d.id, + doc_id: d.doc_id, + label: d.name.length > 22 ? d.name.slice(0, 20) + '…' : d.name, + camino: d.camino.toUpperCase(), + color, + }, + }); + } + + const nodeIds = new Set(elements.map(e => e.data.id)); + + for (const e of data.edges) { + const ed = e.data; + if (!nodeIds.has(ed.source) || !nodeIds.has(ed.target)) continue; + const weight = ed.weight || 0.7; + elements.push({ + data: { + id: ed.id, + source: ed.source, + target: ed.target, + weight, + }, + }); + } + + const cy = cytoscape({ + container, + elements, + style: [ + // Aristas: grosor según peso + { + selector: 'edge', + style: { + 'width': 'mapData(weight, 0.5, 1.0, 0.5, 4)', + 'line-color': 'rgba(255,255,255,0.18)', + 'target-arrow-color': 'rgba(255,255,255,0.12)', + 'curve-style': 'haystack', + 'haystack-radius': 0, + 'opacity': 0.6, + }, + }, + // Nodo: rectángulo redondeado + { + selector: 'node', + style: { + 'shape': 'round-rectangle', + 'width': 130, + 'height': 32, + 'background-color': 'data(color)', + 'background-opacity': 0.20, + 'border-color': 'data(color)', + 'border-width': 1.5, + 'border-opacity': 0.7, + 'color': 'rgba(232,234,245,0.90)', + 'font-size': 11, + 'font-family': 'Inter, system-ui, sans-serif', + 'font-weight': 500, + 'text-valign': 'center', + 'text-halign': 'center', + 'label': 'data(label)', + 'min-zoomed-font-size': 8, + 'shadow-blur': 6, + 'shadow-color': 'rgba(0,0,0,0.4)', + 'shadow-offset-x': 0, + 'shadow-offset-y': 2, + 'shadow-opacity': 0.5, + 'transition-property': 'background-opacity, border-opacity, shadow-blur', + 'transition-duration': 200, + }, + }, + // Sublabel del camino — lo ponemos como label secundario + // Cytoscape no soporta dos labels nativamente; usamos un + // badge de esquina con la data (camino) en el tooltip. + ], + layout: { + name: 'cose', + animate: false, + idealEdgeLength: 160, + nodeRepulsion: 8000, + gravity: 0.25, + numIter: 1000, + fit: true, + padding: 30, + }, + }); + + // Tooltip con preview al hover + const tips = {}; + for (const n of data.nodes) { + const d = n.data; + if (d.doc_id) tips[d.id] = d; + } + + let tooltipEl = container.querySelector('.cy-tooltip'); + if (!tooltipEl) { + tooltipEl = document.createElement('div'); + tooltipEl.className = 'cy-tooltip'; + tooltipEl.style.cssText = + 'position:absolute;z-index:10;pointer-events:none;' + + 'background:rgba(6,5,13,0.88);color:#e8eaf5;' + + 'padding:6px 10px;border-radius:8px;font-size:11px;' + + 'font-family:Inter,sans-serif;line-height:1.4;' + + 'border:1px solid rgba(255,255,255,0.10);' + + 'backdrop-filter:blur(8px);max-width:240px;' + + 'opacity:0;transition:opacity 180ms ease;'; + container.style.position = 'relative'; + container.appendChild(tooltipEl); + } + + cy.on('mouseover', 'node', (ev) => { + const node = ev.target; + node.style({ 'background-opacity': 0.45, 'border-opacity': 1, 'shadow-blur': 12 }); + const tipData = tips[node.id()]; + if (tipData && tipData.preview) { + tooltipEl.textContent = tipData.preview.slice(0, 120); + tooltipEl.style.opacity = '1'; + } + }); + + cy.on('mouseout', 'node', (ev) => { + const node = ev.target; + node.style({ 'background-opacity': 0.20, 'border-opacity': 0.7, 'shadow-blur': 6 }); + tooltipEl.style.opacity = '0'; + }); + + cy.on('mousemove', 'node', (ev) => { + const pos = ev.renderedPosition || { x: 0, y: 0 }; + tooltipEl.style.left = (pos.x + 14) + 'px'; + tooltipEl.style.top = (pos.y - 10) + 'px'; + }); + + // Click: centrar nodo + desvanecer resto (wineandcheesemap effect) + cy.on('click', 'node', (ev) => { + const node = ev.target; + // Animar vecindario: opacidad plena en nodo + vecinos + cy.nodes().not(node).not(node.neighborhood()).forEach(n => { + n.style({ 'opacity': 0.15 }); + }); + cy.edges().forEach(e => { + e.style({ 'opacity': 0.08 }); + }); + // Vecinos directos opacidad normal + node.neighborhood().nodes().forEach(n => { + n.style({ 'opacity': 1 }); + }); + node.style({ 'opacity': 1 }); + // Aristas del vecindario visibles + node.connectedEdges().forEach(e => { + e.style({ 'opacity': 0.7 }); + }); + // Centrar + cy.animate({ + center: { eles: node }, + zoom: 2.2, + duration: 400, + }); + }); + + // Doble clic: navegar a la página + cy.on('dblclick', 'node', (ev) => { + const docId = ev.target.data('doc_id'); + if (onNavigate && docId) onNavigate(docId); + }); + + // Clic en fondo: restaurar todo + cy.on('click', (ev) => { + if (ev.target === cy) { + cy.nodes().forEach(n => n.style({ 'opacity': 1 })); + cy.edges().forEach(e => e.style({ 'opacity': 0.6 })); + cy.animate({ zoom: 1, pan: { x: 0, y: 0 }, duration: 300 }); + } + }); + + // Resize al cambiar tamaño del contenedor + const ro = new ResizeObserver(() => cy.resize().fit(30)); + ro.observe(container); + + // Scroll del contenedor padre: pausar interacción si no visible + container.__cy = cy; + }) + .catch(err => { + console.warn('gioser-graph: error fetching graph:', err); + container.innerHTML = + '
' + + '· grafo no disponible ·
'; + }); + } + + // Auto-inicializar todos los en la página + function boot() { + const els = document.querySelectorAll('gioser-graph'); + for (const el of els) { + // Esperar a que Cytoscape esté cargado + if (typeof cytoscape !== 'undefined') { + initGraph(el); + } else { + // Si el CDN no ha cargado, esperar + const check = setInterval(() => { + if (typeof cytoscape !== 'undefined') { + clearInterval(check); + initGraph(el); + } + }, 100); + } + } + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', boot); + } else { + boot(); + } +})(); diff --git a/crates/apps/gioser-web/index.html b/crates/apps/gioser-web/index.html index 9254583..f06dcff 100644 --- a/crates/apps/gioser-web/index.html +++ b/crates/apps/gioser-web/index.html @@ -99,6 +99,9 @@ + + + + + + diff --git a/crates/apps/gioser-web/pkg/gioser_web.d.ts b/crates/apps/gioser-web/pkg/gioser_web.d.ts index d5a7121..0d7ac15 100644 --- a/crates/apps/gioser-web/pkg/gioser_web.d.ts +++ b/crates/apps/gioser-web/pkg/gioser_web.d.ts @@ -8,14 +8,13 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl export interface InitOutput { readonly memory: WebAssembly.Memory; readonly boot: () => void; - readonly __wasm_bindgen_func_elem_218: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_1398: (a: number, b: number, c: number, d: number) => void; - readonly __wasm_bindgen_func_elem_217: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_217_3: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_494: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_593: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_289: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_288: (a: number, b: number) => void; + readonly __wasm_bindgen_func_elem_178: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_1209: (a: number, b: number, c: number, d: number) => void; + readonly __wasm_bindgen_func_elem_177: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_177_3: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_446: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_223: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_224: (a: number, b: number) => void; readonly __wbindgen_export: (a: number, b: number) => number; readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_export3: (a: number) => void; diff --git a/crates/apps/gioser-web/pkg/gioser_web.js b/crates/apps/gioser-web/pkg/gioser_web.js index 5a39956..cde2130 100644 --- a/crates/apps/gioser-web/pkg/gioser_web.js +++ b/crates/apps/gioser-web/pkg/gioser_web.js @@ -125,10 +125,6 @@ function __wbg_get_imports() { const ret = getObject(arg0).createBuffer(); return isLikeNone(ret) ? 0 : addHeapObject(ret); }, - __wbg_createElementNS_10d5e4db26ea11c7: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { - const ret = getObject(arg0).createElementNS(arg1 === 0 ? undefined : getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); - return addHeapObject(ret); - }, arguments); }, __wbg_createElement_d10771800cfb6e7e: function() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).createElement(getStringFromWasm0(arg1, arg2)); return addHeapObject(ret); @@ -152,6 +148,10 @@ function __wbg_get_imports() { __wbg_disable_df908054ffee7971: function(arg0, arg1) { getObject(arg0).disable(arg1 >>> 0); }, + __wbg_dispatchEvent_29c919cea8d37995: function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).dispatchEvent(getObject(arg1)); + return ret; + }, arguments); }, __wbg_document_3540635616a18455: function(arg0) { const ret = getObject(arg0).document; return isLikeNone(ret) ? 0 : addHeapObject(ret); @@ -297,56 +297,6 @@ function __wbg_get_imports() { const ret = result; return ret; }, - __wbg_instanceof_SvgElement_46537942d3e1376d: function(arg0) { - let result; - try { - result = getObject(arg0) instanceof SVGElement; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }, - __wbg_instanceof_SvgLineElement_d8200164030c234d: function(arg0) { - let result; - try { - result = getObject(arg0) instanceof SVGLineElement; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }, - __wbg_instanceof_SvgRectElement_f5a06e74af743100: function(arg0) { - let result; - try { - result = getObject(arg0) instanceof SVGRectElement; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }, - __wbg_instanceof_SvgTextElement_06345cd3cc71c951: function(arg0) { - let result; - try { - result = getObject(arg0) instanceof SVGTextElement; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }, - __wbg_instanceof_SvgsvgElement_767ee4029321b850: function(arg0) { - let result; - try { - result = getObject(arg0) instanceof SVGSVGElement; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }, __wbg_instanceof_WebGl2RenderingContext_419098f7bf88e87e: function(arg0) { let result; try { @@ -393,6 +343,10 @@ function __wbg_get_imports() { const ret = new Object(); return addHeapObject(ret); }, + __wbg_new_de9891da0bd35168: function() { return handleError(function (arg0, arg1) { + const ret = new Event(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments); }, __wbg_ok_556a55299dd238ba: function(arg0) { const ret = getObject(arg0).ok; return ret; @@ -461,9 +415,6 @@ function __wbg_get_imports() { __wbg_set_passive_2233318ae781e44d: function(arg0, arg1) { getObject(arg0).passive = arg1 !== 0; }, - __wbg_set_textContent_9c5d65d703443b6d: function(arg0, arg1, arg2) { - getObject(arg0).textContent = arg1 === 0 ? undefined : getStringFromWasm0(arg1, arg2); - }, __wbg_set_width_25112eb6bf1148df: function(arg0, arg1) { getObject(arg0).width = arg1 >>> 0; }, @@ -497,10 +448,6 @@ function __wbg_get_imports() { const ret = getObject(arg0).style; return addHeapObject(ret); }, - __wbg_style_e34c1197b6088769: function(arg0) { - const ret = getObject(arg0).style; - return addHeapObject(ret); - }, __wbg_target_84e05e84ffc12989: function(arg0) { const ret = getObject(arg0).target; return isLikeNone(ret) ? 0 : addHeapObject(ret); @@ -560,51 +507,46 @@ function __wbg_get_imports() { return ret; }, __wbindgen_cast_0000000000000001: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 176, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1398); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 130, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1209); return addHeapObject(ret); }, __wbindgen_cast_0000000000000002: function(arg0, arg1) { // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [F64], shim_idx: 2, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_218); + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_178); return addHeapObject(ret); }, __wbindgen_cast_0000000000000003: function(arg0, arg1) { // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 6, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_217); + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_177); return addHeapObject(ret); }, __wbindgen_cast_0000000000000004: function(arg0, arg1) { // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("KeyboardEvent")], shim_idx: 6, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_217_3); + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_177_3); return addHeapObject(ret); }, __wbindgen_cast_0000000000000005: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 137, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_494); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 124, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_446); return addHeapObject(ret); }, __wbindgen_cast_0000000000000006: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 170, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_593); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 53, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_223); return addHeapObject(ret); }, __wbindgen_cast_0000000000000007: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 67, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_289); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 55, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_224); return addHeapObject(ret); }, __wbindgen_cast_0000000000000008: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 69, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_288); - return addHeapObject(ret); - }, - __wbindgen_cast_0000000000000009: function(arg0, arg1) { // Cast intrinsic for `Ref(Slice(F32)) -> NamedExternref("Float32Array")`. const ret = getArrayF32FromWasm0(arg0, arg1); return addHeapObject(ret); }, - __wbindgen_cast_000000000000000a: function(arg0, arg1) { + __wbindgen_cast_0000000000000009: function(arg0, arg1) { // Cast intrinsic for `Ref(String) -> Externref`. const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); @@ -623,34 +565,30 @@ function __wbg_get_imports() { }; } -function __wasm_bindgen_func_elem_288(arg0, arg1) { - wasm.__wasm_bindgen_func_elem_288(arg0, arg1); +function __wasm_bindgen_func_elem_224(arg0, arg1) { + wasm.__wasm_bindgen_func_elem_224(arg0, arg1); } -function __wasm_bindgen_func_elem_217(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_217(arg0, arg1, addHeapObject(arg2)); +function __wasm_bindgen_func_elem_177(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_177(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_217_3(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_217_3(arg0, arg1, addHeapObject(arg2)); +function __wasm_bindgen_func_elem_177_3(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_177_3(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_494(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_494(arg0, arg1, addHeapObject(arg2)); +function __wasm_bindgen_func_elem_446(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_446(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_593(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_593(arg0, arg1, addHeapObject(arg2)); +function __wasm_bindgen_func_elem_223(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_223(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_289(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_289(arg0, arg1, addHeapObject(arg2)); -} - -function __wasm_bindgen_func_elem_1398(arg0, arg1, arg2) { +function __wasm_bindgen_func_elem_1209(arg0, arg1, arg2) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.__wasm_bindgen_func_elem_1398(retptr, arg0, arg1, addHeapObject(arg2)); + wasm.__wasm_bindgen_func_elem_1209(retptr, arg0, arg1, addHeapObject(arg2)); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); if (r1) { @@ -661,8 +599,8 @@ function __wasm_bindgen_func_elem_1398(arg0, arg1, arg2) { } } -function __wasm_bindgen_func_elem_218(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_218(arg0, arg1, arg2); +function __wasm_bindgen_func_elem_178(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_178(arg0, arg1, arg2); } function addHeapObject(obj) { diff --git a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm index 49ad85b7b51d75efcf5a83d2fdd0ca29fd85936b..975526ba532e1a11e59a7a825e826c55a07df2ac 100644 GIT binary patch delta 105944 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%0A24!H53FYq+1|y(EWxOY*0v8YXO4g+ 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 diff --git a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm.d.ts b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm.d.ts index af910e6..308d922 100644 --- a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm.d.ts +++ b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm.d.ts @@ -2,14 +2,13 @@ /* eslint-disable */ export const memory: WebAssembly.Memory; export const boot: () => void; -export const __wasm_bindgen_func_elem_218: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_1398: (a: number, b: number, c: number, d: number) => void; -export const __wasm_bindgen_func_elem_217: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_217_3: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_494: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_593: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_289: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_288: (a: number, b: number) => void; +export const __wasm_bindgen_func_elem_178: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_1209: (a: number, b: number, c: number, d: number) => void; +export const __wasm_bindgen_func_elem_177: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_177_3: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_446: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_223: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_224: (a: number, b: number) => void; export const __wbindgen_export: (a: number, b: number) => number; export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number; export const __wbindgen_export3: (a: number) => void; diff --git a/crates/apps/gioser-web/src/lib.rs b/crates/apps/gioser-web/src/lib.rs index e9651f2..afce311 100644 --- a/crates/apps/gioser-web/src/lib.rs +++ b/crates/apps/gioser-web/src/lib.rs @@ -21,7 +21,6 @@ use std::rc::Rc; use barra_web::{Task, TaskList}; use gioser_canvas_web::{tips, Renderer}; -use gioser_graph_web::GraphWidget; use fana_md_reader_web::Reader; use revista_web::Deck; use wasm_bindgen::prelude::*; @@ -282,45 +281,36 @@ impl AppState { if let Err(e) = reader.open_url(&url_owned, &element_owned).await { web_sys::console::warn_1(&e); } - // Después de cargar el md, montar el grafo debajo + // Montar contenedor del grafo (Cytoscape.js) debajo del md let graph_container_id = format!("graph-{}-container", element_owned); - // Si ya existe, no lo duplicamos if document_clone.get_element_by_id(&graph_container_id).is_some() { return; } - // Crear contenedor debajo del content let wrapper: HtmlElement = document_clone - .create_element("div") + .create_element("gioser-graph") .ok() .and_then(|e| e.dyn_into::().ok()) - .unwrap(); + .unwrap_or_else(|| { + // fallback: div normal + let d: HtmlElement = document_clone + .create_element("div") + .ok() + .and_then(|e| e.dyn_into().ok()) + .unwrap(); + d + }); wrapper.set_id(&graph_container_id); - wrapper.style().set_property("margin-top", "1rem").ok(); + wrapper.set_attribute("data-api-url", "https://api.gioser.net").ok(); + wrapper.style().set_property("margin-top", "1.5rem").ok(); wrapper.style().set_property("padding-top", "1rem").ok(); - wrapper.style().set_property("border-top", "1px solid rgba(255,255,255,0.08)").ok(); - // Label - let label: HtmlElement = document_clone - .create_element("div") - .ok() - .and_then(|e| e.dyn_into::().ok()) - .unwrap(); - label.set_inner_html( - " - · grafo semántico · - " - ); - wrapper.append_child(&label).ok(); + wrapper.style().set_property("border-top", "1px solid rgba(255,255,255,0.06)").ok(); + wrapper.style().set_property("min-height", "220px").ok(); content_clone.append_child(&wrapper).ok(); - // Cargar el grafo - let mut graph = GraphWidget::new( - wrapper, - "https://api.gioser.net", - None, // callback simplificado por ahora - ); - if let Err(e) = graph.load().await { - web_sys::console::warn_1(&format!("grafo: error al cargar: {:?}", e).into()); - return; + // Disparar el script de Cytoscape si ya está en la página + if let Some(win) = web_sys::window() { + let _ = win.dispatch_event( + &web_sys::Event::new("gioser-graph-ready").unwrap() + ); } }); }