Skip to content

fix: rewarp fly-back stuck recovery and precise landing#49

Draft
nnasko wants to merge 1 commit into
mizly:mainfrom
nnasko:fix/rewarp-fly-precise-landing
Draft

fix: rewarp fly-back stuck recovery and precise landing#49
nnasko wants to merge 1 commit into
mizly:mainfrom
nnasko:fix/rewarp-fly-precise-landing

Conversation

@nnasko

@nnasko nnasko commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the auto-farm rewarp flying back to the start and getting stuck oscillating between two positions, and makes the landing land on the exact start block.

  • Real routing: the fly rewarp now targets the actual start point, so the 3D pathfinder routes under roofs and around walls itself. The old hard-coded cruise altitude stranded the bot on top of farm roofs.
  • Stall detection: FlyExecutor gains net distance-to-goal progress tracking (oscillation is caught even while the player keeps moving), a FAILED state that propagates instead of leaving navigation hung forever, active braking to kill sprint-momentum overshoots, and roof-aware climb/duck obstacle handling.
  • Recovery chain: bounded fly retries with an alternating unstuck nudge, a distance-scaled wall-clock timeout backstop, a plot-TP / /warp garden fallback, and a safe macro stop if all of that fails.
  • Exact landing: the straight-down drop is only taken when a box-aware raycast shows the column below ends at start level; otherwise it aims at the start block centre and etherwarps onto it. Final landing is verified in both XZ and Y, with a walk-nudge correction for wall-top misses.

Testing

Verified in-game on a roofed farm: routes under the roof, brakes without overshooting, and lands on the exact start block; recovery chain (stall → nudge → refly → TP fallback) exercised via debug logs.

- Fly rewarp targets the actual start point so the 3D pathfinder routes under
  roofs and around walls, instead of a hard-coded cruise altitude that stranded
  the bot on top of farm structures.
- FlyExecutor gains net distance-to-goal stall detection, a FAILED state that
  propagates instead of hanging navigation, active braking to stop sprint
  overshoots, and roof-aware vertical obstacle handling.
- RewarpManager recovery chain: bounded retries with an alternating unstuck
  nudge, a distance-scaled navigation timeout backstop, a plot-TP/warp-garden
  fallback, and a safe macro stop if everything fails.
- Exact landing: the drop is only taken when the column below ends at start
  level (box-aware raycast), otherwise it aims at the start block centre and
  etherwarps on; landings verified in XZ and Y with a walk-nudge correction.
@nnasko
nnasko marked this pull request as draft July 24, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant