Add component update commands

This commit is contained in:
2026-07-30 19:42:09 +02:00
parent 604604f056
commit 69b020339e
11 changed files with 547 additions and 21 deletions
+14 -11
View File
@@ -286,15 +286,18 @@ Freigabe der Netzart in den Projekteinstellungen.
Gespeicherte Anlage-Commands der Schemas 1 und 2 bleiben mit ihren vier
Legacy-Abschnitten und ohne nachträglich erfundene Komponenten ausführbar.
`distribution-board-component.insert` und
`distribution-board-component.delete` versionieren die Anlage und Entfernung
veränderlicher Gruppen-Schutzgeräte und zusätzlicher Verteilergeräte. Der
vollständige Snapshot enthält die stabile Komponenten-UUID und, für
Gruppen-Schutzgeräte, die getrennte 1:1-Schutzgerätekonfiguration. Eigentum an
Projekt, Stromkreisliste und Gruppe sowie der unveränderte Löschzustand werden
innerhalb derselben Transaktion geprüft. Die festen Kopfkomponenten
Hauptschalter und Überspannungsableiter sind von diesen allgemeinen Commands
ausgeschlossen. API- und Editorintegration folgen in den nächsten
Arbeitspaketen.
`distribution-board-component.delete` sowie
`distribution-board-component.update` versionieren Anlage, Entfernung,
Bearbeitung und Sortierung veränderlicher Gruppen-Schutzgeräte und zusätzlicher
Verteilergeräte. Die vollständigen Snapshots enthalten stabile
Komponenten-UUIDs und, für Gruppen-Schutzgeräte, die getrennte
1:1-Schutzgerätekonfiguration. Updates tauschen einen exakt erwarteten gegen
einen vollständigen Zielzustand aus; ID, Eigentum, Rolle und Platzierungszone
bleiben dabei unverändert. Projekt-, Listen- und Gruppenzugehörigkeit sowie
veraltete Zustände werden innerhalb derselben Transaktion geprüft. Die festen
Kopfkomponenten Hauptschalter und Überspannungsableiter sind von diesen
allgemeinen Commands ausgeschlossen. API- und Editorintegration folgen in den
nächsten Arbeitspaketen.
`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
@@ -365,8 +368,8 @@ Kopieren in ein Projekt erzeugt ein eigenständiges Projektgerät.
Ein triggergeführtes Register erzwingt bereits eine normalisierte,
stromkreislistenweite BMK-Eindeutigkeit über Stromkreise und
Verteilerkomponenten. Snapshot- und Transfer-Integration verwenden
Snapshot-Schema 7. Persistente Insert/Delete-Commands für veränderliche
Verteilerkomponenten sind integriert; weitere Command- und UI-Schritte
Snapshot-Schema 7. Persistente Insert/Delete/Update-Commands für
veränderliche Verteilerkomponenten sind integriert; Gruppen- und UI-Schritte
folgen in abgegrenzten Arbeitspaketen.
PostgreSQL ist bewusst nicht implementiert. Die Domainregeln und
+1 -1
View File
@@ -22,7 +22,7 @@ requirements and intended sequencing, not proof of implementation.
components.
- [x] Phase C2a1: persistent insert/delete commands for mutable group
protection and auxiliary components.
- [ ] Phase C2a2: component update and reorder commands.
- [x] Phase C2a2: component update and reorder commands.
- [ ] Phase C2b: group CRUD and reorder commands.
- [ ] Phase D: group numbering, moves and destructive operations.
- [ ] Phase E: editor projection and editing.
@@ -593,9 +593,8 @@ Acceptance:
### C. Persistent Commands and Board Defaults
Status: In progress. New-board defaults C1 and component insert/delete commands
C2a1 are complete. Component update/reorder and group management remain
pending.
Status: In progress. New-board defaults C1 and component management C2a are
complete. Group management C2b remains pending.
- extend `distribution-board.insert` with fixed components and three groups
- implement component and group CRUD commands
@@ -626,6 +625,16 @@ Implemented in C2a1:
component UUID and a late revision/history failure rolls back the complete
write
Implemented in C2a2:
- `distribution-board-component.update` exchanges one complete expected
component/protection snapshot for one complete target snapshot
- name, BMK, protection configuration and `sortOrder` can change atomically
- component id, list/group ownership, role and placement zone remain immutable
through this general update command
- stale expected state and cross-entity BMK collisions are rejected; Undo/Redo
restores the exact previous snapshot
Acceptance:
- new boards contain the agreed fixed structure