tawasuyu

tawasuyu/llimphi

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

Rust 614Markdown 274TOML 149RON 310606 Definiciones

⎇ main widgets/lazy-list/Cargo.toml TOML · 34 líneas · 1.9 KB Historia crudo

chore: refresco desde el monorepo — vello 0.9 / wgpu 29, 120 miembros d251eb32b · Sergio ·

1[package]
2name = "llimphi-widget-lazy-list"
3version.workspace = true
4edition.workspace = true
5license.workspace = true
6authors.workspace = true
7publish.workspace = true
8description = "llimphi-widget-lazy-list — lista perezosa llave-en-mano para Llimphi (Bloque 22 de PLAN-NUCLEO-RETENIDO.md): recibe un builder `item: Fn(usize)->View` + `total` y sólo construye la ventana visible + overscan. A diferencia de `list`/`grid` (el caller windowea a mano) o `scroll_y` (recibe el contenido ya construido), aquí el widget es dueño de la matemática de ventana y NUNCA materializa las filas fuera de pantalla. Extent fijo (O(1)) y variado (O(log n) sobre offsets precomputados). Compone la barra/física de `llimphi-widget-scroll`."
9
10[dependencies]
11# El COMPOSITOR, no el shell de escritorio: así este widget sirve igual en
12# Linux, en el kernel de wawa y adentro de una jaula WASM (W4.6).
13llimphi-compositor = { workspace = true, default-features = false }
14llimphi-theme = { workspace = true }
15llimphi-widget-scroll = { workspace = true }
16
17[dev-dependencies]
18# El SHELL, sólo para los demos y tests: abren ventana y corren el bucle de Elm
19# (`App`/`Handle`/`run`), que viven en `llimphi-ui`. El widget es agnóstico del
20# backend; sus demos no tienen por qué serlo (W4.6).
21llimphi-ui = { workspace = true }
22
23[features]
24# Un widget NO elige backend: lo elige quien ensambla la app —`llimphi-ui` en
25# Linux, `llimphi-jaula` en una jaula WASM, `llimphi-wawa` en el kernel—. Este
26# default existe sólo para que el crate se pueda compilar SOLO
27# (`cargo check -p llimphi-widget-…`), porque el compositor no compila sin
28# ninguno. Toda app lo apaga con `default-features = false` y trae el suyo.
29default = ["vello", "std"]
30vello = ["llimphi-compositor/vello"]
31# `measured_height` (typesetter thread-local del anfitrión).
32std = ["llimphi-compositor/std"]
33cpu = ["llimphi-compositor/cpu"]
34wire = ["llimphi-compositor/wire"]