feat(cam-clear): engagement-controlled clearing-ring strategy #61

Merged
patman merged 1 commit from patman/cam-rings into main 2026-07-09 23:27:55 +00:00 AGit
Owner

PR7, the first toolpath strategy: new cam-clear crate. plan_rings(pocket, params) — seed at the largest inscribed circle, plunge disk, then ring passes grown outward with stepover solved by bisection against EXACT engagement of the evolving stock (single CW island = latest cleared envelope; reviewer PROVED the model conservative and the engagement law delta = r(1-cos beta/2) keeps stepover strictly below 2r, so no uncut ridges); rings clamp to the tool-center limit curve, which is emitted verbatim as the final pass. Sampling is corner-aware (every ring vertex always sampled, so engagement enforcement, limit containment, and the max_engagement report cannot silently miss a corner peak; intra-segment blind spot bounded by arc-length spacing and documented). Known v0 honesty items, all surfaced via RingPlan.max_engagement, never silent: first-ring engagement has a geometric floor of exactly pi (plunge disk = tool radius; helical entry tracked as follow-up), and the final limit pass bypasses engagement solving. v0 scope: single CCW pocket, no islands; rings are circles until they escape (boundary-shaped inward-offset ring family is the tracked v1 upgrade). One cohesive narrative point per the paused line-budget ruling. Stacked on patman/cam-reversed (#60).

PR7, the first toolpath strategy: new cam-clear crate. plan_rings(pocket, params) — seed at the largest inscribed circle, plunge disk, then ring passes grown outward with stepover solved by bisection against EXACT engagement of the evolving stock (single CW island = latest cleared envelope; reviewer PROVED the model conservative and the engagement law delta = r(1-cos beta/2) keeps stepover strictly below 2r, so no uncut ridges); rings clamp to the tool-center limit curve, which is emitted verbatim as the final pass. Sampling is corner-aware (every ring vertex always sampled, so engagement enforcement, limit containment, and the max_engagement report cannot silently miss a corner peak; intra-segment blind spot bounded by arc-length spacing and documented). Known v0 honesty items, all surfaced via RingPlan.max_engagement, never silent: first-ring engagement has a geometric floor of exactly pi (plunge disk = tool radius; helical entry tracked as follow-up), and the final limit pass bypasses engagement solving. v0 scope: single CCW pocket, no islands; rings are circles until they escape (boundary-shaped inward-offset ring family is the tracked v1 upgrade). One cohesive narrative point per the paused line-budget ruling. Stacked on patman/cam-reversed (#60).
Adds cam-clear (plan_rings): grows concentric tool-center rings outward
from the largest-inscribed-circle seed, solving each ring's stepover by
bisection so its exact sampled engagement against the evolving stock
stays at/below a target, and stopping at the pocket's tool-center limit
curve. v0 is a single CCW pocket loop, no islands; documents three
places engagement legitimately reads above target (sharp corners, the
near-seed transient inherited from the plunge disk, and the final
limit-forced pass) rather than silently overshooting or failing.

Co-authored-by: patman-assist <patrick-ai@kgroo.co>
patman changed target branch from patman/cam-reversed to main 2026-07-09 23:27:54 +00:00
patman merged commit c669164636 into main 2026-07-09 23:27:55 +00:00
Sign in to join this conversation.
No description provided.