vectorcraft/docs
dotCooCoo 6f9e2d5c16 Part of #1429: Layers panel and artboard commands on many rows take time linear in the document
These commands removed, moved or copied one row or object at a time:
the Layers panel's Delete Selection, Duplicate Selection, Collect in
New Layer, row drags, Merge Selected, Flatten Artwork and Release to
Layers, and Cut Artboard, Duplicate Artboard and the Artboard tool's
Alt-drags that copy art. Each edit moved the later rows of the same
layer or group to other indices. The next lookup by id then walked the
tree, and after every fourth such walk Document::index_path rebuilt
the whole lookup cache. Release to Layers also walked the document
twice for each new layer to name and color it. With 25,000 rectangles
in one layer, a release build of vectorcraft-cli took 11.9 s for
Duplicate Selection and 17.7 s for Release to Layers.

The commands now remove, move and copy the rows in one pass over each
layer or group, with Document::remove_many and Document::wrap, and
with copy_above, the copy pass of duplicate_in, which Duplicate
Selection and the artboard copies now share. Release to Layers names
its new layers from one walk of the document. Merge Selected checks
the target layer's objects against a set of the listed rows, and
Delete Selection checks the top-level layers against such a set. In a
document whose ids are unique, the rows keep their order, new rows and
layers take the same ids, names and colors, and the selection, the
undo step and the journal are the same. A release build with this
change takes 98 ms for Duplicate Selection and 26 ms for Release to
Layers.

Docs: docs/target-app-parity.md.
2026-10-13 05:21:04 +07:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:13 -04:00
images README: refresh the screenshots and renders, add a Perspective Grid shot 2026-10-08 02:39:29 +07:00
affinity-validation.md AF.4 docs: leave out shop listings and sandbox notes 2026-10-09 22:20:39 +07:00
architecture.md Print: adopt craft-print while retaining Windows 7 support 2026-10-12 14:20:48 +07:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#411) 2026-10-07 21:22:04 -04:00
control-protocol.md Fix #1442: an unknown parameter key is an error naming it and the nearest accepted key 2026-10-13 02:54:33 +07:00
development.md i18n: add complete Vietnamese localization 2026-10-13 05:02:43 +07:00
effects-parity.md 3D and Materials: the bevel and rotation options take their documented names, and the new messages are in every catalog 2026-10-13 00:52:40 +07:00
file-format-parity.md Docs: ROADMAP 2026-10-12 adds #1434–#1497 (later merges of the day) 2026-10-13 03:25:37 +07:00
gaps.md Vietnamese: the 3D dialog's and 3D effects' rows the other complete catalogs have 2026-10-13 05:03:41 +07:00
hardware-parity.md Docs: ROADMAP 2026-10-12 adds #1434–#1497 (later merges of the day) 2026-10-13 03:25:37 +07:00
image-trace-quality.md Image Trace: photos are smoothed within their tones first, and stacked layers go by lightness 2026-10-13 04:28:02 +07:00
localization-parity.md Vietnamese: the 3D dialog's and 3D effects' rows the other complete catalogs have 2026-10-13 05:03:41 +07:00
mcp.md Fix #1471: making and restyling type reports text that doesn't fit its frame 2026-10-13 03:27:13 +07:00
plugins.md Plug-ins: numeric defaults stay in their declared range 2026-10-13 02:21:35 +07:00
releasing.md fix(packaging): RPMの依存を共有ライブラリ能力に修正 (#1275) 2026-10-12 07:26:02 +07:00
revolve.md M9: add live Revolve with artboard rotation and lighting controls 2026-10-10 23:44:46 +07:00
roadmap.md Docs: ROADMAP 2026-10-12 adds #1434–#1497 (later merges of the day) 2026-10-13 03:25:37 +07:00
shaper.md M2.9: add editable Shaper groups and shape orientation steps 2026-10-08 22:52:23 +01:00
target-app-parity.md Part of #1429: Layers panel and artboard commands on many rows take time linear in the document 2026-10-13 05:21:04 +07:00
three-d.md 3D and Materials: curves follow a tolerance, and Rotate takes large outlines 2026-10-13 03:14:50 +07:00
type-parity.md Docs: ROADMAP 2026-10-12 adds #1434–#1497 (later merges of the day) 2026-10-13 03:25:37 +07:00
ui-parity.md Docs: ROADMAP 2026-10-12 adds #1434–#1497 (later merges of the day) 2026-10-13 03:25:37 +07:00
windows7.md Print: adopt craft-print while retaining Windows 7 support 2026-10-12 14:20:48 +07:00