Skip to content

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

  1. PDStartupController hands off to PDMainController after project open
  2. PDMainController loads the appropriate stage based on project state
  3. Stage implements StageProtocol and receives zentral system references
  4. Session timer tracks active editing time, pauses on idle (30min threshold)
  5. Sign-off flow commits changes and returns to startup