feat(cam-blend): symmetric two-way deviation certificate for junction blends #81

Open
patman wants to merge 1 commit from patman/blend-symmetric into patman/blend-fd-bound AGit
Owner

BlendedPass::max_deviation was measured one-sided (spline -> polyline dense sample). The corridor re-certification stacked on top (#82) consumes the DIRECTED property "every nominal path point has a blend point within max_deviation" -- the polyline -> spline direction, which a one-sided measure does not formally give even when numerically equal (on G1 pipeline inputs the two directions coincide; tangency_guard precludes the kinked case where they diverge by 1/sin(theta/2)).

Adds Eta3Spline::max_deviation_to (reverse dense sample at the same grid density); resolve_junction gates and records the symmetric max of both directions. max_outward_deviation <= max_deviation remains invariant (subset-max of the forward direction). No existing fixture recalibration was needed.

Adversarially reviewed (two rounds; enclosure/direction math, T1 ground-truth independence, degenerate cases verified): PASS.

`BlendedPass::max_deviation` was measured one-sided (spline -> polyline dense sample). The corridor re-certification stacked on top (#82) consumes the DIRECTED property "every nominal path point has a blend point within max_deviation" -- the polyline -> spline direction, which a one-sided measure does not formally give even when numerically equal (on G1 pipeline inputs the two directions coincide; `tangency_guard` precludes the kinked case where they diverge by 1/sin(theta/2)). Adds `Eta3Spline::max_deviation_to` (reverse dense sample at the same grid density); `resolve_junction` gates and records the symmetric max of both directions. `max_outward_deviation <= max_deviation` remains invariant (subset-max of the forward direction). No existing fixture recalibration was needed. Adversarially reviewed (two rounds; enclosure/direction math, T1 ground-truth independence, degenerate cases verified): PASS.
feat(cam-blend): symmetric two-way deviation certificate for junction blends
Some checks are pending
CI / build-test (pull_request) Waiting to run
140b741749
Co-authored-by: patman-assist <patrick-ai@kgroo.co>
Some checks are pending
CI / build-test (pull_request) Waiting to run
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin +refs/pull/81/head:patman/blend-symmetric
git switch patman/blend-symmetric

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch patman/blend-fd-bound
git merge --no-ff patman/blend-symmetric
git switch patman/blend-symmetric
git rebase patman/blend-fd-bound
git switch patman/blend-fd-bound
git merge --ff-only patman/blend-symmetric
git switch patman/blend-symmetric
git rebase patman/blend-fd-bound
git switch patman/blend-fd-bound
git merge --no-ff patman/blend-symmetric
git switch patman/blend-fd-bound
git merge --squash patman/blend-symmetric
git switch patman/blend-fd-bound
git merge --ff-only patman/blend-symmetric
git switch patman/blend-fd-bound
git merge patman/blend-symmetric
git push origin patman/blend-fd-bound
Sign in to join this conversation.
No description provided.