1.2 KiB
1.2 KiB
🔒 CODE FREEZE NOTICE
Date: March 29, 2026
Duration: Core Separation Refactor
Reason
Implementing Command Pattern and Observer Pattern to decouple UI and logic interfaces.
Scope
This refactor will:
- Extract TUI code from
coremodule into standalone UI module - Implement Command Pattern for all user interactions
- Implement Observer Pattern for state change notifications
- Make
corecompletely UI-agnostic - Enable multiple simultaneous UIs (TUI + future ScalaFX GUI)
Module Structure (Target)
modules/
core/ # Pure game logic, Command, Observer traits, CommandInvoker
api/ # Data models (unchanged)
ui/ # TUI and GUI implementations (both depend only on core)
Expected Impact
- All regression tests must pass
- Build must succeed with new module structure
- Core contains zero UI references
- TUI and potential GUI can run independently or simultaneously
Blocked Changes
Do not:
- Add new features to
core - Modify
coreAPI before Message & Observer traits are implemented - Create direct dependencies between UI modules
- Add UI code to
core
Keep developing in separate branches until refactor is complete.
Status: IN PROGRESS ✏️