| 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> from
state.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,z waypoints that cross a wall. Prefer a named target.
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 with moveTo.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.