PD Runtime System¶
The runtime system manages the active project editing environment. It is entered after a project is opened from the startup system.
Structure¶
pd_runtime_system/
orchestration/ # PDMainController + PDMainView
stages/ # Individual engineering phases
orchestration¶
Central runtime coordination:
- PDMainController -- stage display, session timer, idle detection, export menu, sign-off flow
- PDMainView -- main runtime UI shell with stage content area
- StageProtocol -- interface contract that all stages must implement
- project_settings_system/ -- bound subsystem for runtime project settings
stages¶
Each engineering phase is a self-contained MVC module implementing StageProtocol:
| Stage | Phase | Status |
|---|---|---|
c_d_planning_system |
Konzept- und Detailplanung | Active |
e_plan_engineering_system |
E-Plan Engineering | Scaffold |
software_engineering_system |
Software Engineering | Scaffold |
commissioning_servicing_system |
IBN / Wartung | Scaffold |
zentral_stage_systems¶
Shared infrastructure used by multiple stages (lives under stages/zentral_stage_systems/).
Currently contains the export_system (Jinja2 + WeasyPrint HTML/PDF export) with
stage-specific bound subsystems for each engineering phase.
Runtime Flow¶
PDStartupControllerhands off toPDMainControllerafter project openPDMainControllerloads the appropriate stage based on project state- Stage implements
StageProtocoland receives zentral system references - Session timer tracks active editing time, pauses on idle (30min threshold)
- Sign-off flow commits changes and returns to startup