chore: actualizar git-deps a tawasuyu/ (auto-migración)
1# Cargo.toml raíz STANDALONE de nahual — visores open-with sobre Llimphi.
2# Front-door limpio: solo el código de nahual; lo fundacional (card, chasqui,
3# minga, media, wawa-explorer, shuma-discern, hojas shared) se consume por
4# git-dep del monorepo gioser.git, y Llimphi de su repo. Cero vendoring.
5[workspace]
6resolver = "2"
7members = [
8 "02_ruway/nahual/libs/meta-runtime",
9 "02_ruway/nahual/libs/meta-schema",
10 "02_ruway/nahual/nahual-archive-viewer-llimphi",
11 "02_ruway/nahual/nahual-audio-viewer-llimphi",
12 "02_ruway/nahual/nahual-card-viewer-llimphi",
13 "02_ruway/nahual/nahual-file-explorer-llimphi",
14 "02_ruway/nahual/nahual-font-viewer-llimphi",
15 "02_ruway/nahual/nahual-gallery-llimphi",
16 "02_ruway/nahual/nahual-geo-core",
17 "02_ruway/nahual/nahual-hex-viewer-llimphi",
18 "02_ruway/nahual/nahual-image-viewer-llimphi",
19 "02_ruway/nahual/nahual-map-viewer-llimphi",
20 "02_ruway/nahual/nahual-markdown-viewer-llimphi",
21 "02_ruway/nahual/nahual-shell-llimphi",
22 "02_ruway/nahual/nahual-source-core",
23 "02_ruway/nahual/nahual-svg-viewer-llimphi",
24 "02_ruway/nahual/nahual-table-viewer-llimphi",
25 "02_ruway/nahual/nahual-text-viewer-llimphi",
26 "02_ruway/nahual/nahual-thumb-core",
27 "02_ruway/nahual/nahual-tree-viewer-llimphi",
28 "02_ruway/nahual/nahual-video-viewer-llimphi",
29 "02_ruway/nahual/nahual-viewer-core",
30]
31
32[workspace.package]
33version = "0.1.0"
34edition = "2021"
35rust-version = "1.80"
36license = "MIT"
37authors = ["Sergio <gerencia@jlsoltech.com>"]
38publish = false
39repository = "https://git.gioser.net/tawasuyu/nahual"
40
41[workspace.dependencies]
42
43# === Registro de apps / menú global ===
44app-bus = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
45# === Serialización ===
46serde = { version = "1", features = ["derive"] }
47serde_json = "1"
48lsp-types = "0.97"
49serde-big-array = "0.5"
50postcard = { version = "1", features = ["use-std"] }
51toml = "0.8"
52ron = "0.8"
53bincode = "1"
54base64 = "0.22"
55
56# === Errores ===
57thiserror = "2" # bump uniforme; arje (era 1) puede requerir ajustes menores
58anyhow = "1"
59
60# === Async ===
61tokio = { version = "1", features = ["full"] }
62tokio-util = { version = "0.7", features = ["compat"] }
63async-trait = "0.1"
64futures = "0.3"
65
66# === Observabilidad ===
67tracing = "0.1"
68tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
69
70# === Linux primitives (arje) ===
71nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
72libc = "0.2"
73
74# === IDs / Hash / Crypto ===
75ulid = { version = "1", features = ["serde"] }
76uuid = { version = "1", features = ["v4", "rng-getrandom"] }
77sha2 = "0.10"
78blake3 = "1.5"
79ed25519-dalek = "2"
80aes-gcm = "0.10"
81chacha20poly1305 = "0.10"
82argon2 = "0.5"
83rand = "0.8"
84
85# === WASM (arje) ===
86# wasmi 1.0: unifica la versión con renaser (su kernel ya corre 1.0), para
87# que el ABI WASM del host sea idéntico en Linux y en bare-metal.
88wasmi = "1.0"
89wat = "1"
90
91# === Storage / DB ===
92sled = "0.34"
93rusqlite = { version = "0.31", features = ["bundled", "blob"] }
94
95# === Ingesta de documentos (iniy-ingest: PDF / EPUB) ===
96pdf-extract = "0.7"
97epub = "2.1"
98
99# === Bulk import Wikipedia (iniy-wiki dump) ===
100bzip2 = "0.4"
101
102# === Compresión (minga multi-bundle) ===
103zstd = "0.13"
104
105# === HTTP server (iniy-server) ===
106axum = "0.7"
107tower = "0.5"
108
109# === ANN sobre embeddings (iniy nli --ann) ===
110instant-distance = "0.6"
111
112# === P2P (minga) ===
113libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify", "relay", "dcutr", "autonat", "mdns"] }
114libp2p-stream = "=0.4.0-alpha"
115libp2p-allow-block-list = "0.6"
116
117# === SSH (ssh, sandokan RemoteEngine, matilda) ===
118russh = "0.54"
119
120# === Math determinista cross-platform (dominium) ===
121libm = "0.2"
122
123# === SMF (takiy-midi) ===
124# midly: parser/emitter SMF tipo 0/1, no_std-friendly, sin allocs en hot path.
125midly = "0.5"
126
127# === Code parsing (minga) ===
128arboard = "3"
129ropey = "1.6"
130tree-sitter = "0.24"
131tree-sitter-rust = "0.23"
132tree-sitter-python = "0.23"
133tree-sitter-typescript = "0.23"
134tree-sitter-javascript = "0.23"
135tree-sitter-go = "0.23"
136
137# === FS notify ===
138notify = "6.1"
139
140# === Grafos (iniy, nakui-core ya lo usa directo en 0.6) ===
141petgraph = "0.6"
142
143# === Image decoding (nahual-image-viewer-llimphi) ===
144# default-features = false: nos quedamos con PNG + JPEG + WebP (lossless).
145# tullpu-render exporta a las tres; AVIF/TIFF/… los habilitamos si una app
146# los pide específicamente.
147image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }
148
149# === FUSE (minga-vfs) ===
150# default-features = false: prescinde de pkg-config/libfuse-dev en build.
151# El montaje pasa a ser Rust puro (vía el helper `fusermount3` en runtime).
152fuser = { version = "0.15", default-features = false }
153
154# === CLI / auth (minga) ===
155clap = { version = "4", features = ["derive"] }
156rpassword = "7"
157
158# === PAM (auth-core) ===
159pam = "0.8"
160
161# === D-Bus (arje compat) ===
162zbus = { version = "4", default-features = false, features = ["tokio"] }
163
164# === Tests ===
165tempfile = "3"
166
167# === Llimphi (motor gráfico soberano) ===
168# wgpu sobre Vulkan/Metal/DX12, winit para ventana en dev Linux.
169# raw-window-handle 0.6 alinea winit 0.30 con wgpu 24.
170# vello 0.5 = rasterizador vectorial sobre wgpu 24.
171# taffy 0.9 = motor Flexbox/Grid puro Rust (ya pulled por transitivos, lo alineamos).
172# parley 0.2 = shaping/layout de texto compatible con peniko 0.4 (que vello 0.5 expone).
173wgpu = "24"
174winit = "0.30"
175raw-window-handle = "0.6"
176pollster = "0.4"
177vello = "0.5"
178taffy = "0.9"
179# parley = shaping completo (bidi, ligatures, fallback CJK/emoji vía fontique, line break).
180parley = "0.4"
181# Bucle Elm (input→update→view→layout→raster→present). Lo consumen las apps.
182llimphi-ui = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
183# Paleta semántica compartida por las apps y los widgets.
184llimphi-theme = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
185# Tweens y helpers de animación sobre el bucle Elm.
186llimphi-motion = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
187# Iconos vectoriales (BezPath en grid 24×24) compartidos por todas las apps.
188llimphi-icons = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
189# Widgets reusables sobre llimphi-ui — uno por crate.
190llimphi-widget-app-header = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
191llimphi-widget-banner = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
192llimphi-widget-button = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
193llimphi-widget-card = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
194llimphi-clipboard = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
195llimphi-widget-context-menu = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
196llimphi-widget-edit-menu = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
197llimphi-widget-menubar = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
198llimphi-widget-list = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
199llimphi-widget-grid = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
200llimphi-widget-slider = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
201llimphi-widget-scroll = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
202llimphi-widget-splitter = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
203llimphi-widget-stat-card = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
204llimphi-widget-tabs = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
205llimphi-module-command-palette = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
206llimphi-module-diff-viewer = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
207llimphi-module-fif = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
208llimphi-module-file-picker = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
209llimphi-module-bookmarks = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
210llimphi-module-mini-map = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
211llimphi-module-shuma-term = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
212llimphi-module-symbol-outline = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
213llimphi-plugin-host = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
214llimphi-widget-theme-switcher = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
215llimphi-widget-text-area = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
216llimphi-widget-text-editor-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
217llimphi-widget-text-editor = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
218llimphi-widget-text-editor-lsp = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
219llimphi-widget-text-input = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
220llimphi-widget-tiled = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
221llimphi-widget-nodegraph = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
222llimphi-widget-tree = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
223llimphi-widget-navigator = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
224# Sello vectorial wawa (rombo + W implícita + Merkle Core).
225llimphi-widget-wawa-mark = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
226# Widgets de elegancia transversal (tooltip, spinner, progress, toast,
227# modal, empty, status-bar, shortcuts-help, splash).
228llimphi-widget-tooltip = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
229llimphi-widget-spinner = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
230llimphi-widget-progress = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
231llimphi-widget-toast = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
232llimphi-widget-modal = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
233llimphi-widget-empty = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
234llimphi-widget-status-bar = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
235llimphi-widget-shortcuts-help = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
236llimphi-widget-timeline = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
237llimphi-widget-splash = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
238# Controles de formulario y signaling (switch, segmented, breadcrumb,
239# badge, avatar, skeleton, field).
240llimphi-widget-switch = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
241llimphi-widget-segmented = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
242llimphi-widget-dock-rail = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
243llimphi-widget-breadcrumb = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
244llimphi-widget-badge = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
245llimphi-widget-avatar = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
246llimphi-widget-skeleton = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
247llimphi-widget-field = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
248# Firma visual transversal (gradient sutil + hairline accent).
249llimphi-widget-panel = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
250llimphi-widget-panes = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
251llimphi-workspace = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
252# Abstracción Selector — host (paths) + wawa (khipus).
253llimphi-module-selector = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
254
255# === Filesystem helpers ===
256directories = "5"
257
258# === Diff line-based (llimphi-module-diff-viewer) ===
259# `similar` es la crate de facto: implementa Myers + Patience + LCS,
260# expone `TextDiff` con ChangeTag por línea (Equal/Insert/Delete),
261# zero deps fuera de std. La 2.x es estable hace años.
262similar = "2"
263
264# === Fuzzy matching (shuma-history) ===
265# nucleo-matcher = mismo matcher que helix-editor: rápido, Unicode-correct,
266# bonus por prefijos, ranking estable. La versión 0.3 expone el API simple
267# que necesitamos (Matcher + Pattern + score).
268nucleo-matcher = "0.3"
269
270# === Transporte autenticado (shuma-link) ===
271# snow = framework Noise pure-rust. Lo usamos en modo Noise_XK (cliente
272# conoce la pubkey del servidor, server descubre la del cliente y la
273# valida contra una allowlist). ChaCha20-Poly1305 + X25519 + BLAKE2s.
274# La versión 0.9 viene pinneada por libp2p, así nos alineamos.
275snow = "0.9"
276hex = "0.4"
277
278# === PTY + emulador de terminal (shuma-exec, módulos REPL) ===
279# portable-pty aloja un PTY cross-platform; lo usamos para los
280# comandos TUI tipo vim/htop/less que necesitan un terminal de verdad.
281# vt100 parsea la secuencia de bytes que el PTY emite (ANSI + cursor
282# movement + erase + screen state) y mantiene un buffer de pantalla
283# renderizable como grid.
284portable-pty = "0.9"
285vt100 = "0.16"
286
287# === WASM web (gioser) ===
288wasm-bindgen = "0.2"
289wasm-bindgen-futures = "0.4"
290js-sys = "0.3"
291web-sys = "0.3"
292glam = "0.30"
293
294# === Markdown (pluma) ===
295pulldown-cmark = { version = "0.12", default-features = false, features = ["html"] }
296
297# === Archivos comprimidos (nahual archive viewer) ===
298# Sólo listamos el directorio central (nombres/tamaños); no descomprimimos,
299# por eso default-features=false alcanza para ZIP. Para tar.gz sí
300# descomprimimos en streaming con flate2 (ya declarado arriba), saltando
301# los datos de cada entrada — sólo leemos headers.
302zip = { version = "2.4", default-features = false }
303tar = { version = "0.4", default-features = false }
304
305# === Fuentes (nahual font viewer) ===
306# Parseo de TTF/OTF/TTC y extracción de contornos de glifo a paths.
307ttf-parser = "0.25"
308
309# ============================================================
310# Intra-workspace deps de nahual (referenciadas por workspace = true)
311# ============================================================
312nahual-text-viewer-llimphi = { path = "02_ruway/nahual/nahual-text-viewer-llimphi" }
313nahual-image-viewer-llimphi = { path = "02_ruway/nahual/nahual-image-viewer-llimphi" }
314nahual-thumb-core = { path = "02_ruway/nahual/nahual-thumb-core" }
315nahual-gallery-llimphi = { path = "02_ruway/nahual/nahual-gallery-llimphi" }
316nahual-video-viewer-llimphi = { path = "02_ruway/nahual/nahual-video-viewer-llimphi" }
317nahual-card-viewer-llimphi = { path = "02_ruway/nahual/nahual-card-viewer-llimphi" }
318nahual-audio-viewer-llimphi = { path = "02_ruway/nahual/nahual-audio-viewer-llimphi" }
319nahual-tree-viewer-llimphi = { path = "02_ruway/nahual/nahual-tree-viewer-llimphi" }
320nahual-hex-viewer-llimphi = { path = "02_ruway/nahual/nahual-hex-viewer-llimphi" }
321nahual-table-viewer-llimphi = { path = "02_ruway/nahual/nahual-table-viewer-llimphi" }
322nahual-markdown-viewer-llimphi = { path = "02_ruway/nahual/nahual-markdown-viewer-llimphi" }
323nahual-archive-viewer-llimphi = { path = "02_ruway/nahual/nahual-archive-viewer-llimphi" }
324nahual-font-viewer-llimphi = { path = "02_ruway/nahual/nahual-font-viewer-llimphi" }
325nahual-map-viewer-llimphi = { path = "02_ruway/nahual/nahual-map-viewer-llimphi" }
326nahual-geo-core = { path = "02_ruway/nahual/nahual-geo-core" }
327nahual-viewer-core = { path = "02_ruway/nahual/nahual-viewer-core" }
328nahual-file-explorer-llimphi = { path = "02_ruway/nahual/nahual-file-explorer-llimphi" }
329
330# ============================================================
331# Intra-workspace deps de pineal (módulo de gráficos)
332# ============================================================
333pineal-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
334pineal-render = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
335pineal-cartesian = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
336pineal-stream = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
337pineal-mesh = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
338pineal-financial = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
339pineal-polar = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
340pineal-heatmap = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
341pineal-treemap = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
342pineal-flow = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
343pineal-phosphor = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
344pineal-export = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
345pineal-hexbin = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
346pineal-contour = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
347pineal-bars = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
348pineal = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
349
350# ============================================================
351# Intra-workspace deps de iniy (laboratorio semántico de creencias)
352# ============================================================
353iniy-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
354iniy-ingest = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
355iniy-extract = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
356iniy-nli = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
357iniy-nli-llm = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
358iniy-graph = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
359iniy-store = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
360
361# === auto: declarados por crates internos faltantes ===
362cosmos-coords = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
363cosmos-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
364cosmos-ephemeris = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
365cosmos-time = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
366cosmos-wcs = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
367
368# === auto: externas de eternal ===
369celestial-eop-data = { version = "0.1"}
370approx = "0.5"
371byteorder = "1.5"
372cc = "1.0"
373chrono = "0.4"
374crc32fast = "1.4"
375criterion = "0.5"
376csv = "1.4"
377flate2 = "1.0"
378glob = "0.3"
379indicatif = "0.18"
380lz4_flex = "0.11"
381memmap2 = "0.9"
382mockito = "1.0"
383ndarray = "0.15"
384num-traits = "0.2"
385once_cell = "1.19"
386parking_lot = "0.12"
387png = "0.18"
388proptest = "1.4"
389quick-xml = "0.31"
390rayon = "1.8"
391regex = "1.11"
392reqwest = "0.12"
393tiff = "0.11"
394wide = "0.7"
395wiremock = "0.6"
396
397# === i18n (rimay-localize) ===
398fluent-bundle = "0.15"
399unic-langid = { version = "0.9", features = ["macros"] }
400sys-locale = "0.3"
401
402# === Servo (puriy-engine) ===
403# Crates publicados de Servo embebibles individualmente. html5ever/markup5ever
404# ya entran via ammonia→surrealdb→nakui, así que alineamos versión para no
405# duplicar el árbol. markup5ever_rcdom es el DOM Rc-based simple (suficiente
406# para Fase 2: parsear y renderizar, sin scripting). cssparser es el tokenizer
407# CSS de Stylo, sirve para inline styles. ureq = HTTP síncrono minimalista,
408# evita pull de tokio en el engine.
409html5ever = "0.39"
410markup5ever = "0.39"
411markup5ever_rcdom = "0.39"
412cssparser = "0.35"
413url = "2"
414ureq = { version = "2", default-features = false, features = ["tls"] }
415
416# === takiy-synth (SoundFont MIDI) ===
417# rustysynth = sintetizador SF2 puro Rust, MIT. Reemplaza el oscilador
418# feo de takiy-synth por muestras reales (FluidR3, GeneralUser GS, etc).
419rustysynth = "1.3"
420
421# === takiy-playback (audio device output) ===
422# cpal = backend de audio cross-platform (ALSA/PulseAudio/Pipewire en
423# Linux, WASAPI en Windows, CoreAudio en macOS). Lo usamos sólo para
424# abrir el device default y empujar muestras f32 — nada de mezclado
425# ni efectos en el callback.
426cpal = "0.15"
427
428# === media-source-wav (decoder PCM en disco) ===
429# hound = lector/escritor WAV puro-Rust, sin deps nativas. Soporta PCM
430# entero (8/16/24/32) y float (32). Suficiente para abrir samples y
431# stems de prueba sin meter ffmpeg/symphonia.
432hound = "3.5"
433
434# === media-source-{mp3,flac,vorbis} (decoders vía symphonia) ===
435# symphonia es una colección de decoders puro-Rust mantenida. `mp3` cubre
436# media-source-mp3; `flac` (decoder + demuxer FLAC nativo) cubre
437# media-source-flac (lossless); `vorbis` + `ogg` (codec + demuxer Ogg)
438# cubren media-source-vorbis (lossy clásico, libre de patentes). Sin aac:
439# ese tier patentado entra por shared/foreign-av.
440symphonia = { version = "0.5", default-features = false, features = ["mp3", "flac", "vorbis", "ogg"] }
441
442# === media-source-opus (decoder Opus NATIVO puro-Rust) ===
443# Opus es el formato de audio nativo de gioser (par del video AV1). ogg
444# demuxea las páginas Ogg; opus-wave es un port puro-Rust de libopus
445# (SILK+CELT, sin C ni FFI) — par del rav1d del lado video.
446ogg = "0.9"
447opus-wave = "3"
448
449# === media-source-webm (demux nativo Matroska/WebM) ===
450# matroska-demuxer es un demuxer puro-Rust de MKV/WebM (EBML). Saca los
451# paquetes de los tracks V_AV1 y A_OPUS para alimentar a media-source-av1
452# y media-source-opus — un .webm AV1+Opus se reproduce 100% nativo.
453matroska-demuxer = "0.7"
454# === git-deps al monorepo (agregados por la extracción) ===
455card-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
456chasqui-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
457format = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
458media-audio-cpal = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
459media-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
460media-source-av1 = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
461media-source-flac = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
462media-source-gif = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
463media-source-mp3 = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
464media-source-opus = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
465media-source-vorbis = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
466media-source-wav = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
467media-source-webm = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
468minga-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
469minga-store = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
470rimay-localize = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
471shuma-discern = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
472wawa-config = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
473wawa-config-llimphi = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }
474wawa-explorer-core = { git = "https://git.gioser.net/tawasuyu/tawasuyu.git", tag = "v0.1.0" }