XRAI prototypes · 5 surfaces · honest status
§ prototypes · what's working · what's coming

Five prototypes, honest status.

Working internal artifacts that should ship as public XRAI decoders. Each one is graded by the same 3-gate SHIP_READY criteria the rest of the project uses: G1 auto editor visual, G2 user step test, G3 local build / deploy. No item is marked SHIP unless all three pass.

1 · Voxel world generator

SHIP
spec 023 · Three.js + Vite · 655 KB gz=175 KB · deployed 2026-05-02

"Explode a galaxy of cyan voxels around me" — procedural voxel plant generator with LOD + wind simulation. Sparse intent → thousands of GPU voxels at 60 FPS via the Keijiro pattern. Same XRAI doc 12 renders here in browser and on iPhone.

G1 · auto visual

Vite build clean (640 ms), 25/25 Playwright PASS at deploy.

G2 · user step

Open the page, drag to orbit, observe wind on plants. Self-evident pass.

G3 · build/deploy

Shipped at imclab.github.io/xra1/voxel/.

2 · Spatial MCP server

SHIP
@h3m/spatial-intelligence-mcp · 8 of 11 tools live · stdio + http transport

Make XRAI readable/writable by any MCP-compatible AI agent — Claude Desktop, Cursor, Cline, OpenAI agents, Gemini-with-MCP-shim. Tool calls and chain-of-thought roll onto the bus as deltas; the agent consumes scene state and emits edits.

Quickstart · Claude Desktop

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "xrai": {
      "command": "npx",
      "args": ["-y", "@h3m/spatial-intelligence-mcp"]
    }
  }
}

Restart Claude Desktop → the 8 tools (compose_scene, add_object, query_scene, modify_object, export_xrai, get_capabilities, paint_emit_stroke, paint_emit_parametric) appear in any conversation.

G1 · auto visual

npm package builds + publishes; 8/11 tools tested in unit suite.

G2 · user step

Drop the JSON config, restart Claude Desktop, ask "compose a campfire scene" → bus emits valid XRAI.

G3 · publish

npm registry public; README + tool catalog.

3 · DynGsplat 4D viewer

PARTIAL · web stub
spec GSPLAT_LOD_2026-04-04 · gated on Phase 3 iOS Metal device verify (INDEX #4)

Render published 4D Gaussian datasets (DyNeRF / Plenoptic Video / D-NeRF / MEGA pretrained) live. Cross-platform: gsplat-unity (iOS app) + GaussianSplats3D (web) + MetalSplatter (visionOS). Niantic SPZ as interchange.

G1 · auto visual

Unity Editor renders static splats today. 4D temporal sequencing untested headless.

G2 · user step

Awaits physical iPhone trip per device queue.

G3 · publish

Web wrapper waits on dataset selection + GaussianSplats3D wiring (~2 h).

4 · Conducting orchestration (example 13)

QUEUED
XRAI doc 13 shipped · web decoder pending · MediaPipe Hands + tone.js path open

"Let me conduct the swarm" — per-finger pointing rays + open-hand arc + tempo envelope drive a 1200-particle agent swarm. Optional symphonic harp cue. No mouse, no menu. XRAI doc 13 already valid; web decoder needs WebXR hand-tracking surface (or MediaPipe webcam fallback).

G1 · auto visual

Unity-side particle system shipped (HandVFXController).

G2 · user step

Awaits hand-tracking decoder; doc 13 Editor playback verified.

G3 · publish

Web decoder ~6 h: MediaPipe Hands + Three.js particle pool + tone.js audio cue.

5 · Persistent anchor (example 7)

QUEUED
XRAI doc 7 shipped · WebXR anchors API path open · localStorage stub viable as v1

Save/reload XRAI doc keyed by ARKit world-anchor UUID. Web equivalent uses WebXR XRAnchor API (Chrome Android + Quest browser today; iOS Safari pending). localStorage round-trip viable as a v1 demo — ships the concept while real WebXR anchors mature.

G1 · auto visual

iOS Unity ARKit world-map anchor verified at last-working-rec02=b1c1c56cc.

G2 · user step

Awaits device trip + reopen-app round-trip.

G3 · publish

Web v1 decoder ~3 h: localStorage stub + Three.js scene reload demo.

How to promote a prototype to SHIP

Each card flips from QUEUEDPARTIALSHIP by closing all three gates documented in /ship-status:

Code-complete is not shipped. A feat() commit alone fails G2 + G3.