gioser

tawasuyu/llimphi

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

Rust 484Markdown 258TOML 131RON 38118 Definitions

⎇ main llimphi-wawa/Cargo.toml TOML · 50 lines · 3.0 KB History raw

chore: refresco desde el monorepo — 128 miembros, los 76 widgets y los 11 módulos b3f12e136 · Sergio ·

1[package]
2name = "llimphi-wawa"
3# Metadatos explícitos y no heredados: este crate está EXCLUIDO del workspace
4# raíz (ver el porqué en `/Cargo.toml`), y un miembro excluido no puede heredar
5# de `workspace.package`.
6version = "0.1.0"
7edition = "2021"
8license = "MIT OR Apache-2.0"
9authors = ["Sergio <sergio@gioser.net>"]
10publish = false
11description = "llimphi-wawa — la cáscara de Llimphi sobre el framebuffer del kernel bare-metal. Cierra el ciclo `View<Msg> → mount → layout → paint → volcar` sin winit, sin GPU y sin `std`. Es el gemelo de `llimphi-ui` para wawa: mismo compositor, misma composición, otra piel. W3.c de 03_ukupacha/wawa/PLAN-LLIMPHI.md."
12
13[dependencies]
14# El compositor en su perfil sin sistema operativo: `View<Msg>`, mount sobre
15# taffy, paint y hit-test. Es el MISMO crate que corre en Linux — la cáscara no
16# reimplementa nada, sólo lo enchufa a otro sustrato.
17llimphi-compositor = { path = "../llimphi-compositor", version = "0.1.0", default-features = false, features = ["cpu"] }
18llimphi-layout = { path = "../llimphi-layout", version = "0.1.0" }
19llimphi-text = { path = "../llimphi-text", version = "0.1.0", default-features = false, features = ["cpu"] }
20llimphi-cpu = { path = "../llimphi-cpu", version = "0.1.0", default-features = false }
21
22# El IR de escena (W4). Este crate es el extremo NATIVO del cable: recibe lo que
23# una app enjaulada emitió y lo shapea y rasteriza sin penalidad de intérprete.
24llimphi-wire-escena = { path = "../llimphi-wire-escena", version = "0.1.0", default-features = false }
25
26# **El reproductor, compartido con el anfitrión de Linux.** Estaba acá adentro
27# hasta el 24-ago-2026; se mudó cuando apareció el segundo anfitrión (shuma/pata,
28# lienzo `vello`) porque dos copias serían dos verdades. Compila igual de los dos
29# lados: está escrito contra `llimphi_text::Lienzo`, el alias por backend.
30#
31# `default-features = false` **es obligatorio**: el default de ese crate es
32# `vello`, y acá el lienzo es el de `llimphi-cpu`. Encender los dos dispara el
33# `compile_error!` de backends excluyentes de `llimphi-text` — que es exactamente
34# lo que uno quiere que pase si alguien se olvida.
35llimphi-reproductor = { path = "../llimphi-reproductor", version = "0.1.0", default-features = false }
36
37[features]
38# Bare-metal (wawa) — el perfil para el que este crate existe.
39default = ["libm"]
40libm = ["llimphi-compositor/libm", "llimphi-text/libm", "llimphi-cpu/libm", "llimphi-wire-escena/libm", "llimphi-reproductor/libm"]
41# Correr la cáscara en el anfitrión, para tests: mismo código, con stdlib.
42std = ["llimphi-compositor/std", "llimphi-text/std", "llimphi-cpu/std", "llimphi-wire-escena/std", "llimphi-reproductor/std"]
43
44[dev-dependencies]
45# El round-trip del IR de escena se certifica del lado host.
46postcard = { version = "1", features = ["use-std"] }
47
48# Workspace propio, vacío: sin esto cargo intentaría absorberlo en el del repo
49# —del que justamente está excluido— y volvería a unificar features con vello.
50[workspace]