theme/terminal_theme library

Public, immutable theme + text-style data slices over TerminalConfig.

These are the consumer-facing knobs that TerminalView reads. They are pure data — no notifiers, no IO — and are typically composed from a TerminalConfig via TerminalConfig.theme / TerminalConfig.style.

Colors are packed 0x00RRGGBB; null cursor slots mean "use the inverse of the cell under the cursor" (alacritty parity).

Classes

TerminalStyle
Font-family + sizing slice. The view derives its measured TextStyle from this; bold/italic/boldItalic land in 2O-b.
TerminalTheme
All colors a TerminalView needs to paint a frame and the bell overlay.