Persist circuit reorders

This commit is contained in:
2026-07-25 21:22:10 +02:00
parent 08a2775a88
commit abcb468807
26 changed files with 914 additions and 372 deletions
+11 -9
View File
@@ -220,15 +220,17 @@ After saving, the row becomes linked to the new project device.
## Undo / Redo
The editor's visible undo/redo stack remains session-local while reorder and
renumber operations are being migrated. Existing Circuit and CircuitDeviceRow
cell edits, standalone insertion/deletion and CircuitDeviceRow moves already
execute persistent project commands; their toolbar undo/redo actions use the
project-wide history endpoints. Insertions and generated move targets use
client-generated stable UUIDs, and undo restores the same ids from complete
server snapshots. The tree response supplies the optimistic `currentRevision`;
obsolete direct field PATCH, structure POST, move, Circuit and CircuitDeviceRow
DELETE routes are removed.
The editor's visible undo/redo stack remains session-local while renumber
operations are being migrated. Existing Circuit and CircuitDeviceRow cell
edits, standalone insertion/deletion, CircuitDeviceRow moves and Circuit
reorders already execute persistent project commands; their toolbar undo/redo
actions use the project-wide history endpoints. Applying a sorted view across
multiple sections is one atomic `circuit.reorder-sections` command and one undo
step. Insertions and generated move targets use client-generated stable UUIDs,
and undo restores the same ids from complete server snapshots. The tree
response supplies the optimistic `currentRevision`; obsolete direct field
PATCH, structure POST, move, reorder, Circuit and CircuitDeviceRow DELETE
routes are removed.
Reloading the page does not yet reconstruct the visible editor stack.
CircuitDeviceRow moves between existing circuits and moves that create one new
placeholder target circuit are persisted. The latter stores the complete empty