Quickstarts/Automotive
AutomotiveEntitlement Required60 minutes

Simulate one recoverable navigation session

a safety-aware route-to-arrival state machine over an entitled runtime

Entitlement Required

What this path can prove

The public snapshot does not establish an automotive SDK or safety contract. Obtain the entitled runtime, data, activation, vehicle-interface, HMI, and regulatory requirements before binding an adapter.

Credential boundary

Provision per-device identity, activation, regions, runtime, and map data through the approved vehicle/fleet control plane. Avoid shared embedded credentials.

Provider-specific implementation intentionally stops here.

No public guide proves this distribution. Obtain the named entitled/private contract, attach its version and fingerprint to the project, then implement only inside the scaffolded adapter.

Prepare the exact environment

Do not count account, package, build-host, or device discovery as hidden quickstart work.

  1. 01

    Vehicle hardware/OS/display/control/sensor operating envelope

  2. 02

    Entitled runtime, map data, activation, and update contract

  3. 03

    Deterministic GNSS and vehicle-signal simulator

  4. 04

    Safety, distraction, privacy, and release owners

Build one complete result

Each stage has a proof. If the proof is missing, do not advance by assumption.

  1. 01

    Confirm the source line

    Open the linked evidence and confirm the exact Automotive package, endpoint, toolchain, region, and account entitlement before installing anything. The public snapshot does not establish an automotive SDK or safety contract. Obtain the entitled runtime, data, activation, vehicle-interface, HMI, and regulatory requirements before binding an adapter.

  2. 02

    Create a clean boundary

    Separate vehicle signals and HMI policy from the navigation runtime, pin runtime/data/config/activation as one release manifest, and expose route lifecycle through a recoverable application state machine.

  3. 03

    Build one useful result

    Simulate plan, preview, start, progress, deviation, reroute, tunnel/dead-reckoning, pause, arrival, and termination without requiring a road vehicle.

  4. 04

    Run the release path

    Replay deterministic traces across process restart, power loss, sensor loss, offline periods, map-data switch, invalid activation, and rollback before road testing.

  5. 05

    Break it deliberately

    Exercise missing/denied credentials, unavailable network or runtime, invalid input, cancellation, and cleanup. Show a bounded user-safe failure while retaining a correlation identity for support.

Run what will ship

Replace documented placeholders through your environment or secret provider. Commands are scaffolds; platform signing, accounts, packages, and schemes remain project-specific.

$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

$ cmake --build build

$ ctest --test-dir build -R navigation

$ ./build/navigation_simulator fixtures/deviation.json

Start with code you can replace

The scaffold keeps provider-specific symbols and credentials behind a narrow boundary. Bind the confirmed Mappls source line inside that adapter.

Automotive first-success scaffold
enum class NavigationState { Idle, Planned, Preview, Guiding, Rerouting, Paused, Arrived, Failed };

struct NavigationSnapshot {
  std::string sessionId;
  std::uint64_t version;
  NavigationState state;
  std::string runtimeVersion;
  std::string dataVersion;
};

// Persist each accepted transition and reconcile position freshness after restart.

Verify behavior, not screenshots

  1. 1

    The session recovers to a safe explainable state with compatible runtime/data and never presents stale guidance as current after a reset.

  2. 2

    A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.

  3. 3

    No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.

  4. 4

    Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.

Before productionDriver-distraction rules are testablePower/connectivity recovery is provenRuntime and data roll out togetherSimulation precedes road evidenceDriver-distraction and safety requirements are testableNavigation recovers after power and connectivity lossRuntime and map data roll out as a compatible unitSimulation and road-test evidence cover full journeys

When first contact fails

Keep the safe provider request identity, resolved package/runtime versions, platform logs, and exact reproduction steps. Never attach credentials or private location payloads.

SignalLikely causeNext action
Guidance resumes with an old route or unsafe prompt after restart

Route/session version, position freshness, vehicle state, HMI policy, or runtime/data identity was not persisted and reconciled atomically.

Fail guidance to a safe state, reconcile session and release manifest, replay the deterministic trace, and require simulation evidence before road testing.

Authentication or entitlement is rejected

The credential class, restriction, account region, host/path generation, package application, or subscribed capability does not match.

Do not try another credential shape blindly. Capture the safe status/request identity and reconcile the exact contract in the developer console or support packet.

The sample works once but not after reload, backgrounding, or a second run

Lifecycle ownership, listener disposal, token/session refresh, saved state, or a singleton initialization boundary is incomplete.

Instrument create/ready/cancel/destroy transitions and prove one owner before adding product behavior.