openpencil/tests/engine
Danila Poyarkov 6e68366bc6
fix(recovery): store snapshots of any size (#966)
* fix(recovery): snapshot a document only once it has unsaved edits

Opening a document lays it out, which bumps the scene version, so crash
recovery wrote a full .fig snapshot of every document opened from a file
without a writable source, edited or not. For the 401 MiB file from #924
that copied the whole archive a few seconds after opening and killed the
tab. Recovery now asks the document's change tracking, which ignores
layout, whether anything is unsaved.

* fix(recovery): store snapshots as Blobs so large documents fit

Chromium refuses a single IndexedDB value over 127 MiB, so a snapshot of
any larger document failed and recovery fell back to memory for the
rest of the session, holding another copy of the document. A Blob is
kept as a file at any size: a 421 MB snapshot now writes in IndexedDB.
Writes also no longer copy the archive first, and snapshots stored as
byte arrays by earlier versions still read back.

* test(recovery): drop the scene version from the large-buffer snapshot
2026-10-07 21:30:07 +00:00
..
acp test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
app fix(recovery): store snapshots of any size (#966) 2026-10-07 21:30:07 +00:00
cli feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
clipboard fix(fig): keep filled frames and copied text sized as in OpenPencil when exported to Figma (#956) 2026-10-07 18:05:23 +00:00
collab feat(collab)!: sync layer trees as a CRDT and open each room in its own tab (#902) 2026-10-06 10:40:25 +00:00
color test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
core feat(fig): occurrence-scoped instance interpretation as the single .fig reader 2026-10-01 11:20:27 +04:00
dom-css fix: share CSS value parsing between dom-css and design JSX (#910) 2026-10-05 17:02:43 +00:00
figma/api fix(figma-api): size script text to its content, as Figma does (#950) 2026-10-07 20:49:37 +00:00
geometry test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
hit-test perf(scene-graph): accelerate axis-aligned hit tests (#534) 2026-08-16 15:43:25 +03:00
icons test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
io perf: speed up opening large pages (#953) 2026-10-07 20:57:57 +00:00
kiwi test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
layout feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
lint test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
mcp feat(mcp): let MCP clients read only the selection, with a compact get_selection (#732) 2026-10-07 13:01:28 +00:00
pen test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
profiler test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
render perf: speed up opening large pages (#953) 2026-10-07 20:57:57 +00:00
snap test(engine): move root tests into domains 2026-05-16 12:30:27 +03:00
tauri perf: speed up opening large pages (#953) 2026-10-07 20:57:57 +00:00
text perf: scope variable changes to what they can reach (#935) 2026-10-07 11:32:18 +00:00
tools feat(mcp): let MCP clients read only the selection, with a compact get_selection (#732) 2026-10-07 13:01:28 +00:00
vector test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
vue fix(layout): size each axis on its own and lay out before geometry reads (#942) 2026-10-07 11:52:08 +00:00
perf.bench.ts feat: split SceneGraph and Pen packages 2026-06-30 10:54:32 +03:00