CODE-043: render theme split-brain G drift, BRO_THEME dead for ANSI

Now
OPEN
Sev
LOW
Rep
///bee
Ask
gritzko
Rev
///bee#184fddf

Input

Context

Two hand-kept parallel palettes have drifted: render/ansi.js:62:uy paints slot G as 256-colour 149 (#afd75f) while render/theme.js:25:Vv gives the browser G "32" (#43bc6c) every other slot matches byte for byte. theme.js:178:Vv-182 claims $BRO_THEME "picks the pager's palette exactly as it picks the browser's", but ansi.js never requires theme.js: dark/light switch HTML only. theme.paint/ theme.reset have zero callers, and reset()'s bold test (s === "1", theme.js:146:Vv-150) misses "38;5;33;1" so bold would stay latched. html.js:32 sells three non-xterm entries as "xterm's own table" with no source link. Found in the 2026-08-21 review.

Goals

One palette source both sinks read (ansi derives from theme.js); delete or fix the dead paint/reset pair; link the provenance of the substituted table entries. A round-trip test pinning ANSI and HTML to the same slot colours.

WIP

TODOs

Outcome