Persist circuit group renumbering
This commit is contained in:
@@ -313,8 +313,13 @@ Revision und einen Undo/Redo-Schritt.
|
||||
`src/domain/services/circuit-group-renumbering.ts` plant explizite
|
||||
Gruppennummerierungen deterministisch. Der reine Plan erhält
|
||||
Stromkreis-Endnummern, leitet Gruppenpräfixe und optionale `.0`-Komponenten-BMKs
|
||||
neu ab und prüft Nummerntausch sowie Kollisionen mit unveränderten Gruppen. Die
|
||||
persistente Ausführung dieses Plans folgt als eigener Command.
|
||||
neu ab und prüft Nummerntausch sowie Kollisionen mit unveränderten Gruppen.
|
||||
`circuit-group.renumber` führt diesen Plan über die gemeinsame
|
||||
Projekt-Command-Transaktion aus. Vor dem Schreiben müssen alle betroffenen
|
||||
Gruppen, Stromkreise und Gruppenkomponenten exakt dem erwarteten Zustand
|
||||
entsprechen. Nummerntausch verwendet kollisionsfreie temporäre Präfixe und
|
||||
BMKs über beide BMK-Tabellen; anschließend werden alle Zielwerte finalisiert.
|
||||
Der vollständige inverse Plan ermöglicht dauerhaftes Undo/Redo.
|
||||
`distribution-board.update` versioniert Etage, Netzart und den
|
||||
verteilerweiten Gleichzeitigkeitsfaktor gemeinsam und stellt alle Werte über
|
||||
dauerhaftes Undo/Redo wieder her. Der Faktor liegt zwischen `0` und `1` und
|
||||
|
||||
@@ -26,7 +26,7 @@ requirements and intended sequencing, not proof of implementation.
|
||||
- [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.
|
||||
- [ ] Phase D1b: persistent collision-safe group-renumber command.
|
||||
- [x] Phase D1b: persistent collision-safe group-renumber command.
|
||||
- [ ] Phase D2: same-category cross-group circuit moves.
|
||||
- [ ] Phase D3: confirmed populated-group deletion.
|
||||
- [ ] Phase E: editor projection and editing.
|
||||
|
||||
@@ -662,9 +662,8 @@ Acceptance:
|
||||
|
||||
### D. Group Numbering and Circuit Moves
|
||||
|
||||
Status: In progress. The deterministic renumber planner D1a is complete;
|
||||
persistent execution D1b, cross-group moves D2 and populated deletion D3
|
||||
remain pending.
|
||||
Status: In progress. Deterministic planning D1a and persistent execution D1b
|
||||
are complete; cross-group moves D2 and populated deletion D3 remain pending.
|
||||
|
||||
- implement nested identifier generation
|
||||
- support same-category cross-group circuit moves
|
||||
@@ -680,6 +679,17 @@ Implemented in D1a:
|
||||
- collisions with unchanged groups, no-op mappings and mismatched current BMKs
|
||||
are rejected before persistence
|
||||
|
||||
Implemented in D1b:
|
||||
|
||||
- `circuit-group.renumber` persists the complete expected/target plan as one
|
||||
project revision
|
||||
- group-number swaps use collision-safe temporary group identities and BMKs
|
||||
across both circuit and component tables
|
||||
- every current circuit and group component must be included unchanged before
|
||||
execution starts
|
||||
- Undo/Redo uses the exact inverse plan; late revision/history failures roll
|
||||
back every group, prefix and BMK
|
||||
|
||||
Acceptance:
|
||||
|
||||
- target identifiers use highest suffix plus one
|
||||
|
||||
Reference in New Issue
Block a user