| name | shuffle-defense |
| description | Holds a low defensive stance and shuffles side to side without crossing the feet, hands out, keeping facing, via a looping sequence. Use when a command mentions defensive shuffle, basketball D stance, slide step on defense, guard stance shuffle, or stay in front on defense. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","bend-knees","balance-and-posture"] |
shuffle-defense
A low, wide defensive stance sliding a little each way, hands ready. Translate root while OMITTING faceDeg so the heading holds.
Composes: move-leg + bend-knees + balance-and-posture
How
- Use a
sequence with loop:true. Stay low (root.y~-0.25, hips abducted, knees 50, Spine+X16, arms out).
- Slide
x one way then the other; do NOT set faceDeg.
durationMs per cycle ~1800.
Example
- "get in a defensive shuffle" ->
{"durationMs":1800,"say":"D up!","sequence":{"loop":true,"frames":[{"t":0,"pose":{"LeftUpLeg":[40,0,160],"RightUpLeg":[40,0,-160],"LeftLeg":[50,0,0],"RightLeg":[50,0,0],"Spine":[16,0,0],"LeftUpperArm":[0,0,30],"RightUpperArm":[0,0,-30]},"root":{"x":-0.3,"y":-0.25}},{"t":0.5,"pose":{"LeftUpLeg":[40,0,160],"RightUpLeg":[40,0,-160],"LeftLeg":[50,0,0],"RightLeg":[50,0,0],"Spine":[16,0,0]},"root":{"x":0.3,"y":-0.25}},{"t":1,"pose":{"LeftUpLeg":[40,0,160],"RightUpLeg":[40,0,-160],"LeftLeg":[50,0,0],"RightLeg":[50,0,0],"Spine":[16,0,0]},"root":{"x":-0.3,"y":-0.25}}]}}
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.