Zentral Systems¶
Shared infrastructure consumed by multiple systems within the plant_design module. A system qualifies as "zentral" when two or more sibling systems depend on it.
Systems¶
library_system¶
Core data layer and browser UI for the template library. Provides LibraryController
for CRUD operations, ContainerSerializer for msgpack persistence, and
R2MasterLibraryManager for cloud sync. The LibraryBrowserWidget (under widgets/)
is the canonical browser UI used by both startup and runtime.
planning_system¶
Core data layer and browser UI for project planning. Uses a flat dict with O(1) item
access and QAbstractItemModel for tree display. The PlanningBrowserWidget provides
the canonical project tree browser.
schema_system¶
Single source of truth for schema version constants and migration logic. Centralizes
version numbers to prevent drift between library and planning serializers. Provides
LibrarySchemaValidator and ProjectSchemaValidator for forward-compatible upgrades.
version_control_system¶
Two-layer version control: - Session layer: In-memory undo/redo journal with auto-persist (~25s) - Commit layer: Git-like versioning with backward deltas, checkpoints, and milestones
view_mode_utility¶
Shared enums (LibraryViewMode, PlanningViewMode) that control widget behavior
per context (e.g. STANDARD, READONLY, DRAG_ONLY).
Dependency Rules¶
schema_systemhas zero dependencies on siblings (foundation layer)- Other zentral systems may import from
schema_system - Zentral systems must never import from startup_system or runtime stages
- See
system_grouping_guide.mdfor the full dependency matrix