8.2 KiB
8.2 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: relational group, component and protection tables with shared BMK uniqueness.
- Phase B2: complete snapshot/transfer schema for the supported project state.
- Phase C1: 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 E3a: create, edit and delete mutable group and footer components.
- Phase E3b1: create, rename and safely delete empty circuit groups.
- Phase E3b2a: persistent circuit-protection update command.
- Phase E3b2b: circuit-protection defaults on insert and editor modal.
- Phase E4a: persistent same-category group reorder controls.
- Phase E4b: explicit group renumber, circuit moves and populated-delete warning.
- Explicit same-category group renumbering updates prefixes and all child BMK atomically.
- Single-circuit moves between same-category groups with automatic next-free BMK assignment.
- Populated-group delete warning and explicit subtree deletion.
- 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. The optional per-circuit
cable sizing module (
docs/cable-sizing-module.md) exists; its supported tables were confirmed against DIN VDE 0298-4:2023-06 with Berichtigung 1:2023-10. Unsupported arrangements stay explicitly blocked. - Detailed specification:
docs/spec/09-distribution-board-components-and-protection-groups.md
First Release Baseline
The pre-release cleanup established the following compatibility boundary:
- Pre-baseline databases, portable JSON exports, logical snapshots and persisted command histories are explicitly unsupported.
- Migration
0000builds the complete supported schema on an empty database. - The development migration chain and Drizzle metadata were replaced before any supported release depended on them.
- Upgrade-only database, snapshot and command compatibility paths were removed.
- Pre-cleanup development history remains available through Git history.
- Clean installation, migration, startup and core workflows were verified against an empty database.
- Mark this compatibility boundary with the first supported release tag.
- After that release, every published migration is immutable and later schema changes must use new additive migrations.
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.
- Baseline migration
0000stores only canonical derived values. Pre-baseline imports are intentionally unsupported.
Building Classification
- Store whether a project represents a public building.
- Edit the value in the project settings and preserve it through persistent Undo/Redo, snapshots and portable project transfers.
- Provide the value as an explicit future sizing input for selecting halogen-free cables and lines; automatic sizing remains deferred.
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.
Integrated Contributor Features (September 2026)
- Client ids without secure-context browser APIs (
createClientId). - Icon actions, compact column headers and the AMEV picker in the circuit list; icon actions and collapsible filters on the project overview.
- Print view with cover, board overview, board plans, board info card and office branding.
- Buildings above floors and a dedicated building structure page.
- Optional net room area with sums per floor and building.
- Optional cable-sizing module for one circuit on demand (DIN VDE 0298-4:2023-06 with Berichtigung 1).
- Rough power balance for LPH 2/3 by cost group, including the comparison with the detailed balance and the explicit copy of one row as a ProjectDevice.
- Logical distribution-board feed link with an optional feeding circuit, recursive load rollup and deletion guards (#3).
Open follow-ups (Gitea issues): bill of quantities export (#5), area-based loads in W/m² for ProjectDevices and device rows (#20).
Recommended Sequence
- Distribution-board floor and supply fields.
- Device voltage derivation without overrides.
- Snapshot-to-revision descriptions and history presentation.
- Distribution-board power summary and project column layout.
The Revit/Linear-XLSX round-trip was completed separately in Phase 14. It uses exact Worksharing-ID identity and must not be inferred from these unrelated backlog tasks. See the R0–R10 plan.