| name | fencing-advance |
| description | Advances with small quick fencing footwork in an en-garde stance, via a translating sequence. Use when a command mentions fencing advance, fencer footwork, advance en garde, or step forward in a fencing stance. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["move-leg","move-arm","balance-and-posture"] |
fencing-advance
Crisp little gather-steps forward while holding the bent-knee en-garde stance and sword guard.
Composes: move-leg + move-arm + balance-and-posture
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.
- Hold the en-garde stance (knees bent, hips turned out, sword arm up) and nudge
z forward in small steps; root.y~-0.2.
durationMs ~1600.
Example
- "advance in a fencing stance" ->
{"durationMs":1600,"say":"En garde—advance.","sequence":{"loop":false,"frames":[{"t":0,"pose":{"LeftUpLeg":[30,0,160],"RightUpLeg":[30,0,-160],"LeftLeg":[50,0,0],"RightLeg":[50,0,0],"RightUpperArm":[70,0,0],"RightForearm":[40,0,0],"LeftUpperArm":[0,0,140]},"root":{"z":0.3,"y":-0.2}},{"t":0.5,"pose":{"LeftUpLeg":[30,0,160],"RightUpLeg":[30,0,-160]},"root":{"z":0.7,"y":-0.2}},{"t":1,"pose":{"LeftUpLeg":[30,0,160],"RightUpLeg":[30,0,-160]},"root":{"z":1,"y":-0.2}}]}}
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.