Expand description
Application state for the TUI.
The TUI is organised as a small state machine:
- A top-level tab row decides which tab body is rendered.
- Each tab body is a multi-pane area managed by the tab itself.
- A modal stack sits on top of the whole lot and intercepts input when non-empty.
- A bottom command line is always visible.
All of this is pure state: no rendering happens in this file. The
draw layer reads from App and renders; the event layer mutates
App via named methods so tests can drive state transitions
without a real terminal.