mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-07 23:00:35 +00:00
The check that reuses a moved path's stroke outline allowed each coordinate to differ from the moved one by 4 x f64::EPSILON times the sum of the compared coordinates and the largest coordinate of the first point, about 2.7 pt near 1e15, so a 0.5 pt anchor or handle edit there drew the outline made before the edit. offset_between and anchors_moved now measure the offset on each axis at the pair of points with the smallest coordinates on that axis, then check every pair against that offset within 3 units in the last place of the pair's own coordinates. A first anchor far from the origin no longer sets the tolerance for points near it. Tests: 0.5 pt anchor and handle edits at 1e9 and 1e15 (and 0.0005 pt at 1e9); an edit near the origin of a path that starts at 1e16; a path whose coordinates shrink with each point, moved by growing amounts.