Skip to content

Roadmap ​

Each milestone ends with a playable demo, updated validation and benchmark pages, a changelog entry, and at least one ADR.

MilestoneScopeStatus
M0 FoundationMonorepo, CI with cross-browser determinism, licences and community files, deterministic math module, sandbox, docs, benchmark pageDone
M1 Tire lab and bicycle modelFeel and Magic Formula tires with .tir import, combined slip, load sensitivity, aligning moment, single-track model, tire explorer, understeer validationDone
M2 Four wheels, suspension, Rapier, chassis proxyRapier adapter, independent suspension, load transfer, chassis proxy, R3F sandbox track, telemetry overlay, benchmark baselineDone
M3 Stability and determinismStandstill and slope tests, locked-brake behaviour, timestep sweep, snapshot and hash on the full model, cross-browser test on a real driveDone
M4 DrivetrainDrivetrain graph with implicit solver, engine, clutch, gearboxes, differentials, AWD, electric motorsDone
M5 Steering, input, FFB, assistsSteering geometry, rack force, jacking; assists layer (ABS, TC, ESC, speed-sensitive steering); input calibration, wheel profiles, touch; force feedback over WebHID in Chromium, Logitech G PRO first (HID++), other wheels as community packagesDone
M6 Surfaces, aero, solid axles, toolingSurface table, aero, solid axle, tuning editor, validation runner with all manoeuvres, reference vehiclesDone
M7 ScaleLOD, batched stepping, worker mode, replays and ghosts, AI helper, Jolt adapter, Babylon exampleDone
M8 DogfoodingPublish 0.x to npm; build a small game outside this repo on the published packages; fix the API, packaging and docs friction it exposes; drive the sandbox on keyboard, gamepad and wheel and tune the feel; try the [VERIFY] force-feedback constants on hardwareNext
M9 HardeningClear errors for invalid and extreme definitions, NaN guards, long-run soak tests, performance at realistic car counts, docs gaps found in M8Later

1.0 ​

1.0 has no date. It comes after the packages have been used for real, and means an API freeze and format version 1. The bar:

  • At least one project outside this repository built on the published packages.
  • One minor release with no breaking API or format change.
  • Definition, snapshot and replay formats settled at version 1, with migrations from 0.x.
  • Every public API documented; performance targets met or revised.
  • Force feedback verified on hardware, or the unverified devices listed as such.

Until then the packages stay 0.x and breaking changes go in changesets.

Post-1.0, not committed: tire thermals, wear and pressure; trailers; motorcycles; tracked vehicles; a rollback netcode example; native bindings.

Force feedback targets WebHID in Chromium-based browsers: the core produces the steering torque, the input package delivers it per device, starting with the Logitech G PRO over HID++ (the G923 and G29 families share the path), with other makers' protocols as community packages and a torque-to-rumble fallback for gamepads. An Electron example with node-hid is the desktop route.

MIT OR Apache-2.0. Built in public.