Undo and Redo
The deFlex scene editor maintains an undo/redo history so you can reverse recent changes. History is session-only and is not saved between page reloads or scene switches.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+Z (Windows/Linux) or Cmd+Z (macOS) | Undo the most recent operation. |
| Ctrl+Shift+Z or Ctrl+Y (Windows/Linux), Cmd+Shift+Z (macOS) | Redo the last undone operation. |
Keyboard shortcuts are suppressed when focus is inside a text input, textarea, or content-editable element, so normal text editing shortcuts still work as expected.
Toolbar buttons
The primary bar at the top of the editor contains Undo and Redo icon buttons (curved arrows) to the left of the settings gear. Each button is disabled when there is nothing to undo or redo, or while an undo/redo operation is in progress.
Hovering over an enabled button shows a tooltip with the action label, for example "Undo: Create Rectangle Part" or "Redo: Delete Gripper". This tells you exactly which operation will be reversed or re-applied. When there is nothing to undo or redo, the tooltip reads "Nothing to undo" or "Nothing to redo".
What is undoable
The history tracks operations on scene objects:
- Create object -- adding a part, preserve, analysis object, or other scene element. Undo deletes the created object; redo re-creates it.
- Update object -- changing properties on an existing object (position, dimensions, parameters, etc.). Undo restores the previous values; redo re-applies the new values.
- Delete object -- removing an object and its hierarchical children. Undo re-creates all deleted objects and restores any references that were detached on surviving objects. Redo deletes the object again.
- Compound operations -- some actions involve multiple API calls grouped as a single undo step (for example, creating a preserve and linking it to an analysis object). These are undone and redone as a unit.
Each entry in the history stack stores a human-readable label derived from the operation, such as "Create Rectangle Part", "Edit object", or "Delete Gripper".
History limits
- The undo stack holds up to 50 entries. When the limit is reached, the oldest entry is discarded to make room.
- Performing a new action after undoing clears the redo stack, so you cannot redo past the point where a new change was made.
- If an undo or redo operation fails (for example, due to a network error), the entire history is cleared and an error toast appears.
Session-only
History is not persisted. It resets when you:
- Reload the page.
- Navigate away from the scene editor.
- Switch to a different scene.
Read-only scenes
Undo and redo are disabled when viewing a scene in read-only mode (e.g., a shared or community scene). The toolbar buttons and keyboard shortcuts have no effect.