feat(cam): StockState + exact tool-engagement angle #52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "patman/cam-stock"
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?
PR3a of the adaptive-clearing roadmap: analytic StockState (CCW outer / CW cleared contours, one shared Z plane, enforced) and StockState::engagement — the exact engagement angle in [0, 2pi]: tool circle partitioned at boundary intersections, interval midpoints classified by containment, inside widths summed; skip-error bounded by n*tol and documented. Silent-wrong-answer paths found in review are now loud errors: mixed-Z boundaries -> NotCoplanar, radius <= 100x tolerance -> InvalidCircle, coincident tool/boundary circle -> OnBoundary. Regularity documented honestly (C0, sqrt cusps at tangencies) for the feed-law layer. Cross-checked by 256-sample angular Monte-Carlo proptest. Stacked on patman/cam-query (#51).