Autosave & Recovery
While a project is open, the editor keeps a backup beside it on disk. If a session ends badly, the Project Hub offers that backup back to you.
How autosave works
Section titled “How autosave works”While a project is open, the editor writes a backup every five minutes to a
companion file beside the project: the full project path with .autosave
appended, so stone_wall.surfacelabs produces
stone_wall.surfacelabs.autosave in the same folder.
The backup is written in exactly the same archive format as a manual save, so it contains the full working state: graph, parameters, embedded media and fonts, comments, annotations, Jump Nodes, subgraph definitions, exposed parameters, view state, export settings, and every material in the project.
Autosave never touches the project file itself. A backup is also written when the app is sent to the background, and when you open a different project while one is already open - that one fires immediately and silently, with no confirmation.
A tick is skipped when there are no unsaved changes since the last save, and while a subgraph is open for editing (the live graph is then the subgraph definition, not the material). Each backup that does happen shows an “Autosaved” notification. Only one backup file is kept per project; each write replaces the previous one.
The archive is compressed and written on a background isolate, so autosaving a large graph does not freeze the editor.
A successful manual save deletes that project’s backup. The timer stops when the editor closes; any existing backup file is left in place.
The recovery shelf
Section titled “The recovery shelf”At startup the app checks the most recently opened project for a backup companion. The prompt appears when the backup is newer than the project file, or when the project file no longer exists (a crash before the first save). This is a timestamp comparison, not crash detection, so the prompt can also appear after a clean exit that left unsaved changes captured in a backup.
When a backup qualifies, a strip slides in above the project list in the
Project Hub, showing the project name and “Autosaved <relative time> -
recover unsaved changes?”. Three controls, in this order:
- Discard deletes the backup file and closes the shelf; the project file is untouched.
- Restore copies the backup over the project file, adds it to the recent list, and opens it. This replaces the project file’s contents and cannot be undone.
- ▴ collapses the shelf without deciding. The backup stays on disk and the prompt reappears next time.
After a restore, the project file becomes the newer of the pair, so the prompt does not return for it.
Crash notice
Section titled “Crash notice”Separately from the recovery shelf, if the app finds crash reports on disk it has not already told you about, the Hub shows a toast, not a dialog: recovering from a crash is the moment you want your project back, not a prompt in the way. It names which session it was:
- “The previous session ended unexpectedly. Export a diagnostics report to help get it fixed?”
- “An earlier session ended unexpectedly. Export a diagnostics report to help get it fixed?”
The toast carries an Export… button and expires on its own. Exporting asks
for a folder, writes a zip into it, reveals the file, and reports “Crash
report saved to <path>” - or “No crash report to export.” if there was
nothing to collect.
If you need the diagnostics after dismissing the toast, Settings → General → Export Diagnostics… bundles the same crash artifacts at any time. See Settings.