name: navigate-to-place description: Walks the character to a named room or place by emitting a SIMPLE moveTo target and letting the engine path around walls and through doorways. Use whenever the command says go to / head to / walk to / come to a room or place — the bedroom, kitchen, bathroom, living room, the couch, the window, the door, over there. Emit the destination only; do NOT compute coordinates that cut across walls. category: locomotion disable-model-invocation: true triggers: go to the bedroom, go to the kitchen, go to the bathroom, go to the living room, go to room, head to, navigate, find your way, walk over to, room subskills: [walk, turn-and-face]
navigate-to-place
High-level navigation. The engine now does no-clip pathfinding: it routes the body around furniture and walls and through doorways by itself. So your job is just to name the DESTINATION and trust the engine to get there.
Composes: walk (the moveTo translation) + turn-and-face (optional
final heading).
How (keep it SIMPLE)
- Emit
moveTo:{ "target": "<place>" }, choosing<place>fromstate.locations. Map a room word to the closest listed nav target (e.g. "the bedroom" →bed, "the lounge" →couch); the engine also fuzzy-matches. - Do NOT hand-author
x,zwaypoints that cross a wall. Prefer a namedtarget. If you must use a point, give the FINAL destination — the engine plans the path, so a straight line through a wall is never needed (and is wrong). - The engine auto-stands a seated/lying body before walking, so you do NOT need
a separate stand step (see
move-while-seated). - Give realistic
durationMs(~2000–3000; farther = longer). Optionally end facing a way withmoveTo.faceDeg(0=+Z, 90=+X).
Worked Actions
- "go to the bedroom" (locations include
bed) →{"durationMs":2600,"moveTo":{"target":"bed"},"say":"Heading to the bedroom."} - "head to the kitchen" →
{"durationMs":2500,"moveTo":{"target":"kitchen"},"say":"On my way."} - "come to the window and face me" →
{"durationMs":2400,"moveTo":{"target":"window","faceDeg":180},"say":"Coming over."}
Notes
Never invent a place that isn't in state.locations. For a generic "walk
forward / wander" with no place, use walk (bare forward travel) instead.