Summary
Implement a terminal-based UI adapter that renders directly to a console/terminal and provides a low-dependency UI for debugging, automation, and low-graphics platforms.
Objective
Render directly to a terminal/console (ANSI/VT or platform console APIs) without relying on an existing graphics engine.
Constraints
- TUI adapter must implement control rendering, sizing/positioning, colours and theming using only terminal drawing operations.
- Must not depend on an external graphics engine.
Technical Details
- Implement rendering primitives for characters, colour blocks, and simple layout; map
IRenderContext UI primitives to terminal drawing operations.
- Implement input mapping from console keys to
IInputProvider events, including mouse support where available.
- Implement a minimal layout engine for control sizing/positioning, theming and hit-testing.
- Provide fallback rendering (monochrome, simplified layouts) for terminals lacking complex text attributes.
Requirements
- (Not started) TUI adapter supports UI rendering, interactions and input mapping for common screens (city panel, unit panel, map viewport).
- GIVEN a set of UI screens and control definitions
- WHEN run with TUI adapter
- THEN UI layout, rendering and interactions behave acceptably for gameplay purposes.
Acceptance Criteria
Dependencies
Parent: #2
Blocked by: Phase 1 interfaces (#11)
Summary
Implement a terminal-based UI adapter that renders directly to a console/terminal and provides a low-dependency UI for debugging, automation, and low-graphics platforms.
Objective
Render directly to a terminal/console (ANSI/VT or platform console APIs) without relying on an existing graphics engine.
Constraints
Technical Details
IRenderContextUI primitives to terminal drawing operations.IInputProviderevents, including mouse support where available.Requirements
Acceptance Criteria
Dependencies
Parent: #2
Blocked by: Phase 1 interfaces (#11)