tawasuyu

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 229TOML 101Markdown 82Shell 24052 Definiciones

⎇ main llimphi-jaula/Cargo.toml TOML · 68 líneas · 4.2 KB Historia crudo

chore: refresco desde el monorepo — 132 miembros, 79 widgets, la galería vuelve y licencia dual d8edd9a9c · Sergio ·

1[package]
2name = "llimphi-jaula"
3# Metadatos explícitos y no heredados: este crate está EXCLUIDO del workspace
4# raíz, igual que `llimphi-wawa` y por el mismo motivo (ver el comentario en
5# `/Cargo.toml`). Un miembro excluido no puede heredar de `workspace.package`.
6version = "0.1.0"
7edition = "2021"
8license = "MIT OR Apache-2.0"
9authors = ["Sergio <sergio@gioser.net>"]
10publish = false
11description = "llimphi-jaula — la cáscara del lado APP: corre el ciclo de Llimphi dentro de una jaula WASM y emite una `EscenaWire` en vez de rasterizar. Es el gemelo de `llimphi-wawa`, del otro lado de la frontera: aquélla recibe y ejecuta, ésta compone y manda. W4 de 03_ukupacha/wawa/PLAN-LLIMPHI.md."
12
13[dependencies]
14# El MISMO compositor que corre en Linux y en el kernel, en su tercer perfil: el
15# que graba hacia el cable. `render.rs` no sabe cuál de los tres es.
16llimphi-compositor = { path = "../llimphi-compositor", version = "0.1.0", default-features = false, features = ["wire"] }
17llimphi-layout = { path = "../llimphi-layout", version = "0.1.0" }
18llimphi-text = { path = "../llimphi-text", version = "0.1.0", default-features = false, features = ["wire"] }
19llimphi-wire-escena = { path = "../llimphi-wire-escena", version = "0.1.0", default-features = false }
20# El codec del cable. La petición de medida cruza serializada; la respuesta son
21# doce bytes crudos y no lo necesita.
22postcard = { version = "1", default-features = false, features = ["alloc"] }
23
24[features]
25# El perfil para el que este crate existe: dentro de una jaula, sin sistema.
26default = ["libm"]
27libm = ["llimphi-compositor/libm", "llimphi-text/libm", "llimphi-wire-escena/libm"]
28# Correr la jaula en el anfitrión, para tests: mismo código, con stdlib.
29std = ["llimphi-compositor/std", "llimphi-text/std", "llimphi-wire-escena/std"]
30
31[dev-dependencies]
32# El caño, para el ejemplo `huesped_demo` — el primer huésped de verdad. Cruza la
33# frontera de workspace por `path`, como el reproductor del otro lado: el cable no
34# enciende ningún backend, así que no dispara el `compile_error!` de excluyentes.
35llimphi-cable = { path = "../llimphi-cable", version = "0.1.0", default-features = false }
36# **El editor de verdad**, para el ejemplo `nada_enjaulado`. Con el backend de la
37# jaula y sin la feature `escritorio`: la misma lib que corre suelta en Linux,
38# compuesta hacia el cable en vez de hacia una ventana.
39nada = { path = "../../nada", default-features = false, features = ["treesitter", "wire", "std"] }
40llimphi-despacho = { path = "../llimphi-despacho", version = "0.1.0" }
41postcard = { version = "1", features = ["use-std"] }
42llimphi-text = { path = "../llimphi-text", version = "0.1.0", default-features = false, features = ["wire", "std"] }
43# **El explorador de verdad**, para el ejemplo `nahual_enjaulado`. Igual que
44# `nada`: la misma lib que corre suelta, sin la feature `escritorio` y con el
45# backend del cable. Va sin `terminal` ni `svg` —el terminal embebido trae wgpu
46# y el visor de vectores rinde contra el rasterizador— y sin `ffmpeg`, que sólo
47# suma un puente por subprocess que este ejemplo no ejercita.
48nahual-shell-llimphi = { path = "../../nahual/nahual-shell-llimphi", default-features = false, features = ["wire", "std"] }
49# La paleta, para armar el modelo del explorador. No enciende ningún backend.
50llimphi-theme = { path = "../llimphi-theme", version = "0.1.0" }
51# **La vidriera de agora**, para el ejemplo `vidriera_activa` (SDD-CARAS C6).
52# Cruza la frontera de workspace por `path` como `nada` y `nahual`, y por el
53# mismo motivo no molesta: no enciende ningún backend de llimphi — es cripto,
54# serde y nada más.
55agora-vidriera = { path = "../../../03_ukupacha/agora/agora-vidriera" }
56
57# Workspace propio, vacío. Sin esto cargo lo absorbería en el del repo —del que
58# está excluido— y la unificación de features encendería `vello` junto a `wire`,
59# que son backends excluyentes. Es exactamente la trampa que ya mordió con
60# `llimphi-wawa`; acá está anotada para no volver a pisarla.
61[workspace]
62# El huésped del explorador, que dejó de ser un `example` para poder
63# empaquetarse: un ejemplo no se instala en la máquina de nadie.
64members = ["nahual-jailed"]
65
66[[example]]
67name = "vidriera_activa"
68path = "examples/vidriera_activa.rs"