tawasuyu

tawasuyu/llimphi

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

Rust 660Markdown 302TOML 157RON 312382 Definiciones

⎇ main widgets/terminal/LEEME.md Markdown · 31 líneas · 1.4 KB Historia crudo

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

1# llimphi-widget-terminal
2
3*Read this in English: [README.md](README.md).*
4
5Superficie de terminal **infinita y virtualizada**.
6
7Diseño completo: `02_ruway/shuma/SDD-TERMINAL.md`. El control reemplaza por
8fases al `output_pane` del shell: scrollback ilimitado a costo de render
9**constante** (sólo se pinta la ventana visible), tres modos sobre la misma
10tela (línea IDE / grilla TUI / híbrido) y GPU directo donde paga.
11
12**Fase 0:** la **Capa 0** — el `store::Scrollback`, store de scrollback
13append-only con índice de líneas, cap por memoria y acceso O(1). Puro, sin
14dependencias de UI: el núcleo agnóstico vive aparte de quien lo pinta
15(Regla 2).
16
17**Fase 1:** modo línea — `view::line_surface` materializa sólo las filas
18visibles bajo un `scroll_y` propio del widget (costo de render **constante**
19a scrollback ilimitado), numeración global y color por runs.
20
21**Fase 2 (esto):** la **Capa 1** — el modelo de **bloques** (`blocks`):
22el stream es una secuencia de `blocks::Item`s (chrome de alto fijo que el
23caller pinta + rangos de líneas del store), virtualizados sobre alturas
24mixtas con búsqueda binaria; colapsar un bloque = no emitir su body. Mapea
25el `output_pane` del shell (header/badge/etapas/colapso) sin que el widget
26sepa de comandos (Regla 2). El modo línea de la Fase 1 es el caso de un solo
27`Item::Lines`.
28
29---
30
31Parte de **llimphi** — ver [llimphi](../../LEEME.md).

LEEME.md

llimphi-widget-terminal

Read this in English: README.md.

Superficie de terminal infinita y virtualizada.

Diseño completo: 02_ruway/shuma/SDD-TERMINAL.md. El control reemplaza por fases al output_pane del shell: scrollback ilimitado a costo de render constante (sólo se pinta la ventana visible), tres modos sobre la misma tela (línea IDE / grilla TUI / híbrido) y GPU directo donde paga.

Fase 0: la Capa 0 — el store::Scrollback, store de scrollback append-only con índice de líneas, cap por memoria y acceso O(1). Puro, sin dependencias de UI: el núcleo agnóstico vive aparte de quien lo pinta (Regla 2).

Fase 1: modo línea — view::line_surface materializa sólo las filas visibles bajo un scroll_y propio del widget (costo de render constante a scrollback ilimitado), numeración global y color por runs.

Fase 2 (esto): la Capa 1 — el modelo de bloques (blocks): el stream es una secuencia de blocks::Items (chrome de alto fijo que el caller pinta + rangos de líneas del store), virtualizados sobre alturas mixtas con búsqueda binaria; colapsar un bloque = no emitir su body. Mapea el output_pane del shell (header/badge/etapas/colapso) sin que el widget sepa de comandos (Regla 2). El modo línea de la Fase 1 es el caso de un solo Item::Lines.


Parte de llimphi — ver llimphi.