Plan circuit group moves

This commit is contained in:
2026-07-30 19:58:45 +02:00
parent 07925b2fd9
commit 9ad91887b2
5 changed files with 232 additions and 3 deletions
+6
View File
@@ -320,6 +320,12 @@ 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.
`src/domain/services/circuit-group-move-planning.ts` plant den Wechsel eines
vollständigen Stromkreises zwischen zwei verschiedenen Gruppen derselben
Kategorie. Die Ziel-BMK verwendet die höchste vorhandene Stromkreis-Endnummer
der Zielgruppe plus eins; Lücken werden nicht gefüllt. Quell-/Zielgruppe,
Quell-/Zielposition und beide BMKs werden festgeschrieben, damit eine spätere
Wiederholung nichts neu berechnet. Die persistente Ausführung folgt separat.
`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
+2 -1
View File
@@ -27,7 +27,8 @@ requirements and intended sequencing, not proof of implementation.
- [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.
- [ ] Phase D2: same-category cross-group circuit moves.
- [x] Phase D2a: deterministic same-category circuit-move plan.
- [ ] Phase D2b: persistent same-category circuit-move command.
- [ ] Phase D3: confirmed populated-group deletion.
- [ ] Phase E: editor projection and editing.
- [ ] Phase F: documentation and full GUI verification.
@@ -662,8 +662,9 @@ Acceptance:
### D. Group Numbering and Circuit Moves
Status: In progress. Deterministic planning D1a and persistent execution D1b
are complete; cross-group moves D2 and populated deletion D3 remain pending.
Status: In progress. Group renumbering D1 and deterministic circuit-move
planning D2a are complete; persistent moves D2b and populated deletion D3
remain pending.
- implement nested identifier generation
- support same-category cross-group circuit moves
@@ -690,6 +691,15 @@ Implemented in D1b:
- Undo/Redo uses the exact inverse plan; late revision/history failures roll
back every group, prefix and BMK
Implemented in D2a:
- a pure planner permits moves only between distinct groups of the same
category
- it validates the source BMK and stores source/target group and sort position
- the target BMK uses the highest existing target-group circuit suffix plus one
and never fills gaps
- the computed target BMK is part of the plan and is not recalculated for Redo
Acceptance:
- target identifiers use highest suffix plus one