Dance · Full body
Grapevine
Grapevine is a beginner-level dance movement targeting the full body, written in Posecode, a small open-source language that capable language models can use to describe human movement as text. Authored joint targets and reach-IK solves are constrained to Posecode's configured per-axis bounds. Those bounds constrain the visualization, but they do not certify that a complete movement is safe or clinically correct. This page documents a code example; it is not exercise instruction.
▶ Open Grapevine in the playground →Movement phases
Phase cues are display-only coaching text. The executable joint and contact directives in the source below determine the animation.
- Left step side0.65s · flow Step the left foot to the side and begin travelling
- Right crosses behind0.65s · flow Cross the right foot behind without stopping the sideways momentum
- Left step side again0.65s · flow Step left again and keep the shoulders quiet
- Right touch0.55s · flow Touch the right foot in lightly before reversing
- Right step side0.65s · flow Step the right foot to the side to travel back
- Left crosses behind0.65s · flow Cross the left foot behind and continue through the beat
- Right step side again0.65s · flow Step right and arrive back near the starting place
- Close home0.65s · settle Close the left foot under the body and settle the phrase
The .posecode source
This is the exact text used by the linked playground animation: phases and joint angles, not 3D transforms.
posecode exercise "Grapevine"
rig humanoid
pose start = standing
step "Left step side" 0.65s flow:
hip_left: abduct 16
shoulders: abduct 40
travel: 0.3 0
pin: foot_right floor
reach: foot_left floor
cue "Step the left foot to the side and begin travelling"
step "Right crosses behind" 0.65s flow:
hip_left: abduct 0
hip_right: rotate-in 20
knee_right: flex 25
ankle_right: plantarflex 25
travel: 0.6 0
pin: foot_left floor
reach: foot_right floor
cue "Cross the right foot behind without stopping the sideways momentum"
step "Left step side again" 0.65s flow:
hip_right: rotate-in 0
knee_right: flex 0
ankle_right: plantarflex 0
hip_left: abduct 16
travel: 0.9 0
pin: foot_right floor
reach: foot_left floor
cue "Step left again and keep the shoulders quiet"
step "Right touch" 0.55s flow:
hip_left: abduct 0
knee_right: flex 16
ankle_right: plantarflex 20
travel: 1 0
ground-lock: foot_left
reach: foot_right floor
cue "Touch the right foot in lightly before reversing"
step "Right step side" 0.65s flow:
knee_right: flex 0
ankle_right: plantarflex 0
hip_right: abduct 16
travel: 0.7 0
pin: foot_left floor
reach: foot_right floor
cue "Step the right foot to the side to travel back"
step "Left crosses behind" 0.65s flow:
hip_right: abduct 0
hip_left: rotate-in 20
knee_left: flex 25
ankle_left: plantarflex 25
travel: 0.4 0
pin: foot_right floor
reach: foot_left floor
cue "Cross the left foot behind and continue through the beat"
step "Right step side again" 0.65s flow:
hip_left: rotate-in 0
knee_left: flex 0
ankle_left: plantarflex 0
hip_right: abduct 16
travel: 0.1 0
pin: foot_left floor
reach: foot_right floor
cue "Step right and arrive back near the starting place"
step "Close home" 0.65s settle:
hip_right: abduct 0
shoulders: abduct 0
travel: 0 0
reach: foot_left floor
reach: foot_right floor
cue "Close the left foot under the body and settle the phrase"
repeat 3