openpencil/tests/engine
Danila Poyarkov 2bb43c85dc
fix(fig): keep the sizes Figma derived for instance layers when a page loads (#951)
* fix(fig): keep the sizes Figma derived for instance layers when a page loads

Loading a page resynced every component its new instances used, which copied component sizes over the sizes Figma derived for instance layers on earlier pages, and over those of the page's own new instances. A text field filling a 312px instance came back at its component's 210px.

The page now syncs only the instances it placed, through a new SceneGraph.syncInstance, and then puts back the sizes Figma derived for them unless that component layer's size was edited live. The gold input now matches the captured Figma Content width (374.86 instead of 633.69), and its placeholder matches the 97.51 x 39.38 Figma derived in the file.

* fix(fig): keep live edits to mapped component layers over derived sizes

restoreDerivedSizes checked only a layer's own component for live edits. A
nested instance clone syncs from the layer its owning instance maps it to
through sourceComponentId, so a live width edit to that layer was carried
over by the sync and then replaced by the size Figma derived. The restore
now reads the same source layers as reconcileLiveComponentEdits, through a
shared syncSourceLayers helper.
2026-10-07 20:57:55 +00:00
..
acp test: typecheck the test suites and fix what that found (#896) 2026-10-05 12:42:38 +00:00
app feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +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 fix(fig): keep the sizes Figma derived for instance layers when a page loads (#951) 2026-10-07 20:57:55 +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 fix(canvas): keep image-heavy documents within CanvasKit memory (#963) 2026-10-07 20:30:25 +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 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