🔧 Primary GUI Extension Point
Translates user intents to domain operations (commands) or view operations.
This is the main class developers will work with to customize GUI behavior,
add new menu actions, or integrate custom interaction patterns.
Core Concepts
- Event-driven execution (actions come from config-driven UI).
- Command injection via GUICommandRegistry.
- Undo/Redo via CommandHistory.
Extension Points for Developers:
- Add new menu actions via action configuration
- Register custom commands in GUICommandRegistry
- Override or extend interaction handlers
- Customize keyboard shortcuts and bindings
Responsibilities
- Event Translation: Convert UI events (mouse, keyboard, menu) to semantic actions
- Command Orchestration: Route actions to appropriate commands via GUICommandRegistry
- State Management: Manage interaction states (wire mode, element placement, selection)
- Canvas Coordination: Integrate with CircuitRenderer for visual updates
- History Management: Coordinate undo/redo operations via CommandHistory
- Property Panel Integration: Manage property panel interactions
Key Extension Patterns: