mirror of
https://github.com/storytold/figcraft.git
synced 2026-11-13 05:42:38 +00:00
The handler grouped equal offsets by a linear scan per point, quadratic when every point moves by its own offset. Only a single move covering every point carries the regions' paint frames, so it now checks in one pass whether all offsets are equal: if so the points move as one, otherwise each moves by its own offset. The result is the same as before. Tests: booleans, a valid x with a refused y, and the overflow case are refused with no undo step; nothing selected is refused; a shared Y scrubs every point in one undo step and a Mixed X doesn't scrub. selection_position's doc comment names its one user, vector.edit.bounds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Model-Effort: Opus 5.5 drove and wrote