tawasuyu

tawasuyu/llimphi

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

Rust 660Markdown 302TOML 157RON 312382 Definitions

⎇ 168cd187519c0ad575d3ce63baee2f164c38d9d1 llimphi-term-graphics/LEEME.md Markdown · 29 lines · 1.3 KB History raw

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-term-graphics
2
3*Read this in English: [README.md](README.md).*
4
5Decodificador agnóstico de protocolos de gráficos de terminal.
6
7Dos protocolos cubiertos:
8- **kitty graphics protocol** — secuencias APC `\e_G<control>;<base64>\e\\`.
9  Soporta transmisión chunked (`m=1`), formatos `f=100` (PNG/JPEG/… vía el
10  crate `image`), `f=24` (RGB crudo) y `f=32` (RGBA crudo), y compresión
11  `o=z` (zlib). Acciones `t`/`T` (transmitir [y mostrar]), `q` (query),
12  `d` (delete).
13- **sixel** — secuencias DCS `\eP<params>q<datos>\e\\`. Decodificador a mano
14  (paleta, selección de color `#`, RLE `!`, CR `$`, LF `-`, atributos
15  raster `"`).
16
17El corazón es `GraphicsScanner`: un autómata streaming al que se le
18alimentan los chunks de bytes del PTY. Deja pasar **intacto** todo el texto
19y los escapes ANSI normales (para que el emulador vt100 los procese) y sólo
20**secuestra** las secuencias gráficas completas, que devuelve decodificadas
21como `GraphicsCommand`. No tiene estado de UI ni dependencias de render:
22produce píxeles RGBA8, el caller los sube a una textura / `peniko::Image`.
23
24Robusto a fronteras de chunk: una secuencia partida entre dos `feed()`
25queda buffereada y se completa en la llamada siguiente.
26
27---
28
29Parte de **llimphi** — ver [llimphi](../LEEME.md).

LEEME.md

llimphi-term-graphics

Read this in English: README.md.

Decodificador agnóstico de protocolos de gráficos de terminal.

Dos protocolos cubiertos:

El corazón es GraphicsScanner: un autómata streaming al que se le alimentan los chunks de bytes del PTY. Deja pasar intacto todo el texto y los escapes ANSI normales (para que el emulador vt100 los procese) y sólo secuestra las secuencias gráficas completas, que devuelve decodificadas como GraphicsCommand. No tiene estado de UI ni dependencias de render: produce píxeles RGBA8, el caller los sube a una textura / peniko::Image.

Robusto a fronteras de chunk: una secuencia partida entre dos feed() queda buffereada y se completa en la llamada siguiente.


Parte de llimphi — ver llimphi.