diff options
| author | eunhhu <[email protected]> | 2026-09-26 10:52:12 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-26 10:52:12 +0100 |
| commit | 04e883a310fd3914d6f4294a92b08b3fe9f55686 (patch) | |
| tree | bf01098a08aa809104366a5d4057ad66a51f51ad /src/web.c | |
| parent | b55395802f4c7b929c45013efb572aab786a8b43 (diff) | |
| download | vega-04e883a310fd3914d6f4294a92b08b3fe9f55686.tar.gz vega-04e883a310fd3914d6f4294a92b08b3fe9f55686.zip | |
Send the terminal only the cells that changed
The TUI rebuilt its grid from the app on every change and then sent all
of it. It now keeps what the terminal shows and sends each run of changed
cells after a cursor move (short unchanged gaps stay in a run, being
cheaper than another move; a run that starts in the second half of a wide
character starts at its first). A resize sends everything again.
vega tui --paint WxH writes the bytes of each frame; the checks replay
them with a small terminal emulator and compare with the dumped frame:
4,800 random frames at three sizes agree, and a change costs 139 bytes on
average against 1,220 for a whole frame. The interactive check now reads
the final screen from the replayed bytes.
Diffstat (limited to 'src/web.c')
0 files changed, 0 insertions, 0 deletions
