User Guide
04.8 · Editing Annotations

Undo and Redo

Spark records every annotation edit in an undo stack. Mistakes are reversible.

Shortcuts

ActionShortcut
UndoCtrl+Z
RedoCtrl+Y

Also accessible via Edit menu, the toolbar Undo / Redo buttons, and the right-click document context menu.

What Gets Recorded

Every annotation-modifying action creates one undo entry:

Context Menu Ops

  • Color change
  • Opacity change
  • Duplicate
  • Delete (single or group)
  • Bring to Front / Send to Back
  • Flip Cloud Direction
  • Insert Point Here
  • Delete Point

Transform Handle Ops

  • Move (one entry per drag, regardless of distance)
  • Resize (one entry per drag)
  • Rotate (one entry per drag)
  • Vertex handle drag (one entry per vertex move)

Drawing Ops

  • Creating an annotation (after finalising)
  • Deleting via Delete key
  • Cut / Paste

What Is NOT In the Undo Stack

  • Page operations — insert / delete / rotate / reorder pages are tracked by a separate system (via Pages menu → Undo where applicable).
  • View changes — zoom, scroll, switch tab do not push to the annotation undo stack.
  • Save / Save As — not undoable; always make copies before destructive operations like Apply Redactions.
  • Tool selection — switching from Rectangle to Circle tool is not recorded.

Stack Size

Up to 100 undo entries are kept. After 100, the oldest is discarded to keep memory bounded. If you need to revert further, close the document without saving.

Redo After Undo

If you Undo and then perform a NEW action, the Redo stack is cleared — you can no longer redo past the new action. This matches standard word-processor behaviour.

Across Documents

Undo stacks are per-document. Switching tabs doesn't mix undo histories. Closing a document discards its stack.

Status Bar Feedback

Each undo / redo shows the action description:

  • Undo: Change color
  • Redo: Move
  • Undo: Flip cloud direction

Transactional Transforms

A single mouse-down-to-mouse-up drag is one undo entry, even if the cursor moved through hundreds of positions. Spark captures "before" state at mouse-down and "after" at mouse-up, skipping all intermediate frames.

When Undo Might Not Restore Perfectly

ScenarioBehaviour
Undo after closing document and reopeningImpossible — stack was discarded on close
Undo an op on an annotation that was since deleted by another meansSkipped with a warning
Undo across a File → Save AsStack is retained; undo works
Undo an Apply-RedactionsNot supported — redactions are permanent

Practical Notes

Tip

Tip — If you accidentally delete an annotation, press Ctrl+Z immediately. Even if you've done other actions since, multiple Undos will step back through history to the deletion.

Tip

Warning — Closing and reopening a document wipes the undo stack. If you've made changes you may want to revert, either save them first (preserving history for this session) or close WITHOUT saving to recover the original from disk.

Tip

Tip — Undo is fast. Don't worry about "using up" undo slots — just hit Ctrl+Z to try something and undo if you don't like it.