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/text-editor/Cargo.toml TOML · 54 líneas · 3.2 KB Historia crudo

chore: refresco desde el monorepo (pin tawasuyu.git v0.3.0) b575c63f1 · 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# El scroll canónico del repo: `TamanoVisible` (el widget publica su rect desde
28# el `paint_with` y el host lo lee al cuadro siguiente), `clamp_offset`,
29# `approach` y `thumb_geometry`. Este editor los rehacía a mano o directamente
30# no los tenía; es `no_std` y sólo depende del compositor, así que no arrastra
31# nada nuevo al subárbol.
32llimphi-widget-scroll = { path = "../scroll", version = "0.1.0", default-features = false }
33
34[features]
35# Un widget NO elige backend: lo elige quien ensambla la app —`llimphi-ui`
36# en Linux, `llimphi-jaula` en una jaula WASM, `llimphi-wawa` en el
37# kernel—. Este default existe sólo para que el crate se pueda compilar
38# SOLO (`cargo check -p llimphi-widget-…`), porque el compositor no
39# compila sin ninguno.
40default = ["std", "treesitter", "vello"]
41# std: la espalda ropey del buffer + el reloj real (`register_click` con
42# `Instant::now()`). Sin ella el buffer usa la soga no_std y los clicks
43# entran por `register_click_at` con el instante del fotograma.
44std = ["llimphi-widget-text-editor-core/ropey", "llimphi-compositor/std", "llimphi-widget-scroll/std"]
45# Propaga el highlight tree-sitter al núcleo. Off → editor sin resaltado
46# de Rust/Python (texto plano), compilable sin toolchain C de la plataforma.
47treesitter = ["llimphi-widget-text-editor-core/treesitter"]
48vello = ["llimphi-compositor/vello", "llimphi-widget-scroll/vello"]
49cpu = ["llimphi-compositor/cpu", "llimphi-widget-scroll/cpu"]
50wire = ["llimphi-compositor/wire", "llimphi-widget-scroll/wire"]
51# Targets sin std (la jaula wasm32): mates por libm en todo el subárbol.
52libm = ["llimphi-compositor/libm", "llimphi-widget-text-editor-core/libm", "llimphi-widget-scroll/libm"]
53
54[dev-dependencies]