Prove the world works.
WorldSpec is spatial QA for generated 3D worlds. It turns a movement requirement into a testable avatar profile, builds a navigation surface from the generated collider, and shows exactly whether a route is usable.
Built solo for Ignition Hacks V7, targeting Best of World Labs in the Art category.
The prepared proof uses the same route twice. The destination rejects a 1.4 metre-wide service robot, then verifies a 0.7 metre-wide explorer with a 6.3 metre route and 2.22 metres of measured minimum clearance.
Generative world models can produce a scene that looks convincing while hiding functional failures: a disconnected platform, an unusable entrance, a passage too narrow for the player, or a floor a robot cannot traverse. Visual quality alone does not answer the production question: can the intended user actually move through this space?
WorldSpec adds that missing verification layer.
The first target user is a technical artist or level designer reviewing an AI-generated space before it reaches a game, simulation, robot, or accessibility workflow.
- Loads a persistent world generated with World Labs Marble.
- Renders the full-resolution Gaussian splat and its collider in one aligned Three.js scene, with a 500K visual fallback.
- Compiles natural-language dimensions into a deterministic movement contract.
- Lets the user place an entrance and destination, or load a verified proof route.
- Builds an avatar-aware Recast navigation mesh from the real Marble collider.
- Samples the route envelope against collider geometry.
- Draws the tested body as a measured width-and-height corridor with live scan feedback.
- Returns pass or fail evidence in the interface and directly in 3D.
The prepared orbital-greenhouse demo includes a verified 6.3 metre route. A standard 0.7 metre explorer profile passes; a 1.4 metre service-robot profile demonstrates how the same destination can become invalid for a larger agent.
WorldSpec uses two representations of the same Marble world:
- SPZ Gaussian splats provide the high-fidelity visual world.
- Collider GLB geometry provides the physical evidence.
- Semantic scale and ground metadata align the splat with metric analysis.
- Stable world IDs let the server refresh expiring asset URLs safely.
Both exports use Marble's OpenCV coordinate frame. WorldSpec converts them to Three.js axes, applies metric metadata to the splat, and keeps the already-metric collider suitable for physics and navigation.
Marble world ID
|
+-> server-only World API client -> fresh SPZ + collider URLs
|
+-> Three.js + Spark -> visual world and point selection
|
+-> Recast -> avatar-aware connected route
|
+-> paired ray sampling -> minimum route clearance
|
+-> evidence ledger -> pass/fail explanation and measured 3D corridor
The World Labs API key never enters the browser bundle. Next.js route handlers own generation and world resolution, while the browser polls operation status through that server boundary. Analysis is deterministic and runs without an additional AI service.
Requirements:
- Node.js 24 LTS
- npm 11+
- A World Labs API key with Marble access
git clone https://github.com/3-rt/worldspec.git
cd worldspec
npm install
cp .env.example .env.local
npm run devConfigure .env.local:
WORLDLABS_API_KEY=your_private_key
WORLDLABS_API_BASE_URL=https://api.worldlabs.ai
WORLDLABS_MODEL=marble-1.1
DEMO_WORLD_ID=your_prepared_world_id
WORLDLABS_GENERATION_ENABLED=New world generation is available in local development. Production deployments
disable it by default so the prepared demo remains reliable and quota-safe. Set
the server-only WORLDLABS_GENERATION_ENABLED=true deployment variable to opt in.
Open http://localhost:3000 in a current desktop Chromium browser with WebGL2.
npm test
npm run lint
npm run typecheck
npm run build
npm run test:e2eThe current unit and component gate covers requirement parsing, evidence copy, World API schemas and errors, API routes, coordinate transforms, viewer lifecycle, real Recast navigation, clearance sampling, prepared-world resolution, bounded generation polling, deterministic demo scenarios, and the complete workspace flow.
- Collider meshes are intentionally coarse and may omit visual detail.
- Navigation quality depends on the topology of the generated collider.
- Large collider analysis currently runs in the browser and can take a few seconds.
- The interactive 3D experience targets desktop Chromium with WebGL2. Smaller screens receive a responsive inspection layout, but desktop is recommended.
- Marble world generation usually takes several minutes, so the prepared demo remains available during generation.
WorldSpec uses World Labs Marble and its World API to generate, retrieve, render, and verify persistent 3D worlds.
