mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
On each pointer move of an Alt-drag with the Selection, Direct Selection, Group Selection, Rotate, Scale, Reflect or Shear tool, Session::preview put the drag's snapshot back and ran object.transform with copy again, and duplicate_in copied every selected object again. The Move, Rotate, Scale, Reflect and Shear dialogs with Copy and Preview on copied every selected object again on each change of a value. The interaction now keeps the untransformed copies that its first preview with copy makes of the snapshot. Each later preview that copies the same objects of the same snapshot transforms only those copies. The copies keep their ids, and the document, the selection, the undo step and the journal are the same as before. With 25,000 rectangles selected, a release build of vectorcraft-cli took a median of 138.5 ms for each Alt-drag move after the first preview and takes 105.7 ms with this change. Docs: docs/target-app-parity.md.