openpencil/tests/engine
Danila Poyarkov 1c09e3074d
refactor(canvas): draw screen-sized chrome through one outline helper (#947)
* refactor(canvas): draw screen-sized chrome through one outline helper

Overlays each set a zoom-divided stroke width, built a zoom-divided dash,
and reset the shared paint and freed the dash by hand. withScreenStroke
and inNodeSpace do that once, and slot outlines, component set borders,
code focus, the entered container, path-text selection, issue highlights,
and the text-edit frame use them.

The drop-target highlight and the text-edit caret and selection were drawn
inside the scene, which is cached and scaled while navigating; they move
to the overlay pass. open-pencil/no-zoom-in-scene-drawing rejects reading
the zoom in scene drawing modules, apart from choosing effect raster
quality, and the Core guide states the rule.

* refactor(canvas): outline a layer's bounds through one helper

The drop-target highlight and the entered container drew the same screen-sized rectangle around a layer; outlineNode draws it for both.

* fix(lint): stop the effect raster exemption at function boundaries

A zoom read inside a callback passed to effectRasterScale is not the raster scale argument.

* perf(canvas): keep the cached scene while drop targeting and editing text

Both are drawn only in the overlay pass now, so they no longer need an uncached scene render each frame.
2026-10-07 18:37:05 +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(layout): size each axis on its own and lay out before geometry reads (#942) 2026-10-07 11:52:08 +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 feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +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 refactor(canvas): draw screen-sized chrome through one outline helper (#947) 2026-10-07 18:37:05 +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