mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 20:27:05 -06:00
Follow-up to #4345 / #4145 per maintainer guidance from @bflatastic. - In `crates/effects/src/geometry.rs` & `crates/effects/src/reshape.rs`: - Implements `optimize_geometry_effects`: reorders pure-translation Transform effects with copies after a terminal round-join Offset Path effect when the effective style is safe (NonZero fill and no stroke). - Offsetting a union equals the union of offsets for round (Minkowski) offsets; moving pure-translation copies after the terminal offset evaluates Offset Path once on the base geometry rather than over dozens of multiplied copies, turning O(copies * segments) planar sweep explosion into a single fast offset plus lightweight affine copies. - Safely commutes across multiple consecutive pure-translation Transform effects. - Preserves exact visual geometry by leaving miter, bevel, EvenOdd, stroked, or non-terminal effect stacks in their original order. - Added comprehensive unit and regression tests in `crates/effects/src/tests.rs`. - Added contributor entry in `contributors/people.toml`.