PAXAL
changelog
Hand-curated. Each entry is one shipping beat — not one commit. For the latest, the build chip on the title screen always points to the top entry.
2026-05-16 · v2026.05.16
Phase A renderer + audio + Phase B/C + streaming polish
- ·Persistence — per-arena drive log, lifetime distance + RESUME chip on title
- ·Pause cinematic — three-region overlay with live session stats + audio-bus dip
- ·Photoreal-first colour LUTs — cinematic-preset opt-in only
- ·Loading cinematic — chunk-stream feed + byte progress + ESC abort
- ·Mobile controls v2 — 96px joystick, throttle/brake slabs, haptic taps
- ·Out-of-bounds reticle + compass + RESPAWN chip
- ·Collision concussion LPF + screen-blur pulse (paired)
- ·Lens flare on outdoor arenas (Ludlow + LA Night)
- ·Drive tier badges per arena (OBSERVER → LOCAL)
- ·Combo meter + 12s replay ring buffer
- ·First-run preset calibration (adapter-heuristic)
- ·Trajectory prefetch + camera-direction priority + chunk coalescing
- ·Service worker (offline shell)
- ·/how-it-works + /press marketing surfaces + pnpm invite CLI
- ·Konami easter egg → cheat mode (top-speed + combo invincibility)
- ·D4 weight transfer — chassis pitches under throttle / brake (lab-flag)
- ·A7 speed depth-of-field — focus tightens with velocity, releases on brake (lab-flag)
- ·A3 fog overlay — per-arena horizon haze, JSON-authored colour + far
- ·A3 god-rays — lab-flag opt-in, sun-anchored 70° cone
- ·D8 mp4 export — WebCodecs + Mediabunny pipeline, AV1 preferred (lab-flag, webm stays as fallback)
- ·A10 replay filters — MONO / WARM / OLD TV stylings baked into preview + export
- ·D11 Photo Hunt — shutter-as-vantage-capture detector + HUD chip (lab-flag, lifetime totals persist)
- ·A8 parallax-corrected reflection probe — chassis cubemap reprojects through per-arena AABB
- ·B7 BMW S54 engine — RPM bands retuned to chassis spec (idle 1000, redline 7800); SettingsDrawer diagnostic surfaces sampled vs synth
- ·A2 LUT crossfade — 600 ms blend on arena change instead of instant swap
- ·Battery saver chip — title-screen nudge to performance preset on <20% battery
- ·Tilt to steer — DeviceOrientationEvent gamma → a/d virtual keys, settings-toggled
- ·D9 scoring detectors — SPEED STREAK / SMOOTH RUN / SIGHTSEEING wired to combo meter (lab-flag)
- ·Session readout — end-of-session modal (distance / peak / combo / vantages) with replay CTA
- ·Vantage chip Photo-Hunt states — TARGET (amber pulse) / CAPTURED (green ✓) flips per-vantage
- ·Achievements — 200 KM/H CLUB + FIRST VANTAGE + ARENA PHOTOGRAPHER + GRAND TOUR milestones
- ·B3 surface materials — tarmac ↔ gravel tyre-roll crossfade keyed to playRadius proximity
- ·/data — player-facing telemetry readout (lifetime stats, per-arena breakdown, achievements, replay buffer)
- ·/scoring — explainer for the combo meter + D9 detectors + Photo Hunt mechanics
- ·Session readout — BRAG button (Web Share API + clipboard fallback) shares a one-line run summary
- ·Photo lifetime counter — SHUTTERBUG (10) + ARCHIVIST (50) milestones; surfaced on /data
- ·Drift counter — session + lifetime; DRIFTER (10) / DRIFT KING (50) / BIG SCORE (500-point single drift) milestones
- ·Session readout — drift count row + new-personal-best celebration when peak speed or combo set a record
- ·/photos — sliding-window thumbnail gallery (last 24 captures, 256px JPEGs in localStorage); lightbox + per-photo delete + clear-all
- ·Photo Hunt compass — HUD chip with world-space arrow + distance toward nearest un-visited vantage (suppressed in-radius)
- ·Title arena cards — ◉ X/Y vantage badge when photo-hunt lab flag is on; green when arena cleared lifetime
- ·Welcome modal — second mode surfaces the latest changelog entry on first visit after a ship
- ·Daily streak — consecutive-UTC-day counter, bumped on session start; REGULAR (3) / DAILY DRIVER (7) / HABIT (30) milestones
- ·Achievements — earned-at timestamps, "earned · Nd ago" row label on /achievements (v1→v2 migration silent)
- ·Photo gallery — left/right arrow keys step through the lightbox (wraps at ends)
- ·A1 SSAO — quality + cinematic presets land lighting-mode SSAO; chassis grounding reads deeper without touching splats
- ·A3 per-arena bloom — JSON arena.bloom opt-in; LA NIGHT neons + sodium streetlights halo without stylising the rest
- ·A2 chassis tint — body picks up arena horizon colour via low-intensity emissive (~4%) so the paint reads "lit by this environment" beyond reflections alone
- ·Drivetrain — UPSHIFT_RPM 6800→6000, THROTTLE_FORCE 1200→1500, throttle attack 4→7, taper now quadratic; 2nd→3rd fires at ~114 km/h instead of ~129, top speed reaches faster
- ·Brakes — BRAKE_FORCE 800→1600 to match the throttle bump; race-car-realistic 1.5× braking-over-throttle ratio
- ·Title mode picker — FREE DRIVE / PHOTO HUNT chips above arena cards. Photo Hunt was previously lab-flag-only; now player-discoverable. /labs flag still works as a power-user override.
- ·Speed Run mode — 500m time trial with per-arena personal best (localStorage). HUD chip with live timer + progress bar; session readout shows time + new-PB celebration; brag text gains the run result.
- ·Speed Run polish — per-arena targets (ROOM 200m / LUDLOW 500m / LA NIGHT 800m), ignite sting on completion, SPEED DEMON (<30s in any arena) + TIME LORD (PB in every arena) milestones, settings-drawer Gameplay section restores mode picker after the title redesign.
- ·Speed Run restart — ↻ chip on the HUD lets the player retry mid-arena without ESC + Q + ignite.
- ·Mini-map vantage dots — Photo Hunt mode projects vantages into the dial; cyan for un-visited, green for captured, clipped to the play radius.
- ·Pause overlay mode block — Photo Hunt shows session + lifetime vantage progress; Speed Run shows live timer + distance / target + collisions + arena PB. Free Drive stays clean.
- ·Drift live chip — in-progress slides surface peak angle, duration and live score in the moment, then linger for a 700ms afterglow on close. Display-bin dedupe so it doesn't re-render at 60Hz.
- ·Combo zone flash — crossing the 200-pt threshold now triggers a brief amber radial pulse across the viewport. Pure-CSS keyframe; respects reduced-motion.
- ·Achievement progress bars — un-earned milestones on /achievements now show "current / target" + a thin cyan bar, so the page reads as a goal tracker instead of a flat checklist.
- ·Replay event timeline — colored ticks above the scrub bar mark each recorded event (impact / drift / vantage / shift / ignite); click any tick to seek. Honours the existing event-kind filter chips.
- ·Photo mode look adjustments (PRD §4.6) — EXPOSURE / CONTRAST / SAT sliders flip the grading block on intent. Neutral default + reset chip preserve the photoreal-first stance; exiting photo mode auto-restores the preset.
- ·Boost feedback chip — Shift hold confirmation. Subtle amber chip lower-right shows "BOOST · 1.8× · hold shift" while the binding is biting; out of sight when off.
- ·A8 §5.8 HDR display — detects matchMedia('(dynamic-range: high)') and flips the WebGPU swapchain to DISPLAYFORMAT_HDR when supported. Highlights no longer clip to 1.0 before the player's HDR display can show them; SDR displays silently get the pre-§5.8 path.
- ·G2 personalised OG cards — Cloudflare Pages Function rewrites og:image when ?src=<token> is present; SVG card bakes invitee name into the INVITED BY line
2026-05-14 · v2026.05.14
Sprint 4 — visual presets, photo mode, attract title, settings drawer
- ·A1 visual preset → SplatCanvas → post-process wiring
- ·A4 particle systems (dust kick, tire smoke, ignition flash, brake heat)
- ·A5 per-wheel contact shadows
- ·B1 ambient bed + B2 procedural music (per-arena, state-aware)
- ·C1 settings drawer MVP (visual / audio / accessibility / diagnostics)
- ·C2 attract mode — splat canvas as title backdrop
- ·C3 photo mode MVP (free-fly + grid + PNG capture)
- ·D2 brake-punch FOV + speed-gate chromatic aberration
- ·D5 reverse beeper + D7 speed lines + G-force tilt
- ·D6 haptics (mobile vibrate + gamepad rumble)
2026-05-13 · v2026.05.13
Sprint 1–3 — streaming engine + spring-arm camera + shadow catcher
- ·Sprint 1 — pnpm pipeline + split-by-scale + telemetry wired
- ·Sprint 2 — frustum culling + MAX_AUTO_LOD ceiling
- ·Sprint 3 — spring-arm chase camera, shadow catcher, cubemap reflections, opacity-pruned splats
- ·Three drivable arenas: ROOM, LUDLOW SQUARE, LA NIGHT
- ·Hybrid collision: walls-only trimesh + flat floor plane
2026-05-09 · v2026.05.09
Spike 0 — first pixel on integrated GPU
- ·WebGPU probe + compatibility wall fallback path
- ·Three-worker pipeline (manifest, decode, persist)
- ·OPFS warm cache with LRU + 1 GB cap
- ·Motion-aware LOD controller
- ·Bash-themed boot reel + title shell