See NavCore in Action

Watch how NavCore handles real-world navigation scenarios.

🎥

Demo video coming soon

Check back later for live demos

How NavCore Works

🎯 Route Snapping

See how NavCore keeps your vehicle on the correct road even when GPS is noisy or there are parallel roads.

📍 GPS Loss Recovery

Watch the engine smoothly handle GPS signal loss using dead reckoning to predict position.

🔄 Smart Rerouting

See how NavCore detects off-route situations and triggers rerouting automatically.

⚡ Real-Time State

Observe the navigation state updating at 60 Hz with smooth bearing calculations and progress tracking.

Interactive Examples

GPS Jitter Filter

Toggle between raw GPS and filtered NavCore position to see the smoothing effect.

Route Snapping

Watch how NavCore snaps positions to roads across parallel roads and intersections.

Dead Reckoning

See how navigation continues when GPS signal is lost.

Bearing Calculation

View real-time bearing updates with smooth interpolation.

See the Code

// Initialize NavCore with a route
const nav = new NavCore({
  route: yourRoute,
  config: {
    gpsStaleMs: 2000,
    maxCorridorWidth: 90,
    kalmanQ: 1e-8,
    kalmanR: 3e-9,
  }
})

// Subscribe to navigation state
nav.on('position', (state) => {
  const {
    position,        // { lat, lng } - snapped position
    bearing,         // degrees - vehicle heading
    speed,           // m/s - current speed
    progress,        // percentage along route
    instruction,     // current instruction index
    alert           // alert state
  } = state

  // Update UI/map
  updateMarker(
    position.lat,
    position.lng,
    bearing
  )
})

// Alert on off-route
nav.on('alert', (alert) => {
  if (alert.type === 'OFF_ROUTE') {
    requestNewRoute(alert.position)
  }
})