| name | zigzag-walk |
| description | Walks a leisurely serpentine zigzag forward, drifting left and right, via a sequence of root waypoints. Use when a command mentions zigzag walk, walk in a zigzag, serpentine walk, or weave left and right walking. (For a fast evasive version, use zigzag-run.) |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["walk","turn-and-face"] |
zigzag-walk
An easy serpentine forward path, angling left then right.
Composes: walk + turn-and-face
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.
- Alternate
x left/right while z advances; tip faceDeg toward each diagonal.
durationMs ~3600.
Example
- "zigzag forward" ->
{"durationMs":3600,"say":"Zigzagging along.","sequence":{"loop":false,"frames":[{"t":0,"root":{"x":0,"z":0,"faceDeg":0}},{"t":0.33,"root":{"x":1,"z":1,"faceDeg":45}},{"t":0.66,"root":{"x":-1,"z":2,"faceDeg":-45}},{"t":1,"root":{"x":0,"z":3,"faceDeg":0}}]}}
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.