Persist the studio session across reloads
The working photo and every knob the workspace holds now survive a reload, for guests as much as for signed-in users: - engine/session.ts: the knobs go to localStorage (rc.studio.v1) as small JSON; the photo goes to IndexedDB, because a 12MP JPEG does not fit in localStorage. Both fail soft (private mode, quota) — the studio still works, it just forgets. - App.tsx: state seeds from the stored snapshot synchronously, so the first paint already holds the user's settings; the boot effect pulls the photo back and adopts it with keepGeo, so the restored params are not clobbered by the photo's own EXIF. Recipes a guest creates with SAVE RECIPE stay session-only, as asked — they are still gone on reload (create-test asserts it).
This commit is contained in:
@@ -35,6 +35,7 @@ backend/ Fastify + better-sqlite3 API, own Dockerfile
|
||||
frontend/ Vite + React + CanvasKit SPA, own Dockerfile + nginx.conf
|
||||
shared/ vendored copies of the app's types + utils (see below)
|
||||
src/engine/ skiaShim.ts (CanvasKit) + exportEngine.ts (render pipeline)
|
||||
+ session.ts (localStorage/IndexedDB studio persistence)
|
||||
```
|
||||
|
||||
### Vendored files
|
||||
|
||||
Reference in New Issue
Block a user