List the building structure, room areas, rough power balance and cable sizing in the README and documentation map, add an architecture section for the rough power balance, correct stale snapshot schema references and record the integrated contributor features in the backlog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
167 lines
8.2 KiB
Markdown
167 lines
8.2 KiB
Markdown
# 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
|
|
|
|
- [x] Implement the agreed protected circuit-group and distribution-board
|
|
component model in phased work packages.
|
|
- [x] Phase A: central protection catalog, validation, defaults and pure grouped
|
|
BMK rules.
|
|
- [x] Phase B1: relational group, component and protection tables with shared
|
|
BMK uniqueness.
|
|
- [x] Phase B2: complete snapshot/transfer schema for the supported project
|
|
state.
|
|
- [x] Phase C1: new-board command with three groups and fixed header
|
|
components.
|
|
- [x] Phase C2a1: persistent insert/delete commands for mutable group
|
|
protection and auxiliary components.
|
|
- [x] Phase C2a2: component update and reorder commands.
|
|
- [x] Phase C2b1: empty-group insert/update/delete commands.
|
|
- [x] Phase C2b2: complete group reorder command.
|
|
- [x] Phase D1a: deterministic collision-aware group-renumber plan.
|
|
- [x] Phase D1b: persistent collision-safe group-renumber command.
|
|
- [x] Phase D2a: deterministic same-category circuit-move plan.
|
|
- [x] Phase D2b: persistent same-category circuit-move command.
|
|
- [x] Phase D3a: complete validated group-subtree snapshot and warning summary.
|
|
- [x] Phase D3b: persistent populated-group delete/restore command.
|
|
- [x] Phase E1: tree read model for components, groups and protection devices.
|
|
- [x] Phase E2a: pure header/group/footer structure projection.
|
|
- [x] Phase E2b: render the structure projection in the editor grid.
|
|
- [x] Phase E3a: create, edit and delete mutable group and footer components.
|
|
- [x] Phase E3b1: create, rename and safely delete empty circuit groups.
|
|
- [x] Phase E3b2a: persistent circuit-protection update command.
|
|
- [x] Phase E3b2b: circuit-protection defaults on insert and editor modal.
|
|
- [x] Phase E4a: persistent same-category group reorder controls.
|
|
- [x] Phase E4b: explicit group renumber, circuit moves and populated-delete warning.
|
|
- [x] Explicit same-category group renumbering updates prefixes and all child BMK atomically.
|
|
- [x] Single-circuit moves between same-category groups with automatic next-free BMK assignment.
|
|
- [x] Populated-group delete warning and explicit subtree deletion.
|
|
- [x] Phase E: editor projection and editing.
|
|
- [x] 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:
|
|
|
|
- [x] Pre-baseline databases, portable JSON exports, logical snapshots and
|
|
persisted command histories are explicitly unsupported.
|
|
- [x] Migration `0000` builds the complete supported schema on an empty
|
|
database.
|
|
- [x] The development migration chain and Drizzle metadata were replaced
|
|
before any supported release depended on them.
|
|
- [x] Upgrade-only database, snapshot and command compatibility paths were
|
|
removed.
|
|
- [x] Pre-cleanup development history remains available through Git history.
|
|
- [x] 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
|
|
|
|
- [x] Every listed logical snapshot, including automatic snapshots, must be
|
|
explicitly restorable from the project history UI.
|
|
- [x] Show which project change produced a snapshot. Prefer immutable revision
|
|
metadata over storing a second free-form description of the same change.
|
|
- [x] Keep restoration auditable as a new project revision and preserve persistent
|
|
undo/redo.
|
|
|
|
## Distribution Boards
|
|
|
|
- [x] Assign an optional project floor to a distribution board.
|
|
- [x] 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)
|
|
- [x] 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.
|
|
- [x] Include both fields in project snapshots and portable project
|
|
export/import.
|
|
- [x] Persist changes through project commands so they remain undoable after a
|
|
restart.
|
|
|
|
## Device Voltage Derivation
|
|
|
|
- [x] 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.
|
|
- [x] 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.
|
|
- [x] 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.
|
|
- [x] Changing project voltage settings updates all project devices and circuits
|
|
atomically in the same persistent Undo/Redo step.
|
|
- [x] Baseline migration `0000` stores only canonical derived values.
|
|
Pre-baseline imports are intentionally unsupported.
|
|
|
|
## Building Classification
|
|
|
|
- [x] Store whether a project represents a public building.
|
|
- [x] Edit the value in the project settings and preserve it through persistent
|
|
Undo/Redo, snapshots and portable project transfers.
|
|
- [x] Provide the value as an explicit future sizing input for selecting
|
|
halogen-free cables and lines; automatic sizing remains deferred.
|
|
|
|
## Circuit List Power Summary
|
|
|
|
- [x] Show the total power of every circuit section.
|
|
- [x] Show the unadjusted total power of the complete distribution board.
|
|
- [x] Store a distribution-board simultaneity factor between zero and one in
|
|
the distribution-board settings.
|
|
- [x] Show the distribution-board total after applying that factor.
|
|
- [x] Preserve the factor in project commands, snapshots and portable project
|
|
transfers.
|
|
- [x] 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)
|
|
|
|
- [x] Client ids without secure-context browser APIs (`createClientId`).
|
|
- [x] Icon actions, compact column headers and the AMEV picker in the circuit
|
|
list; icon actions and collapsible filters on the project overview.
|
|
- [x] Print view with cover, board overview, board plans, board info card and
|
|
office branding.
|
|
- [x] Buildings above floors and a dedicated building structure page.
|
|
- [x] Optional net room area with sums per floor and building.
|
|
- [x] Optional cable-sizing module for one circuit on demand
|
|
(DIN VDE 0298-4:2023-06 with Berichtigung 1).
|
|
- [x] 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.
|
|
|
|
Open follow-ups (Gitea issues): logical feed link between distribution boards
|
|
(#3), bill of quantities export (#5), area-based loads in W/m² for
|
|
ProjectDevices and device rows (#20).
|
|
|
|
## Recommended Sequence
|
|
|
|
1. [x] Distribution-board floor and supply fields.
|
|
2. [x] Device voltage derivation without overrides.
|
|
3. [x] Snapshot-to-revision descriptions and history presentation.
|
|
4. [x] 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. It is currently deferred and will later use the CSV
|
|
export/import of the Linear plugin in Revit, not Dynamo.
|