Skip to content

Navigate along a route #56

Description

@bkeepers

Once routes exist (#55), the app should navigate along it.

  • Activate a route and show bearing, distance, and ETA to the active waypoint, with previous, next, and stop controls.
  • Compute ETA from leg-aligned VMG, meaning speed projected onto the leg axis rather than onto the instantaneous bearing to the mark. The naive version swings wildly on a layline and is not readable.
  • Cross track error against the active leg.
  • Automatic waypoint advance from three triggers: the arrival circle, crossing the angle bisector of the incoming and outgoing legs at an interior waypoint, and crossing the perpendicular at a terminal waypoint. Cap the effective arrival radius at a fraction of the leg length so a short leg does not fire instantly. Fall back to the circle alone on the first leg and on a near U-turn.
  • A sailing mode setting that suppresses the bisector and perpendicular triggers, so a boat tacking upwind does not advance before it reaches the mark.
  • Resuming mid-route snaps to the nearest leg.
  • Navigation state survives a restart, so an in-progress passage is still active after a crash.
  • Draw completed legs dimmed, the active leg solid, and the rest dashed.

There are some formulas for calculating arrival logic, waypoint progress, and destination progress here

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions