tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
1[package]
2name = "llimphi-ui"
3description = "Native Rust UI framework: retained-mode View<Msg> Elm loop over vello + wgpu + taffy + parley."
4version.workspace = true
5edition.workspace = true
6license.workspace = true
7authors.workspace = true
8publish.workspace = true
9repository.workspace = true
10
11[dependencies]
12llimphi-hal = { path = "../llimphi-hal", version = "0.1.0" }
13llimphi-layout = { path = "../llimphi-layout", version = "0.1.0" }
14llimphi-raster = { path = "../llimphi-raster", version = "0.1.0" }
15llimphi-text = { path = "../llimphi-text", version = "0.1.0" }
16# El compositor declarativo (winit-free): View, mount, paint, hit-test.
17llimphi-compositor = { path = "../llimphi-compositor", version = "0.1.0" }
18pollster = { workspace = true }
19# Árbol de accesibilidad por frame (NVDA/VoiceOver/Orca/TalkBack). Lo
20# alimentamos desde `View::semantics` + el árbol Mounted. `accesskit_winit`
21# es el adapter que conecta el árbol a la API nativa del SO vía winit.
22accesskit = { workspace = true }
23accesskit_winit = { workspace = true }
24# `accesskit::TreeId` envuelve un `uuid::Uuid` — generamos uno por proceso
25# para identificar el árbol entre actualizaciones (el lector lo necesita
26# para distinguir nuestra app de otras ventanas AccessKit del SO).
27uuid = { version = "1", features = ["v4"] }
28# Portapapeles del sistema para copiar texto seleccionado fuera del editor
29# (Ctrl/Cmd+C). Best-effort: si no hay backend (headless, android) degrada a
30# no-op sin panicar. Feature `clipboard` (default) para que builds sin display
31# o targets sin arboard puedan apagarlo con --no-default-features.
32arboard = { workspace = true, optional = true }
33
34[features]
35default = ["clipboard"]
36clipboard = ["dep:arboard"]
37
38[[example]]
39name = "counter"
40path = "examples/counter.rs"
41
42[[example]]
43name = "editor"
44path = "examples/editor.rs"
45
46[[example]]
47name = "gpu_paint_demo"
48path = "examples/gpu_paint_demo.rs"
49
50[[example]]
51name = "gestos"
52path = "examples/gestos.rs"
53
54[[example]]
55name = "selectable_text"
56path = "examples/selectable_text.rs"