Persist circuit group moves
This commit is contained in:
@@ -325,7 +325,12 @@ 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.
|
||||
Wiederholung nichts neu berechnet.
|
||||
`circuit.move-group` führt den geplanten Wechsel als eine Projekt-Revision aus.
|
||||
Nur `sectionId`, `equipmentIdentifier` und `sortOrder` des Stromkreises ändern
|
||||
sich. Gerätezeilen und das getrennte 1:1-Schutzgerät bleiben über die stabile
|
||||
Stromkreis-UUID verbunden. Der inverse Wechsel speichert Quellgruppe, BMK und
|
||||
Position vollständig für 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
|
||||
|
||||
@@ -28,7 +28,7 @@ requirements and intended sequencing, not proof of implementation.
|
||||
- [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.
|
||||
- [ ] Phase D2b: persistent same-category circuit-move command.
|
||||
- [x] 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.
|
||||
|
||||
@@ -663,8 +663,8 @@ Acceptance:
|
||||
### D. Group Numbering and Circuit Moves
|
||||
|
||||
Status: In progress. Group renumbering D1 and deterministic circuit-move
|
||||
planning D2a are complete; persistent moves D2b and populated deletion D3
|
||||
remain pending.
|
||||
planning and persistent moves D2 are complete; populated deletion D3 remains
|
||||
pending.
|
||||
|
||||
- implement nested identifier generation
|
||||
- support same-category cross-group circuit moves
|
||||
@@ -700,6 +700,17 @@ Implemented in D2a:
|
||||
and never fills gaps
|
||||
- the computed target BMK is part of the plan and is not recalculated for Redo
|
||||
|
||||
Implemented in D2b:
|
||||
|
||||
- `circuit.move-group` atomically changes only the circuit's group, BMK and
|
||||
sort position
|
||||
- the circuit UUID remains stable, so its device rows and one-to-one protection
|
||||
device remain connected without copying
|
||||
- execution revalidates project/list ownership, both group identities and the
|
||||
complete expected circuit state
|
||||
- Undo/Redo uses the stored inverse move and late failures restore source
|
||||
group, BMK and position
|
||||
|
||||
Acceptance:
|
||||
|
||||
- target identifiers use highest suffix plus one
|
||||
|
||||
Reference in New Issue
Block a user