feat(cam): signed contour offsetting with corner joins #53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "patman/cam-offset"
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?
PR3 core of the adaptive-clearing roadmap: offset_closed(contour, distance) — signed planar offset, positive = left of travel (interior of a CCW loop). Lines translate along the left normal; arcs shrink/grow radius by side; tangent (G1) junctions reconnect exactly; separating junctions get an arc join centered on the original vertex (sweep provably < pi); overlapping line-line junctions trim at the intersection. Deferred honestly: arc-involved trims (TrimUnsupported), global self-intersection. Result re-validates through Contour::new with the input tolerance. Guards for the two known silent-corruption envelopes land in the stacked follow-up PR — offset_closed must not be consumed until that merges. Stacked on patman/cam-stock (#52).