tawasuyu

tawasuyu/llimphi

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

Rust 660Markdown 302TOML 157RON 312382 Definitions

⎇ main modules/allichay/Cargo.toml TOML · 77 lines · 5.8 KB History raw

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

1[package]
2name = "llimphi-module-allichay"
3version.workspace = true
4edition.workspace = true
5license.workspace = true
6authors.workspace = true
7publish.workspace = true
8description = "llimphi-module-allichay — el renderizador único de la config declarativa. Pinta un `allichay::Schema` con el rail de dientes (secciones) y controles escalares (toggle/slider/dropdown/color/texto), y emite los cambios como (FieldPath, FieldValue). State + Msg + apply_key/view, el patrón de módulo Llimphi. Reutilizable por el panel central y por cada app."
9
10repository.workspace = true
11[dependencies]
12allichay = { workspace = true }
13# El COMPOSITOR, no el shell de escritorio. Este módulo no usaba nada del shell:
14# lo tomaba sólo por sus re-exportes (taffy, peniko, las teclas, `View`), y con
15# ellos se llevaba winit, wgpu y el backend `vello` —excluyente con el de una app
16# enjaulada—. Es el mismo trato que ya tienen los widgets (W4.6).
17llimphi-compositor = { workspace = true, default-features = false }
18llimphi-theme = { workspace = true }
19llimphi-widget-dock-rail = { workspace = true, default-features = false }
20# El sidebar unificado (rail + panel + header + buscador): un solo dueño del chrome.
21llimphi-widget-rag-sidebar = { workspace = true, default-features = false }
22# Íconos vectoriales de los dientes (glifo→vector, determinista en toda máquina).
23llimphi-icons = { workspace = true, default-features = false }
24llimphi-widget-switch = { workspace = true, default-features = false }
25llimphi-widget-slider = { workspace = true, default-features = false }
26llimphi-widget-segmented = { workspace = true, default-features = false }
27llimphi-widget-select = { workspace = true, default-features = false }
28llimphi-widget-scroll = { workspace = true, default-features = false }
29# `std` explícito: apagar los defaults para poder apagar `treesitter` apagaba
30# también `std`, y `TextInputState::handle` —que este módulo llama— vive detrás
31# de él. Con `--workspace` no se notaba porque otro crate lo encendía y la
32# unificación de features de cargo lo regalaba; con `cargo check -p` a secas,
33# que es lo que ve quien lo instala suelto, no compilaba.
34llimphi-widget-text-input = { path = "../../widgets/text-input", version = "0.1.0", default-features = false, features = ["std"] }
35llimphi-widget-table = { workspace = true, default-features = false }
36llimphi-widget-color-picker = { workspace = true }
37llimphi-widget-modal = { workspace = true }
38llimphi-widget-edit-menu = { workspace = true }
39llimphi-widget-context-menu = { workspace = true }
40
41[dev-dependencies]
42# Sólo para los dos ejemplos de ESCRITORIO (`settings_demo` abre una ventana,
43# `dump_panel` rasteriza con vello). El módulo en sí ya no lo usa: por eso es
44# dev-dependency y no dependency.
45llimphi-ui = { workspace = true }
46# Volcado headless del view a PNG (llvmpipe) para verlo sin levantar ventana,
47# usando el schema real de mirada como muestra.
48mirada-brain = { path = "../../../mirada/mirada-brain" }
49pata-core = { path = "../../../pata/pata-core" }
50png = { workspace = true }
51pollster = { workspace = true }
52# El reproductor lee una app declarada de un ARCHIVO: `allichay::Schema` ya
53# deriva Serialize/Deserialize, así que una app es un documento y no un binario.
54serde_json = { workspace = true }
55
56[features]
57# Los nueve widgets van **sin backend fijo** y se reenvían acá. Tomarlos con
58# `workspace = true` a secas les daba sus defaults —o sea `vello`— y eso chocaba
59# con el `wire` de una app enjaulada: nueve crates que no deciden nada eligiendo
60# el rasterizador de todos.
61# `treesitter` (default-on) reenvía la del editor: con ella, resaltado de
62# Rust/Python; sin ella (`--no-default-features`) degrada a texto plano y **no**
63# se arrastra ningún C, que es lo que permite cross-compilar desde Linux.
64# La dependencia va por `path` y no por `workspace = true` a propósito: heredar
65# del workspace sólo deja AÑADIR features, nunca apagar `default-features`.
66default = ["treesitter", "vello"]
67treesitter = ["llimphi-widget-text-input/treesitter"]
68# Un módulo NO elige backend: lo elige quien ensambla la app. Este default existe
69# sólo para que el crate se pueda compilar SOLO (`cargo check -p …`), porque el
70# compositor no compila sin ninguno.
71# El perfil de math/stdlib. Va aparte del backend porque son ejes distintos: la
72# jaula corre con `wire` + `std` en Linux y con `wire` + `libm` adentro de wawa.
73std = ["llimphi-compositor/std", "llimphi-widget-dock-rail/std", "llimphi-widget-rag-sidebar/std", "llimphi-icons/std", "llimphi-widget-switch/std", "llimphi-widget-slider/std", "llimphi-widget-segmented/std", "llimphi-widget-select/std", "llimphi-widget-scroll/std", "llimphi-widget-table/std"]
74libm = ["llimphi-compositor/libm", "llimphi-widget-dock-rail/libm", "llimphi-widget-rag-sidebar/libm", "llimphi-widget-switch/libm", "llimphi-widget-slider/libm", "llimphi-widget-segmented/libm", "llimphi-widget-select/libm", "llimphi-widget-scroll/libm", "llimphi-widget-table/libm"]
75vello = ["llimphi-compositor/vello", "llimphi-widget-dock-rail/vello", "llimphi-widget-rag-sidebar/vello", "llimphi-icons/vello", "llimphi-widget-switch/vello", "llimphi-widget-slider/vello", "llimphi-widget-segmented/vello", "llimphi-widget-select/vello", "llimphi-widget-scroll/vello", "llimphi-widget-table/vello"]
76cpu = ["llimphi-compositor/cpu", "llimphi-widget-dock-rail/cpu", "llimphi-widget-rag-sidebar/cpu", "llimphi-icons/cpu", "llimphi-widget-switch/cpu", "llimphi-widget-slider/cpu", "llimphi-widget-segmented/cpu", "llimphi-widget-select/cpu", "llimphi-widget-scroll/cpu", "llimphi-widget-table/cpu"]
77wire = ["llimphi-compositor/wire", "llimphi-widget-dock-rail/wire", "llimphi-widget-rag-sidebar/wire", "llimphi-icons/wire", "llimphi-widget-switch/wire", "llimphi-widget-slider/wire", "llimphi-widget-segmented/wire", "llimphi-widget-select/wire", "llimphi-widget-scroll/wire", "llimphi-widget-table/wire"]