openpencil/tools
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
..
checks refactor(canvas): draw screen-sized chrome through one outline helper (#947) 2026-10-07 18:37:05 +00:00
ci ci: build and check packages in parallel and reuse verified trees in the merge queue (#944) 2026-10-07 11:04:39 +00:00
dev refactor(fig): export the symbol readers and move the library tests home (#929) 2026-10-06 10:44:22 +00:00
generate feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
release ci: build and check packages in parallel and reuse verified trees in the merge queue (#944) 2026-10-07 11:04:39 +00:00
AGENTS.md feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00
package.json build: update dependencies (#873) 2026-10-04 12:48:24 +00:00
tsconfig.json feat: show controls in a prebuilt demo and fix what saving it to .fig lost (#938) 2026-10-07 18:37:05 +00:00