mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-21 18:58:30 +00:00
- `Project::to_file_json` writes `savedBy` (the EffectCraft version) ahead of the project and checks that the text reads back before anything is written: JSON has no NaN or infinity, so such a value made a file that saved but could never be opened. Save now fails with a message and the file on disk is left as it was. - Opening a project saved by a newer EffectCraft warns that settings this version doesn't know are lost on saving; `file.open` reports `savedBy`. A file that isn't a project names itself in the error. - Increment and Save keeps the extension (`.ecprojx` stays XML); Save a Copy writes XML for `.ecprojx` / `.xml` paths, like Save As. - Docs: architecture (document model), parity. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>