Undo and multi-window sync #26

Closed
opened 2026-10-07 07:34:26 +00:00 by crowmaki · 0 comments
Owner

Parent

#24

What to build

A filmmaker can undo and redo authored edits, and can open several windows on one Project that stay in sync. Project settings edits are the first undoable commands. Later tickets plug their authored edits into the same log. Locking, queuing, rendering, generating and importing never go into it.

Acceptance criteria

  • ProjectSession holds an in-memory, per-Project command log with undo/redo for authored edits
  • Project settings edits (title, aspect ratio) can be undone and redone
  • Append-only operations are documented as not undoable, and the log has no way to record them
  • Every state change broadcasts a coarse changed { kind, ids } event to all windows, and views refetch
  • A second window on the same Project can be opened inside one process sharing one ProjectSession, and an edit in one window shows in the other
  • Tests cover undo/redo through ProjectSession and that a change event is emitted for each edit

Blocked by

## Parent #24 ## What to build A filmmaker can undo and redo authored edits, and can open several windows on one Project that stay in sync. Project settings edits are the first undoable commands. Later tickets plug their authored edits into the same log. Locking, queuing, rendering, generating and importing never go into it. ## Acceptance criteria - [ ] `ProjectSession` holds an in-memory, per-Project command log with undo/redo for authored edits - [ ] Project settings edits (title, aspect ratio) can be undone and redone - [ ] Append-only operations are documented as not undoable, and the log has no way to record them - [ ] Every state change broadcasts a coarse `changed { kind, ids }` event to all windows, and views refetch - [ ] A second window on the same Project can be opened inside one process sharing one `ProjectSession`, and an edit in one window shows in the other - [ ] Tests cover undo/redo through `ProjectSession` and that a change event is emitted for each edit ## Blocked by - #25
Sign in to join this conversation.
No description provided.