Summary
A user trying to author a standing crossover turn cannot pivot on one planted foot because ground-lock currently supports the grouped values feet / hands, but not the per-side effectors foot_right / foot_left.
The production playground silently accepts the unsupported values and reports “parses clean, no warnings”, so the movement looks like turn is broken even though the problem is the ignored/unsupported ground lock.
Verified on https://posecode.org/play on 2026-07-15:
- a control movement using
turn: 180 with ground-lock: feet parses and the figure rotates;
- changing the lock to
ground-lock: foot_right still reports “parses clean, no warnings”;
- the vocabulary/spec currently documents ground-lock groups, while per-side foot effectors are already supported for
reach: / pin:.
Reproduction
posecode exercise "Standing Crossover Turn"
rig humanoid
pose start = standing
step "Left crossover step" 0.55s ease-in-out:
hip_left: adduct 28
knee_left: flex 42
ankle_left: dorsiflex 9
knee_right: flex 6
turn: 70
ground-lock: foot_right
cue "Lift the left foot and cross it over the right while balancing on the right leg"
step "Pivot and settle" 0.65s ease-in-out:
hip_left: adduct 0
knee_left: flex 0
ankle_left: dorsiflex 0
knee_right: flex 0
turn: 180
ground-lock: foot_right
cue "Pivot on the right foot, uncross the left foot, and settle with both feet under the hips"
step "Right crossover step" 0.55s ease-in-out:
hip_right: adduct 28
knee_right: flex 42
ankle_right: dorsiflex 9
knee_left: flex 6
turn: 250
ground-lock: foot_left
cue "Lift the right foot and cross it over the left while balancing on the left leg"
step "Pivot and finish" 0.65s ease-in-out:
hip_right: adduct 0
knee_right: flex 0
ankle_right: dorsiflex 0
knee_left: flex 0
turn: 360
ground-lock: foot_left
cue "Pivot on the left foot, uncross the right foot, and settle evenly on both feet"
repeat 1
Actual behavior
- The editor reports “parses clean, no warnings.”
foot_right and foot_left do not provide single-foot grounding.
- The authored crossover turn therefore cannot pivot around the intended planted foot.
Expected behavior
- Support per-side ground locks:
ground-lock: foot_left
ground-lock: foot_right
- ideally the equivalent hand aliases if the ground-lock model is generalized consistently.
- Until/if an effector is supported, emit a line-anchored parser/editor diagnostic instead of silently accepting it.
- Keep
ground-lock: feet and ground-lock: hands behavior backward compatible.
- Update completions and the spec to list the accepted ground-lock values.
Acceptance criteria
- A phase locked to
foot_right keeps only the right foot planted while the left foot can cross or step.
- A phase locked to
foot_left behaves symmetrically.
- Unknown or unsupported ground-lock values produce a visible, line-specific diagnostic.
- Parser/render tests cover grouped values, per-side values, and an invalid value.
- The reproduction above can visibly pivot around the alternating planted foot without reporting false-clean validation.
Summary
A user trying to author a standing crossover turn cannot pivot on one planted foot because
ground-lockcurrently supports the grouped valuesfeet/hands, but not the per-side effectorsfoot_right/foot_left.The production playground silently accepts the unsupported values and reports “parses clean, no warnings”, so the movement looks like
turnis broken even though the problem is the ignored/unsupported ground lock.Verified on https://posecode.org/play on 2026-07-15:
turn: 180withground-lock: feetparses and the figure rotates;ground-lock: foot_rightstill reports “parses clean, no warnings”;reach:/pin:.Reproduction
Actual behavior
foot_rightandfoot_leftdo not provide single-foot grounding.Expected behavior
ground-lock: foot_leftground-lock: foot_rightground-lock: feetandground-lock: handsbehavior backward compatible.Acceptance criteria
foot_rightkeeps only the right foot planted while the left foot can cross or step.foot_leftbehaves symmetrically.