nav-move
Attempt exactly one adjacent forward move (relative to current facing direction) and report the outcome. Atomic forward navigation primitive.
Input
step_duration: Float seconds for the move (default: 0.2)
max_abs_delta_y: Float tolerance for Y noise (default: 0.2)
Output
Success (status: "success"):
value: Summary text
extra.from: Starting position {x, y, z}
extra.to: Ending position {x, y, z}
extra.delta_y: Vertical displacement
extra.support_here: Support type at destination
Failure (status: "failed"):
reason: One of "status_failed", "move_failed", "collision", "fell", "observation_failed", "support_ambiguous", "unexpected_vertical_change"
extra.from, extra.to: Positions (if available)
Behavior
- Automatically aligns agent to block center and cardinal yaw before movement
- Calls bridge
/act/move once (forward) with collision checking
- Moves forward relative to current facing direction
- Validates landing via
mc-status + mc-observe
- Snaps to block center after any position change
- Updates
world_state("nav") history
Alignment
Before movement, agent is automatically aligned:
- Position: Block center (x+0.5, y, z+0.5) - eliminates fractional offsets
- Yaw: Nearest cardinal (0°=South, 90°=West, 180°=North, 270°=East)
- Pitch: 0°
This prevents collisions from fractional offsets and ensures predictable movement direction.
Planning Notes
- Use for single-step movement with verification
- For multi-step forward motion, prefer
nav-advance
- If
fell occurs, treat as safety event and consider nav-backtrack
Examples
{"type":"nav-move","out":"$m1"}
{"type":"nav-move","step_duration":0.25,"out":"$m2"}
1---2name: nav-move3description: Attempt exactly ONE adjacent navigation move forward and report the outcome. Atomic navigation operation suitable for composition.4---56# nav-move78Attempt exactly one adjacent forward move (relative to current facing direction) and report the outcome. Atomic forward navigation primitive.910## Input1112- `step_duration`: Float seconds for the move (default: `0.2`)13- `max_abs_delta_y`: Float tolerance for Y noise (default: `0.2`)1415## Output1617Success (`status: "success"`):18- `value`: Summary text19- `extra.from`: Starting position `{x, y, z}`20- `extra.to`: Ending position `{x, y, z}`21- `extra.delta_y`: Vertical displacement22- `extra.support_here`: Support type at destination2324Failure (`status: "failed"`):25- `reason`: One of `"status_failed"`, `"move_failed"`, `"collision"`, `"fell"`, `"observation_failed"`, `"support_ambiguous"`, `"unexpected_vertical_change"`26- `extra.from`, `extra.to`: Positions (if available)2728## Behavior2930- Automatically aligns agent to block center and cardinal yaw before movement31- Calls bridge `/act/move` once (forward) with collision checking32- Moves forward relative to current facing direction33- Validates landing via `mc-status` + `mc-observe`34- Snaps to block center after any position change35- Updates `world_state("nav")` history3637## Alignment3839Before movement, agent is automatically aligned:40- Position: Block center (x+0.5, y, z+0.5) - eliminates fractional offsets41- Yaw: Nearest cardinal (0°=South, 90°=West, 180°=North, 270°=East)42- Pitch: 0°4344This prevents collisions from fractional offsets and ensures predictable movement direction.4546## Planning Notes4748- Use for single-step movement with verification49- For multi-step forward motion, prefer `nav-advance`50- If `fell` occurs, treat as safety event and consider `nav-backtrack`5152## Examples5354```json55{"type":"nav-move","out":"$m1"}56{"type":"nav-move","step_duration":0.25,"out":"$m2"}57```