5f55b59b70
Ink's colorize throws on a chalk-modifier-name backgroundColor (e.g. "bold": 'bold' in chalk but chalk.bgBold is undefined -> "chalk.bgBold is not a function"); vue-tui degraded to bare text. Align: validate backgroundColor at component render (Text + Box own bg + drawn border edges) so the throw is caught by the error boundary, not the post-flush paint pass (a throw there wedges Vue's scheduler — cf. borderStyle #124). Detection mirrors Ink exactly: only the in-chalk-but-no-bg-method case throws; valid colors / hex / ansi256 / rgb / [r,g,b] / non-chalk strings and foreground modifiers (color="bold" still bolds) are unaffected. Border bgs are gated to Ink's render-border conditions (borderStyle + drawn edge + perEdge ?? general); empty/hidden elements don't throw. Since Ink throws lazily at paint (with layout/squash info) while vue must validate eagerly at render, a few degenerate cases (content-area<=0 box, degenerate top/bottom border, nested-empty text) over-throw on the invalid modifier input — documented in code as architecturally irreducible. Removes the A12 entry from ink-divergences.md. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>