openpencil/tests/engine
Danila Poyarkov e8b5d75339
perf: scope variable changes to what they can reach (#935)
* perf: resolve only the layers a variable change can reach

Every value edit, mode change, and binding change re-resolved every bound layer in the document. A value or mode change now reaches the layers bound to its variables or to variables aliasing them, and a binding or variable-mode change reaches the layer's own subtree, so layers elsewhere whose saved values differ from their bindings stay as saved and are not laid out again.

* perf: keep the canvas as drawn when a variable change shows nothing on it

Every variable change bumped sceneVersion, which also keys the canvas's recorded pictures, so renaming or reordering a variable re-recorded every visible layer. The canvas now redraws on its own canvasVersion, which requestRender bumps; requestRefresh bumps only sceneVersion, so views, saving, and recovery still follow. Adding, renaming, reordering, and duplicating variables and collections, renaming modes, and token fields, conditions, and the switch attribute use it.

* test: give the text undo editor double requestRefresh

The double builds EditorContext by hand and missed the new requestRefresh and canvasVersion, which failed check:test-types in the merge queue.
2026-10-07 11:32:18 +00:00
..
acp test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
app feat(collab): show MCP agents, follow streamed JSX, and follow your agents as they work (#725) 2026-10-07 10:04:58 +00:00
cli feat: behaviours and preview mode (#893) 2026-10-06 13:23:05 +00:00
clipboard fix(fig): write text glyphs from the layout the renderer draws (#928) 2026-10-06 11:37:02 +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: match Figma's transforms, strokes, booleans, sections, and names (#931) 2026-10-07 08:36:50 +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 fix(fig): write text glyphs from the layout the renderer draws (#928) 2026-10-06 11:37:02 +00:00
kiwi test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
layout test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
lint test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
mcp feat(collab): show MCP agents, follow streamed JSX, and follow your agents as they work (#725) 2026-10-07 10:04:58 +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 fix(canvas): show every top-level frame's name and select frames by it (#930) 2026-10-06 11:37:46 +00:00
snap
tauri feat(ai): add guided AI setup for providers, coding agents, and Pi (#916) 2026-10-07 08:46:57 +00:00
text perf: scope variable changes to what they can reach (#935) 2026-10-07 11:32:18 +00:00
tools test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
vector test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
vue test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
perf.bench.ts feat: split SceneGraph and Pen packages 2026-06-30 10:54:32 +03:00