Reduce contact warnings: honest reach/ground-lock + locomotion-aware grounding#99
Merged
Merged
Conversation
…ock) The closing / settling / about-face steps of the traveling gait moves declared their feet `ground-lock: feet` (planted) while the feet were actually relocating — closing home, stepping the trailing foot in, pivoting through a 180° about-face, or coming together in a waltz close. The grounding solver then reported the feet as planted-yet-drifting, up to ~0.95m (walk-cycle about-face), ~0.74m (walk-cycle arrival), and 0.13-0.21m across box-step / grapevine / chassé / waltz-box. Declare those relocating feet as `reach: foot_left/right floor` instead: the feet step to the floor at their settling position, which is what actually happens, so the false planted-drift disappears and the motion is unchanged. Only steps where the feet genuinely move are converted — a stationary plié/lower keeps `ground-lock: feet`, and the deliberately mid-move about-face turn's relocation is now honest. Eval: 1559/1559 checks on both shipped proportions, 0 clamp warnings, constraint warnings 151 -> 146; the large phase-transition foot-drift warnings are gone. 397/397 tests pass.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…oves
Same fix as the gait closing steps, applied to more moves that declared a
moving foot as a planted support:
- high-knee-march: the descending knee-drive foot ("Switch") and the returning
feet ("Down") are landing, not planted (was 0.40m planted-drift).
- hip-abduction, hip-flexion-demo: the raised leg's foot lands during "Lower".
- front-kick "Return", tendu "Close through the floor": the working foot
returns/brushes home while the other stays planted.
- box-step-taps "Right/Left down": the tapping foot lands.
- quarter-turns: feet pivot to the new facing on each 90° turn (was 0.19m
orbit-drift), like walk-cycle's about-face.
Each keeps the true stance foot ground-locked and declares the moving foot a
`reach: foot floor`. high-knee-march, hip-abduction, hip-flexion-demo,
front-kick, tendu, quarter-turns are now warning-free.
Eval: 1555/1555 checks both proportions; constraint warnings 146 -> 125.
397/397 tests pass.
A foot on its ball (plank, knee-drive) with the shin laid down legitimately lifts its toe off the flat plane; only flag toe-height when a flat foot is expected (shin near-vertical), matching the existing heel/sole gate. Clears plank-hold's false toe-height warnings; real flat-foot toe-lift still fires.
…t plant The clip grounding checks use static-pose thresholds, but a stance foot in a traveling clip is never statically flat: it rolls onto its ball as the body passes (toe planted, heel lifts = push-off), and at each step transition the pin alternates a beat before the landing foot is actually down (both heel and toe briefly airborne = swing). Both are correct gait, not grounding artifacts. In a locomotion clip (authored travel): - exempt a toe-planted, heel-lifted foot (push-off roll) from the flat-foot heel/toe/sole checks; - skip an airborne supported foot (sole well off the floor) as a swing/landing foot, extending the existing generic-`feet` swing-foot skip to pins. The endpoint contact-position check still catches a pin genuinely left off its anchor, so a real solver failure cannot hide. Static clips (squat, deadlift, plank, plié) keep the strict flat-foot bar. Cleared the large gait phase-transition heel/float warnings (box-step 0.121m -> 0.029m); constraint warnings 118 -> 109. 397/397 tests pass.
After clearing every authoring-fixable and locomotion-diagnostic warning, 14 moves still emit advisory contact warnings that need solver work or per-pose visual iteration (deep-pose heel-lift past the ankle ROM: superhero-landing, forward-lunge, horse-stance, demi-plie, step-up, single-leg-calf-raise; residual gait roll/settle: box-step, grapevine, chasse, waltz-box, walk-cycle, box-step-taps; plus jumping-jacks airborne feet and quad-stretch arm-body clearance). Mark them experimental so "ready" truthfully means warning-free. Ready now: 33 moves, all clean.
…ental" This reverts commit d248af9.
…ssion) Asserts the airborne-swing exemption removes box-step's large phase-transition heel floats, and that superhero-landing's genuine static heel-lift is still flagged (the exemption must not suppress real artifacts).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts advisory contact warnings 165 → 109 without weakening the gate. Two kinds of change, both principled.
1. Authoring:
reach, notground-lock, for relocating feetMany moves declared a foot a planted support while it was actually relocating — closing home, landing from a knee-drive, returning from a kick, brushing a tendu, pivoting a turn. The solver then correctly reported the "planted" feet drifting, sometimes hugely (walk-cycle about-face 0.95 m, high-knee-march switch 0.40 m). Fixed by declaring the moving foot
reach: foot floorand keeping only the true stance foot ground-locked.Now warning-free: box-step, grapevine, chassé, waltz-box, walk-cycle closes; high-knee-march, hip-abduction, hip-flexion-demo, front-kick, tendu, quarter-turns, plank-hold. Ready moves clean: 26 → 33.
2. Diagnostics: don't measure a locomotion foot against static thresholds
The clip grounding checks assume a statically-held flat foot. A stance foot in a traveling clip is never that: it rolls onto its ball as the body passes (toe planted, heel lifts = push-off), and at each step transition the pin alternates a beat before the landing foot is down (both corners briefly airborne = swing). Measured earlier this session — box-step's stance foot: toe
0.000, heel0.06→0.12, sole19→33°— that's push-off, not a defect.In a locomotion clip (
isLocomotion, threaded from the probe):feetswing skip to pins.toe-heighton shin orientation like heel/sole, so a foot on its ball — plank — isn't a flat foot with a lifted toe.)Safety: all exemptions are gated on a traveling clip; static clips (squat, deadlift, plank, plié) keep the strict bar. The endpoint
contact-positiongate check still validates every pin at phase end, so a genuinely-failed pin cannot hide. Verified: box-step's ~0.12 m handoff float is gone; superhero-landing/deadlift static heel-lift still flags.Not in this PR (left ready with advisory notes, by decision)
14 moves still carry minor advisory warnings and were deliberately not demoted — demoting empties the curated Dance category and the featured Jumping-jacks move. They split into: gait settle-roll (small, could take one more locomotion threshold), deep-pose heel-lift past the 15° ankle ROM (breaks coupled checks when eased — needs solver/visual work), jumping-jacks (airborne jump), calf-raise (on-toe), quad-stretch (arm clearance).
Verification
npm run eval— 1555/1555 checks on both shipped proportions, 0 clamp warnings; constraint warnings 165 → 109npm test— 399/399, incl. newlocomotion-grounding.test.ts(exemption works; no static over-suppression)posecode-evalpackage + fixtures changed → no changeset🤖 Generated with Claude Code