mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-30 12:47:13 -06:00
- In `shaper::refresh`, replace full document walks with `changed_shaper_groups`, diffing `before` and `after` layers and short-circuiting on pointer-equal (`Arc::ptr_eq`) subtrees in O(1). - Return whether Shaper groups rebuilt or modified artwork (`Result<bool>`), allowing `Session::edit` to skip the second `cmd::objects_on_path::refresh` call when no artwork was modified. - In `textwrap::refresh`, check pointer equality on layers against `before.layers`, skipping untouched layers in O(1) and checking only modified layers.