Documentation
¶
Overview ¶
Package vxui is memcode's interactive renderer, built on vaxis's Elm-style `ui` framework (StatefulWidget/State/Build/HandleEvent). It replaces the Bubble Tea fork: the live region (status · composer · footer, plus menus/prompts) is a widget tree that the framework lays out and paints every frame, and durable output goes to native scrollback via EventContext.AppendString. The framework owns the cursor/region bookkeeping, so the inline-render glitch class (and the ShowCursor scrollback-erase bug) cannot occur. Engine output and HITL prompts arrive on other goroutines and are marshalled onto the UI thread with Runtime().Dispatch (goroutine-safe via PostEvent).
Package vxui holds the vaxis-based renderer spike for memcode's TUI migration. It exists to prove, with real compiling/passing code, that vaxis PrimaryScreen gives memcode the model it needs (a persistent themed live region + durable native scrollback, no cursor probes) AND that memcode's existing lipgloss-styled output renders correctly.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NormalizeSGR ¶
NormalizeSGR rewrites lipgloss-style SGR sequences into the form vaxis's styled-string parser understands. lipgloss emits extended colors in the legacy SEMICOLON encoding — ESC[38;2;R;G;Bm (truecolor) and ESC[38;5;Nm (256) — but vaxis only reads the ITU COLON-subparameter form (ESC[38:2:R:G:Bm) for 38/48/58. Without this conversion vaxis would mis-parse a lipgloss truecolor run (the "2" becomes faint, the channels become garbage, the foreground never sets), silently dropping every theme color.
It only joins the 38/48/58 color runs; attributes and the basic 30-37/90-97 colors are single params and pass through untouched. Text outside ESC[…m sequences is copied verbatim.
Types ¶
This section is empty.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Command vxspike proves vaxis PrimaryScreen is the right foundation for memcode's TUI: a persistent, themed, DYNAMICALLY-SIZED live region (status bar + composer, and an expandable menu) with durable native scrollback above it — and no cursor probes, so the glitch class the fork fights simply can't occur.
|
Command vxspike proves vaxis PrimaryScreen is the right foundation for memcode's TUI: a persistent, themed, DYNAMICALLY-SIZED live region (status bar + composer, and an expandable menu) with durable native scrollback above it — and no cursor probes, so the glitch class the fork fights simply can't occur. |