Files
leistungsbilanz-ts/docs/spec/08-current-product-backlog.md
T

6.0 KiB

Current Product Backlog

This document records the next agreed product improvements. It describes requirements and intended sequencing, not proof of implementation.

Circuit List Editor

  • Collect the remaining editor interaction issues before changing additional behavior.

Distribution Board Components and Protection Groups

  • Implement the agreed protected circuit-group and distribution-board component model in phased work packages.
  • Phase A: central protection catalog, validation, defaults and pure grouped BMK rules.
  • Phase B1: additive relational schema, group backfill, component/protection tables and shared BMK uniqueness.
  • Phase B2: snapshot/transfer schema upgrade and deterministic compatibility mapping.
  • Phase C1: versioned new-board command with three groups and fixed header components.
  • Phase C2a1: persistent insert/delete commands for mutable group protection and auxiliary components.
  • Phase C2a2: component update and reorder commands.
  • Phase C2b1: empty-group insert/update/delete commands.
  • Phase C2b2: complete group reorder command.
  • Phase D1a: deterministic collision-aware group-renumber plan.
  • Phase D1b: persistent collision-safe group-renumber command.
  • Phase D2a: deterministic same-category circuit-move plan.
  • Phase D2b: persistent same-category circuit-move command.
  • Phase D3a: complete validated group-subtree snapshot and warning summary.
  • Phase D3b: persistent populated-group delete/restore command.
  • Phase E1: tree read model for components, groups and protection devices.
  • Phase E2a: pure header/group/footer structure projection.
  • Phase E2b: render the structure projection in the editor grid.
  • Phase E: editor projection and editing.
  • Phase F: documentation and full GUI verification.
  • Keep full electrical sizing and cable-dimensioning rules separate until the planner supplies the calculation requirements.
  • Detailed specification: docs/spec/09-distribution-board-components-and-protection-groups.md

First Release Baseline

Complete this immediately before the first supported release, once the schema and initial feature set are frozen:

  • Decide explicitly whether pre-release databases, portable JSON exports, logical snapshots and persisted command histories remain supported.
  • Create one clean baseline migration that builds the complete release schema on an empty database.
  • Replace the active development migration chain and Drizzle metadata only if no released installation depends on it.
  • Remove upgrade-only database, snapshot and command compatibility code only for formats that are explicitly declared unsupported.
  • Preserve the pre-release migration history in Git history or a release tag.
  • Verify installation, migrations, application startup and core workflows against a completely empty database.
  • Mark the resulting compatibility boundary with the first release tag.
  • Treat every migration published after that release as immutable.

Project History

  • Every listed logical snapshot, including automatic snapshots, must be explicitly restorable from the project history UI.
  • Show which project change produced a snapshot. Prefer immutable revision metadata over storing a second free-form description of the same change.
  • Keep restoration auditable as a new project revision and preserve persistent undo/redo.

Distribution Boards

  • Assign an optional project floor to a distribution board.
  • Store a supply classification for each distribution board:
    • AV (Allgemeine Stromversorgung)
    • SV (Sicherheitsstromversorgung)
    • EV (Ersatzstromversorgung)
    • USV (Unterbrechungsfreie Stromversorgung)
    • MSR (Mess-, Steuerungs- und Regelungstechnik)
    • SiBe (Sicherheitsbeleuchtung)
  • Let project settings select which catalog supply types are used in a project. Distribution-board dialogs offer only that selection; a type in use cannot be disabled.
  • Include both fields in project snapshots and portable project export/import.
  • Persist changes through project commands so they remain undoable after a restart.

Device Voltage Derivation

  • Derive voltage from the selected phase type and the project settings:
    • single-phase uses the project's single-phase voltage;
    • three-phase uses the project's three-phase voltage.
  • Voltage is not editable on global devices, project devices or circuits. Global devices store only their phase; copying one into a project derives the target project's voltage.
  • Project-device voltage follows its phase. Circuit voltage follows the section phase; an unassigned circuit is three-phase only when all assigned device rows with a valid phase are three-phase.
  • Changing project voltage settings updates all project devices and circuits atomically in the same persistent Undo/Redo step.
  • Database migration 0019 and snapshot schema version 5 normalize older stored values. Version-four and older imports remain supported and are normalized while being upgraded.

Circuit List Power Summary

  • Show the total power of every circuit section.
  • Show the unadjusted total power of the complete distribution board.
  • Store a distribution-board simultaneity factor between zero and one in the distribution-board settings.
  • Show the distribution-board total after applying that factor.
  • Preserve the factor in project commands, snapshots and portable project transfers.
  • Keep column visibility and order as a project-specific UI preference so all distribution boards in the same project open with the same columns.
  1. Distribution-board floor and supply fields.
  2. Device voltage derivation without overrides.
  3. Snapshot-to-revision descriptions and history presentation.
  4. Distribution-board power summary and project column layout.

The Revit/CSV/IFCGUID round-trip follows the distribution-board component foundation as a separate jointly planned phase and must not be inferred from these tasks.