135 lines
6.4 KiB
Markdown
135 lines
6.4 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
|
|
|
|
- [ ] 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: additive relational schema, group backfill, component/protection
|
|
tables and shared BMK uniqueness.
|
|
- [x] Phase B2: snapshot/transfer schema upgrade and deterministic compatibility
|
|
mapping.
|
|
- [x] Phase C1: versioned 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.
|
|
- [ ] Phase E4b: explicit group renumber, circuit moves and populated-delete warning.
|
|
- [ ] 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
|
|
|
|
- [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] 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
|
|
|
|
- [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.
|
|
|
|
## 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.
|