Sintuitive

Interaction Learning

A new edit can replace the redo path

Use a fictional drawing editor that stores a linear list of complete canvas snapshots and a pointer to the current one. Initially the only snapshot is an empty canvas. Adding an object appends a snapshot. Undo moves the pointer back one position; redo moves it forward if a later snapshot exists. A new edit after undo deletes the later snapshots before appending its own result. This is the stated policy for this exercise, not a claim about every application.

Build a three-snapshot history in the Sintuitive history worksheetAdd A, then add BEmpty → A → A + BCurrent snapshot: A + BCanvas shows A and BSnapshot list and current position are separate

01

Build two edits and move back one step

Add object A to the empty canvas. The history now contains empty and A, with the pointer at A. Add object B next, producing a third snapshot containing A and B; that becomes current. Undo once, moving the pointer to A without deleting the later A-and-B snapshot. The visible canvas contains only A, while redo could still restore A and B. Record both the visible state and the history position. Looking only at the canvas would conceal the fact that a later snapshot remains available at this point.

Undo preserves a possible redo in the Sintuitive history worksheetUndo once: current snapshot is AHistory still contains A + BCanvas shows only ARedo can restore A + BUndo moves the pointer, not the history list

02

Add a different object after undo

From the current A snapshot, add object C. Under the supplied policy, the editor first removes the later A-and-B snapshot, then appends A and C. The history is now empty, A, and A-and-C, with the pointer at the final entry. There is no later snapshot, so redo is unavailable. B was not removed from the current canvas by this edit; B was already absent after undo. What changed was the stored future path. Keeping that distinction visible helps explain why a new edit can affect recovery options even when it adds rather than removes an object.

New edit replaces the later snapshot in the Sintuitive history worksheetFrom A, add CNew history: Empty → A → A + CCurrent snapshot: A + CNo later snapshot: redo unavailableA + B leaves this linear history

03

Record history and recovery separately

The reusable trace sheet includes the action, visible objects, ordered snapshot list, current pointer and availability of undo and redo. After adding C, undo can still return to A and another undo can return to empty. Redo from those earlier positions follows the new path toward A and C, not the discarded A-and-B snapshot. A separate version archive could preserve that discarded result, but none exists in this exercise. State such recovery boundaries explicitly so a reader does not mistake linear undo history for an unlimited archive of every version ever created.

Undo & redo ↗

Explore Sintuitive

Held for potential development. Acquisition inquiries may be considered.

Domain options ↗