theboringoffice v0.2.28 — the embedded browser holds still
Fixes the three defects members hit in v0.2.27's premium browser lane, all verified on a live Ghostty drive:
- No more flicker — the office re-ided every frame by content hash, forcing a delete+re-emit cycle at ~2fps (flash, empty, flash). Image ids are now stable per child frame id, so the terminal replaces atomically in place: 55/56 consecutive frames on a live drive with zero interleaved deletes.
- No more wrong size — frames now carry the pane's exact cell box (c=/r=), so the page scales INTO the pane instead of painting at native pixels.
- No more base64 text — partial kitty transmissions on session churn (tab flips, respawns) are discarded instead of painting ~30 rows of base64; a racy interleaved-sequence case the real child produces is handled too.
The page now renders, scales, and stays. kitty/ghostty + terminal-browser on PATH.
Full Changelog: v0.2.27...v0.2.28