Skip to content

roadmap · platform

What's next

PAXAL is a platform; the driving demo is one title. Below: the capabilities ordered by how certain they are, then the build beats by tier. Read it as intent, not schedule — shipped beats move to /changelog.

CAPABILITIES

DRIVE

Live

Real, scanned spaces. Drive them in a browser tab. The first title.

WALK

In build

Same spaces, on foot. Rebuilding the camera rig for human pace and human eye height.

BUILD

Exploring

Tools for shipping playable splat worlds. SDK preview, no date.

RACE

Direction

Multiplayer ghosts. Time-trial ladders. Weekly seeds. Aspirational.

NEXT

Actively in progress this build cycle.

  1. Per-face surface tagging

    The tarmac ↔ gravel crossfade keyed to playRadius proximity already shipped; the full version is per-face collision-mesh tagging. I author surface ids on the .glb material groups, carry them through the trimesh extraction pass, and route the active wheel-contact face id into setVehicleOffRoadMix at sample granularity.

LATER

Framing only — not a commitment yet.

  1. Playwright visual-regression goldens

    Title / loading / pause / photo / compatibility-wall captured as golden PNGs. PRs that diff them flag the author. Advisory at first; blocking once the goldens have stabilised across two main builds.

  2. Next drivable capture

    Self-captured or re-licensed open dataset. Tests the v2 asset pipeline end-to-end and proves the production-replacement story beyond the current pair the PoC ships with.

  3. Multiplayer

    Two cars, one URL, room-scale photoreal capture. Out of scope for now but every architectural decision (Zustand-as-state-machine, replay-buffer-as-pose-stream, three-worker pipeline) has been shaped so this is days of work, not months.

  4. LOD hot-swap temporal blend

    When a chunk upgrades LOD mid-frame, ramp the old chunk's opacity 1→0 and the new chunk's 0→1 over 8 frames so the swap reads as a dissolve, not a pop. Investigated: PlayCanvas 2.18 GSplatComponent runs in unified mode by default (one material per camera/layer, shared across components) — per-entity opacity requires unified=false on the swap entities AND a custom shader chunk that adds an opacity uniform to the GSplat fragment. First real custom-chunk work in the codebase; deserves a dedicated session.

  5. Vehicle SSR

    "Vehicle paint reads as if it sees the world." Screen-space reflection traced from the chassis PBR fragments, half-res, fixed 16 steps + 4 binary refinement, fallback to envAtlas on miss. CameraFrame ships no built-in SSR pass, so this is custom-chunk work on the chassis StandardMaterial reflectionPS chunk plus depth + color-grab access. Highest investor-leverage renderer beat remaining; same risk class as LOD hot-swap, dedicated session.

Tell me what you'd build

A short description is enough. A space you'd walk, a mode you'd play, a tool you wish existed. Founder reads, founder replies.

email [email protected]

No quarters, no kanban columns. This list is honest about what's live and what isn't.