feat(cam): offset result guards (miter cap, orientation check) #54
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "patman/cam-offset-guards"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the two silent-corruption envelopes found in adversarial review of #53: (1) miter cap — trim intersections farther than 10x|d| from the original vertex err MiterExceeded instead of returning a validating 98 m excursion from a 1 m part; (2) orientation guard — exact signed area (shoelace + per-arc r^2(sweep − sin sweep) correction, derived exact not approximate) of input vs output must agree in sign, else OffsetConsumed — an over-offset can no longer return a silently reversed loop that would flip downstream winding containment. Regression tests for both. offset_closed is safe to consume once this lands. Stacked on patman/cam-offset (#53).