feat(cam-lower): seam-jump term from endpoint kappa'' (droppable: negligible yield) #132

Merged
patman merged 4 commits from patman/seam-endpoint-jump into patman/feed-windowing 2026-08-24 02:25:42 +00:00 AGit
Owner

SE(3) extension S-i, design-logged tightening lever — HONEST RESULT: negligible (1.0004x gentle / 1.0058x stiff). The seam term was never the dominant slack; the kappa-third product in Omega_sup is, and the next real lever is the design S5 alternative (bound TV(zeta) directly). Ships because the machinery is conceptually right (the endpoint value IS the jump — no sup to take) and the interior-sup cap is load-bearing: measured endpoint-estimate overshoot 7.93845876e7 vs sup 7.93829933e7, and the cap is what makes new <= old a theorem (min of same-rigor bounds) rather than a fixture observation. Reviewer recommendation: land last, DROPPABLE at zero cost if the queue is tight — the subtlety is captured here either way. Opus review PASS.

SE(3) extension S-i, design-logged tightening lever — HONEST RESULT: negligible (1.0004x gentle / 1.0058x stiff). The seam term was never the dominant slack; the kappa-third product in Omega_sup is, and the next real lever is the design S5 alternative (bound TV(zeta) directly). Ships because the machinery is conceptually right (the endpoint value IS the jump — no sup to take) and the interior-sup cap is load-bearing: measured endpoint-estimate overshoot 7.93845876e7 vs sup 7.93829933e7, and the cap is what makes new <= old a theorem (min of same-rigor bounds) rather than a fixture observation. Reviewer recommendation: land last, DROPPABLE at zero cost if the queue is tight — the subtlety is captured here either way. Opus review PASS.
feat(cam-lower): seam-jump term from endpoint kappa'' instead of the sup
Some checks failed
CI / build-test (pull_request) Failing after 4s
f9ddf04d23
Certificate tightening lever 2, the design-logged one
(docs/superpowers/se3-lowering-design.md section 3.3a: "reading actual
seam-endpoint values from the same 1024-sample sweep is the logged
tightening").

The seam jump at a host/blend boundary is
|kappa''_blend(seam) - kappa''_host| = |kappa''_blend(seam)|, because a Line
has kappa == 0 and an Arc has kappa constant, so both have kappa'' == 0
exactly. The endpoint value IS the jump; there is no sup to take. The
previous form, 2 * sum over blends of sup|kappa''|, replaced each endpoint
with the blend's interior maximum, which for an eta^3 blend (kappa' runs
0 -> peak -> 0, so kappa'' is largest somewhere inside) over-counts.

NUMERICAL CARE, since Eta3Spline exposes no kappa'' accessor. A one-sided
stencil exactly at the endpoint would be first-order accurate and
evaluated where the parameterization is least well conditioned. Instead
the outermost CENTRED difference from S-c's existing 1024-sample sweep is
used -- an estimate of kappa'' half a sample step inside the seam -- plus
an explicit margin of 0.5 * ds * sup|kappa'''| to step it back to the seam.
kappa'' is C1 inside the blend, so over a half-step it moves by at most the
local kappa''' times that half-step, and blend_kappa_third_sup already
bounds kappa'''. The correction is therefore bounded by machinery S-c
certifies, not by assumption.

The result is then CAPPED at the blend's own interior sup. That cap is
trivially sound (the seam is inside the blend) and is what makes "never
above the superseded form" a theorem rather than a fixture observation:
without it the margin can overshoot on a blend whose kappa'' peaks AT the
seam, where the estimate is already the maximum and the margin pushes it
past the interior sup's own smaller Lipschitz margin. That overshoot was
real on the 60x40 mm fixture -- 7.93845876e7 against a sup of 7.93829933e7
-- so the cap is load-bearing, not defensive decoration.

ACHIEVED IMPROVEMENT -- NEGLIGIBLE, and reported as such because the
numbers go to Patrick:

  gentle (200x150 mm, 1 mm corridor, 50 mm/s, dt 0.5 ms)
    orientation  3.758043e-2 -> 3.7565905e-2 rad   (1.0004x, +0.04%)
    omega        2.942506e-3 -> 2.9413682e-3 rad/s (1.0004x, +0.04%)
  stiff (60x40 mm, 0.2 mm corridor, 0.35 m/s, dt 1 ms)
    omega        9.859359e0  -> 9.8024359e0  rad/s (1.0058x, +0.58%)

Well under the 2x bar -- this is rounding, not a lever. The reason is
structural and worth recording: the seam term enters as (dt^2/8) * J_ang
while the bound is dominated by the windowed (dt^2/12) * sum(Omega_p * D_p)
term, whose leading factor is |kappa'''| v^4. Tightening the seam term
cannot move a total it is a small fraction of. Combined with S-h the two
levers give 1.74x (gentle) and 2.14x (stiff); essentially all of that is
S-h.

WHERE THE REMAINING HEADROOM ACTUALLY IS, for whoever picks this up: the
|kappa'''| v^4 term itself. Either a tighter kappa''' sup than S-c's
dense-sampled Lipschitz heuristic, or the design's logged S5 alternative
(bound TV(zeta) directly, needing only kappa'' and no fourth-order finite
difference), which would replace the term rather than shave it.

Revisable: the half-step margin and the cap are both choices; the cap is
required for the "never above" claim, the margin size is not.

Co-authored-by: patman-assist <patrick-ai@kgroo.co>
chore: normalize comments
Some checks failed
CI / build-test (pull_request) Failing after 5s
81c86688ba
Co-authored-by: patman-assist <patrick-ai@kgroo.co>
style: rustfmt --edition 2024 drift fix
Some checks are pending
CI / build-test (pull_request) Waiting to run
193f313f42
Reformats files that predate the runner's current rustfmt; no code changes.

Co-authored-by: patman-assist <patrick-ai@kgroo.co>
merge: sync main into seam-endpoint-jump (post track2 merge)
All checks were successful
CI / build-test (pull_request) Successful in 8m53s
7fb8c9243e
Seam-endpoint form and tightening-ladder tests kept from this branch.

Co-authored-by: patman-assist <patrick-ai@kgroo.co>
patman merged commit fcc6025598 into patman/feed-windowing 2026-08-24 02:25:42 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
patman/KGROO!132
No description provided.