v1.1.0
Terminal UI Framework: build the composable, constraint-based terminal UI system that replaces the current hard-coded window layout.
Primary Goals:
- Implement the window type hierarchy: BaseWindow (abstract), ContentWindow (scrollable text), InputWindow (line editing), StatusWindow (template interpolation), ProgressWindow (Unicode bars), MapWindow (2D grid), OverlayWindow (modal z-ordered)
- Build the window registry and constraint-based layout engine that adapts to any terminal size
- Implement focus management with Tab/Shift+Tab cycling, focus ring, and modal overlay capture
- Implement the message channel system with configurable routing, muting, and player preference persistence
- Implement the keybinding and hotkey system with scope-based resolution (mode/window/global) and context stacking
- Implement command history with session persistence and reverse incremental search (Ctrl+R)
Acceptance Criteria:
- All 7 window types implemented with lifecycle state machines
- Layout engine produces valid layouts for terminal sizes from 80x24 to 250x80 via constraint solving
- Focus can be cycled between windows; modal overlays capture and release focus correctly
- Message channels route output to configurable target windows with player preferences persisted across sessions
- Keybindings support key chords, sequences, and ESC/Alt disambiguation with push/pop context stacking
- Command history persists across sessions and supports Ctrl+R reverse incremental search
- All tests pass at 97% unit coverage threshold
20% Completed