| name | grapevine |
| description | Steps sideways in a grapevine (vine) pattern, crossing one foot over and the next behind, keeping facing, via a translating sequence. Use when a command mentions grapevine, vine step, crossover side steps, or aerobics grapevine. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["walk","move-torso"] |
grapevine
Classic grapevine: step side, cross over, step side, cross behind. Translate root while OMITTING faceDeg so the heading holds.
Composes: walk + move-torso
How
- Use a
sequence with loop:false. Frame root is ABSOLUTE; compute the travel axis from state.position+state.faceDeg (0=+Z, 90=+X). The example assumes origin facing +Z. Step x sideways; do NOT set faceDeg.
- Crossing-leg lift + slight torso turn; arms a little out.
durationMs ~2600.
Example
- "do a grapevine" ->
{"durationMs":2600,"say":"Grapevine, step!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[35,0,0],"Spine":[0,15,0],"LeftUpperArm":[0,0,0],"RightUpperArm":[0,0,0]},"root":{"x":0.5}},{"t":0.5,"pose":{"LeftUpLeg":[0,0,180],"RightUpLeg":[0,0,180],"Spine":[0,-15,0]},"root":{"x":1.2}},{"t":1,"pose":{"Spine":[0,0,0]},"root":{"x":1.8}}]}}
Limits & posture
Keep ≥1 foot grounded except at a jump's airborne apex; stay inside human joint ranges and keep weight over the support — see balance-and-posture.