Persist circuit cell edits
This commit is contained in:
@@ -220,15 +220,18 @@ After saving, the row becomes linked to the new project device.
|
||||
|
||||
## Undo / Redo
|
||||
|
||||
Session-local UI undo/redo exists for structural and destructive operations.
|
||||
The server already persists immutable revisions and project-wide undo/redo
|
||||
eligibility for the first commands. Public command, undo and redo endpoints
|
||||
exist for Circuit and CircuitDeviceRow field updates as well as
|
||||
Circuit/CircuitDeviceRow insertion and deletion. Complete command coverage and
|
||||
the UI cutover remain future work. CircuitDeviceRow moves between existing
|
||||
circuits and moves that create one new placeholder target circuit are also
|
||||
persisted. The latter stores the complete empty target snapshot so undo can
|
||||
restore the rows and remove only the unchanged generated circuit. Complete
|
||||
The editor's visible undo/redo stack remains session-local while structural and
|
||||
destructive operations are being migrated. Existing Circuit and
|
||||
CircuitDeviceRow cell edits already execute persistent project commands and
|
||||
their toolbar undo/redo actions use the project-wide history endpoints. The
|
||||
tree response supplies the optimistic `currentRevision`; the obsolete direct
|
||||
PATCH routes for these fields are removed. Reloading the page does not yet
|
||||
reconstruct the visible editor stack. Public command, undo and redo endpoints
|
||||
also exist for Circuit/CircuitDeviceRow insertion and deletion.
|
||||
CircuitDeviceRow moves between existing circuits and moves that create one new
|
||||
placeholder target circuit are persisted. The latter stores the complete empty
|
||||
target snapshot so undo can restore the rows and remove only the unchanged
|
||||
generated circuit. Complete
|
||||
in-section Circuit reorders are persisted separately and change sort positions
|
||||
without changing equipment identifiers. Explicit complete-section renumbering
|
||||
is persisted through a separate collision-safe command and is never triggered
|
||||
|
||||
Reference in New Issue
Block a user