Every Editor preference was per-MACHINE: autocomplete, shortcut ideas, the anchor
toggle and the custom-i2v bypass in browser localStorage, and the shortcut
revolver in a server-side sidecar next to the shortcut DB. A freshly rented box
has neither, so all of them silently revert to their defaults and have to be set
by hand again — the revolver's Random mode every single time.
They now ride along in the project file (Project.editor_settings), and opening a
project puts them back. The revolver is still a server setting shared by every
browser and by generation; the project only restores it, and only POSTs when the
value actually differs, so opening a project that already agrees never restarts a
live cycle.
Two cases that would otherwise leave the feature useless for an existing setup:
* A project saved before this existed, opened on a configured machine, adopts
the machine's current settings instead of staying blank — including reading the
server's current revolver mode. Nothing changes in the moment; it just stops
the project from travelling empty.
* setEditorSetting mirrors into the project BEFORE its unchanged-value return.
Re-picking a value you already have is a no-op, so without this the settings
you never touch again — exactly the ones you'd lose — would never be recorded.
An ABSENT key still means "leave this browser alone": loading an old project must
never overwrite a configured setting with a default.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>