| name | walk-the-perimeter |
| description | Walks the perimeter of the room along the walls in a rectangular loop, via a sequence of root waypoints. Use when a command mentions walk the perimeter, walk around the edges, walk along the walls, or lap the room edges. |
| category | locomotion |
| disable-model-invocation | true |
| subskills | ["walk","turn-and-face"] |
walk-the-perimeter
Follow the room's edges in a rectangle, turning at each corner, back to start.
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.
- Waypoints trace a rectangle; turn
faceDeg 90 at each corner.
durationMs ~6000. Trust engine routing to avoid clipping walls.
Example
- "walk the perimeter" ->
{"durationMs":6000,"say":"Walking the perimeter.","sequence":{"loop":false,"frames":[{"t":0,"root":{"x":0,"z":0,"faceDeg":0}},{"t":0.25,"root":{"x":0,"z":3,"faceDeg":0}},{"t":0.4,"root":{"x":2,"z":3,"faceDeg":90}},{"t":0.6,"root":{"x":2,"z":0,"faceDeg":180}},{"t":0.85,"root":{"x":0,"z":0,"faceDeg":270}},{"t":1,"root":{"x":0,"z":0,"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.