openpencil/packages/scene-graph
Danila Poyarkov d7613f34ec
perf(scene-graph): accelerate axis-aligned hit tests (#534)
* perf(scene-graph): accelerate axis-aligned hit tests

- Reuse cached world positions for untransformed node chains
- Preserve exact matrix hit testing beneath rotated and flipped ancestors
- Profile pointer, hit-test, cached, overlay, and volatile rendering at 500 and 2,000 nodes

* fix(vue): restore layer drop indicators

- Forward reactive drag instructions through virtualized layer item slots
- Render above, below, and child feedback before the drop completes
- Add browser regressions for reorder lines and container highlights

* fix(scene-graph): harden hit-test performance coverage

- Cache transformed ancestry within each hit-test traversal
- Invalidate absolute positions after preview flips and reparenting
- Attach scale-relative browser profiles and correct auto-layout fixture geometry

* fix(scene-graph): reject cyclic layer reorder

- Prevent reorderChild from parenting a node beneath its descendant
- Cover graph preservation after a rejected cyclic reorder
2026-08-16 15:43:25 +03:00
..
scripts feat: split SceneGraph and Pen packages 2026-06-30 10:54:32 +03:00
src perf(scene-graph): accelerate axis-aligned hit tests (#534) 2026-08-16 15:43:25 +03:00
package.json Release v0.14.0 2026-08-10 11:40:44 +03:00
README.md feat: split SceneGraph and Pen packages 2026-06-30 10:54:32 +03:00
tsconfig.json feat: split SceneGraph and Pen packages 2026-06-30 10:54:32 +03:00
tsdown.config.ts feat(editor): add Figma-style frame presets (#418) 2026-07-26 00:05:57 +03:00

@open-pencil/scene-graph

Shared OpenPencil design document model.

This package owns SceneGraph, SceneNode, paint/effect/layout/variable types, graph mutation helpers, source metadata, and model-level utilities. It does not own editor state, UI, file format policy, rendering, or app document I/O.