-
The terminal engine (
rio-vt) is substantially faster across the board. Plain text and scrolling-heavy output parse ~2.7x faster (865 → 2305 MiB/s on plain ASCII, 266 → 725 MiB/s on scroll-dominated streams), CJK and emoji text 3x (243 → 723 MiB/s), color-change-heavy streams 1.6x, and full-screen TUI redraws 1.5x. Under the hood: scrolling no longer pays per-row dirty and damage bookkeeping (a full-screen scroll marks damage once), recycled rows reset only their occupied cells, printable runs and CSI parameters are scanned a word at a time instead of a byte at a time, SGR dispatch no longer heap-allocates per sequence, wide characters are written as bulk cell pairs the way ASCII runs already were, UTF-8 decodes in large chunks instead of per-fragment, and the character width table covers emoji directly. Measured with rio-vt-benchmark. -
rio-vtnow exposes its VT parser and thePerformtrait, so embedders can drive the escape-sequence parser with their own handler instead of the built-in grid. TheHandlertrait also gained a providedinput_ascii_strmethod that carries the parser's printable-ASCII guarantee, letting implementations skip revalidating the bytes.