Local undo makes the most sense here. Global undo/restore will be left to history tracking.
Each operation has an inverse pushed onto the undo stack. Undo operations push redo operation onto stack.
Draw undo: Objects.delete stroke. Store stroke in redo operation.
Erase undo: store stroke in undo operation. Redo: erase. This won't get the stacking order right until we implement stack re-ordering, but I think it's better than marked items deleted?
Local undo makes the most sense here. Global undo/restore will be left to history tracking.
Each operation has an inverse pushed onto the undo stack. Undo operations push redo operation onto stack.
Objects.delete
stroke. Store stroke in redo operation.deleted
?