Version history and selective paste: the small things in 0.4
StoryFolder —
Part of: StoryFolder 0.4: AI Autofill, local transcription, and an assistant that can see your library
Last updated: 2 September 2026.
StoryFolder records a restore point before each edit gesture, including the shot metadata you type by hand, lets you look at any of them without changing anything, and puts the state back if you ask. ⌘Z, Ctrl+Z on Windows, takes the last one back straight after you make it. New in StoryFolder 0.4, alongside Copy notes & metadata and Paste notes & metadata, which move values from one shot to a set of others through a plan you approve first. Both are free on every tier. What version history covers is edit gestures, not everything that happens to a video: an import is not in it, and an AI Autofill run is not in it either, which is the one exclusion worth reading twice.
Which edits does version history record?
The ones that come through the app as a deliberate change to a video: the shot fields you type into on a card or in the inspector, the transcript you correct, the title, the notes, the folder it sits in, and the four controls that re-cut the board. One restore point per gesture, holding the state before the change, labelled with what changed and who changed it.
The list, in the words the history uses:
- metadata edit, the shot fields you type by hand
- video metadata edit, the project-level ones
- transcript edit, including a speaker correction
- rename project and edit notes
- move to folder
- change shot detection, change minimum shot length, merge shots and split shot, the four controls that re-cut a board
That last group is the one people are surprised by. Changing detection sensitivity on a finished board rewrites every shot boundary in it, and it is captured, so it can be put back.
One gesture is one point, not one point per shot. A change written across forty shots arrives as a single request and becomes a single entry with a single undo, exactly as it felt when you made it. ⌘Z reverts the most recent one without the history being open, and pressing it again walks back another step, so mistyping a field and immediately regretting it costs one keystroke rather than a trip through a modal. Entries carry a timestamp, a label, a bar showing how much they changed, marks on the shots that moved, and a badge when the actor was not you. That badge is how an assistant's writes are told apart from your own: the connector identifies itself on every request, and the history keeps that on the record.
What happens when you preview and then restore?
Previewing shows you a version without touching anything, and restoring records the current state first, so the restore is itself undoable.
Open Version history from the editor toolbar and it comes up in two panes: the entries on one side, and the selected one on the other with its own poster frame and the shots it changed marked. Nothing in that view writes. The previewed shot list is worked out in memory and thrown away, which is a property of how it is built rather than a promise about how carefully it is used.
Restore writes the snapshot back and re-derives the board once. Before it does, it captures a point holding what you had, so redo needs no separate machinery: the point it just made is the way back. A failed load and an empty history say different things, because being told your edits were never recorded when a request merely timed out is its own kind of damage.
What is stored is the annotation and the cut, not the media. Version history does not version your video file, and it is not a record of rough-cut revisions. If the question is which cut a client note belongs to, that is a different problem.
How does selective paste work?
Copy takes the metadata off one shot into a buffer inside the app; paste opens a plan where you pick which of those fields to write, which shots to write them to, and whether anything already there is left alone.
- Select a shot and choose Copy notes & metadata from the inspector, in the editor or in the library.
- Select the shots you want it on and choose Paste notes & metadata.
- Tick the fields. The buffer remembers everything the source shot had; the plan is where you narrow it to the two that actually transfer.
- Pick the scope: this shot, the shots you selected, or all of them.
- Leave the mode on Only fill empty fields, which means exactly that and leaves a filled field alone whatever it holds, or choose to overwrite and read the counted warning.
- Check the count line, which names fields and shots, and commit.
The counts and the writes come from one pass over the same fields and shots, so the number on the warning, the number on the button and what the button then does cannot drift apart. The whole paste is one gesture, so it is one entry in version history and one undo.
This is an in-app buffer and not your system clipboard, which is deliberate: shot metadata is a keyed record with no text form anybody would want pasted into a text field, and sharing the system clipboard would put every copy you make in a notes box in competition with it. The tradeoff is that this buffer is StoryFolder's own. It does not travel to other applications.
How do you use these on a 500-shot board?
Narrow first with a filter, then paste once into what is left, then check the count rather than the thumbnails.
Filter the board down to the shots that should share a value, copy from the one shot you have already got right, and paste to the selection with Only fill empty fields on. Then read the number the modal gave you and compare it against the number of results the filter showed. If those two disagree, stop, because something in your selection is not what you thought it was. Spot-check a few targets from the start, middle and end plus one shot that already had a value, to confirm the mode did what it said.
Then open the history and confirm there is one entry and not several. That is the check that the whole thing was one gesture, and it is also your route back if the answer was wrong.
What do these controls not cover?
Imports, AI Autofill runs, your media files, and any value that was already wrong before you started.
An AI Autofill run writes directly and mints no restore point, so version history has nothing to offer it. The guard on Autofill is the same Only fill empty fields rule, which stops it touching what you typed, plus reviewing a small run before widening it. Nothing about version history retroactively makes an Autofill run reversible, and treating it as a safety net for one is the single most expensive misreading available here.
Importing a video is not captured either, and neither is anything that happens to the file on disk. Version history is a record of what you told StoryFolder about a video, which is worth having and is not the same as a backup.
FAQ
Can I undo an AI Autofill run? No. Autofill creates no restore point. Version history covers edits you make by hand, an assistant's writes and a paste.
Does ⌘Z work right after I change something? Yes. ⌘Z, Ctrl+Z on Windows, reverts the most recent restore point straight after the change that made it, and pressing it again walks back another step.
Can I undo an assistant's edits? Yes. An assistant's writes are captured like your own and carry a badge saying they were not yours, so you can find exactly those and put them back.
Does pasting to fifty shots create fifty history entries? No, one. A restore point is minted per gesture, not per shot.
Can I paste only into empty fields? Yes. Only fill empty fields is a write mode in the paste plan and it leaves a filled field alone whatever it holds.
Does Copy metadata use my system clipboard? No, it is a buffer inside StoryFolder. It does not travel to other applications.
Does previewing a version change anything? No, the preview is derived in memory and nothing about it is written back. Restoring does write, but it captures the current state first, so it is itself reversible.
Does version history store my video file? No. It stores the metadata, the transcript, the titles and notes, the folder, and the shot-detection settings that determine the cut.