Architecture¶
This section explains how codemol is structured internally — from the package layout to the manager pattern and command flow.
Overview¶
codemol is a PyQt5 desktop application with a clean separation between:
- UI layer — viewer + console + sidebar panels
- Command layer — parser, dispatcher, shortcut expansion
- Tool layer — 200+ auto-discovered Python modules
- Manager layer — 8 specialized managers for domain logic
- Agent layer — LLM integration using the same tool system
graph TD
UI[UI Layer<br/>viewer, console, panels] --> CMD[Command Layer<br/>parser, dispatcher]
CMD --> TOOLS[Tool Layer<br/>200+ tool modules]
TOOLS --> ENGINE[Rendering Engine]
MGR[Manager Layer<br/>8 managers] --> UI
MGR --> CMD
AGENT[Agent Layer<br/>LLM agents] --> CMD
Sections¶
- Application Structure — Package layout and key modules
- Manager Pattern — The 8+4 managers and AppContext Protocol
- Command Flow — From keystroke to render
- Signal Communication — Qt signals, workers, timer-based updates