tawasuyu

tawasuyu/llimphi

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

Rust 238TOML 102Markdown 83Shell 24178 Sutichaykuna

⎇ 168cd187519c0ad575d3ce63baee2f164c38d9d1 widgets/text-editor/Cargo.toml TOML · 48 siq'ikuna · 2.6 KB Ñawpa willay ch'uya

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

1[package]
2name = "llimphi-widget-text-editor"
3version.workspace = true
4edition.workspace = true
5license.workspace = true
6authors.workspace = true
7publish.workspace = true
8description = "llimphi-widget-text-editor — capa visual Llimphi del editor de código (gutter, caret, selección, scroll, integración de teclado al update Elm). El núcleo agnóstico (buffer/cursor/ops/undo/highlight/…) vive en llimphi-widget-text-editor-core y se re-exporta. LSP queda para una capa superior."
9
10repository.workspace = true
11[dependencies]
12# default-features = false para que los flags de este widget gobiernen
13# qué arrastra el núcleo (el C de tree-sitter, la espalda ropey).
14# state.rs construye los InputEdit/Point vía el shim re-exportado del
15# núcleo (`crate::tsedit`), así que el widget ya no depende de
16# tree-sitter directo.
17# Path directo (no `workspace = true`): heredar de [workspace.dependencies]
18# sólo permite *añadir* features, nunca apagar default-features — el flag
19# se ignoraría y el C de tree-sitter entraría igual. Con path directo sí
20# manda el `default-features = false`.
21llimphi-widget-text-editor-core = { path = "../text-editor-core", version = "0.1.0", default-features = false }
22# El COMPOSITOR, no el shell de escritorio: así este widget sirve igual
23# en Linux, en el kernel de wawa y adentro de una jaula WASM (W4.6). El
24# modelo de input (`KeyEvent`/`ImeEvent`, W4.7) también vive ahí.
25llimphi-compositor = { workspace = true, default-features = false }
26llimphi-theme = { workspace = true }
27
28[features]
29# Un widget NO elige backend: lo elige quien ensambla la app —`llimphi-ui`
30# en Linux, `llimphi-jaula` en una jaula WASM, `llimphi-wawa` en el
31# kernel—. Este default existe sólo para que el crate se pueda compilar
32# SOLO (`cargo check -p llimphi-widget-…`), porque el compositor no
33# compila sin ninguno.
34default = ["std", "treesitter", "vello"]
35# std: la espalda ropey del buffer + el reloj real (`register_click` con
36# `Instant::now()`). Sin ella el buffer usa la soga no_std y los clicks
37# entran por `register_click_at` con el instante del fotograma.
38std = ["llimphi-widget-text-editor-core/ropey", "llimphi-compositor/std"]
39# Propaga el highlight tree-sitter al núcleo. Off → editor sin resaltado
40# de Rust/Python (texto plano), compilable sin toolchain C de la plataforma.
41treesitter = ["llimphi-widget-text-editor-core/treesitter"]
42vello = ["llimphi-compositor/vello"]
43cpu = ["llimphi-compositor/cpu"]
44wire = ["llimphi-compositor/wire"]
45# Targets sin std (la jaula wasm32): mates por libm en todo el subárbol.
46libm = ["llimphi-compositor/libm", "llimphi-widget-text-editor-core/libm"]
47
48[dev-dependencies]