WorldBench
- Python
- Three.js
- Headless Chromium
- Next.js
- TypeScript
- HuggingFace
Overview
WorldBench is a live benchmark that asks one question: can a language model build a living 3D world from a single description?
Every model gets the same prompt: a detailed description of a floating voxel island with ten biomes, rivers, weather, wildlife, a day/night cycle and seasons. It has to answer with one self-contained world.html that renders the world in Three.js, imported from a CDN, with no build step and no asset files. The file has to open in a browser and just run.
So far it holds worlds from 30 models across 12 labs, including Anthropic, Google, OpenAI, xAI, Meta and DeepSeek, and the site gets about 5K visits/month.
The Website
worldbench.krishbakshi.com is where people use it:
- Evaluations: every model's island runs live and interactive in the browser. Search or filter by lab, or open any world in its own window.
- Compare: put up to six worlds side by side, in a link you can share.
- Leaderboard: every scored model ranked, with each test broken out and the exact scores in a table.
- About: what the benchmark tests, how scoring works, and how to cite it.
The scoring code is on GitHub, the results are a Hugging Face dataset, and the method is written up in the paper WorldBench: Evaluating LLMs on Three.js Voxel World Generation (arXiv 2610.10622).
Why Grading Is the Hard Part
Models can now write complete interactive worlds as code, but judging those worlds is unreliable. Existing judges take one view of the output: a vision-language model scores a few screenshots, or a language model reads the source.
On worlds written by five frontier models, those two views disagree on 32% of required items, mostly code that no frame ever shows. Fixed camera views also miss small close-up contents. A judge that trusts either view alone gets fooled.
Why the Task Is Hard
The island is the visible part. What the prompt actually demands is that several kinds of reasoning hold at the same time, all in one file:
- Holding a large spec in mind: well over a hundred concrete requirements, from snow on tree canopies to obsidian where water meets lava.
- Spatial reasoning: biomes are described by their relationships, not coordinates, so the model has to hold a mental map and build to it.
- Causal reasoning: water runs from mountain melt through the jungle to the plains and out to a delta, the desert stays dry, and rivers never flow into the volcano.
- Code that works, not code that looks right: thousands of lines of Three.js that have to run, render and animate without crashing.
- A world that is alive over time: rain falls, rivers flow, clouds drift, the sun crosses the sky and the seasons turn.
The Placement Graph
The ecology is a typed graph rather than prose. One perennial water corridor runs the length of it, and the edges that break that line carry the difficulty.
The prompt's ecology, drawn as edges rather than prose.
The flowering grove has two valid sources, down the highland slope and/or across from the grassland plateau, which gives the graph its one real cycle. The desert touches the grassland only through dry washes that fade out before they arrive: a genuine relation, but never a through-river. The backwater swamp hangs off the jungle's wet side as a dead end. The volcano sits off the water system entirely, reached by a single causal rule.
Holding that adjacency structure while laying out geometry is part of what is being tested.
How It Judges
The judge explores the running world and reads the code for what it sees.
- Structural gate: the file must exist and actually be a Three.js / WebGL page, or it fails fast with a reason.
- Instrumented capture: the world runs in headless Chromium with its randomness seeded and its clock pinned, so every reload builds the same island. The capture records fixed views, every time of day and season, and a navigator agent that uses the world's own legend and camera to frame each biome.
- Dual evidence per rubric item: an LLM reads the source and must quote the exact lines that build each item, and every quote is verified verbatim against the file. A VLM judges the captured frames, and motion, day/night brightness and seasonal tint are measured from the pixels instead of asked about.
- Disputes: when the frames show something the code half missed, a tool-using agent searches a sandboxed copy of the source to settle it, with its quote verified the same way.
Every world is scored on the same five tests, 280 points in total:
| Test | Points | What it asks |
|---|---|---|
| WC001 Voxel island | 40 | Is it a cube-built island floating in a void, with no visible rendering bugs? |
| WC002 Coverage and placement | 20 | Is every biome built, next to the right neighbours at the right height? |
| WC003 Micro-contents | 100 | Does each biome contain what makes it that biome? |
| WC004 Physics | 100 | Do rain, rivers, clouds and lava look and move right? |
| WC005 Temporal cycles | 20 | Do day/night and the seasons actually change the world? |
What the Paper Found
A mutation test removes features from worlds by construction and checks whether a judge notices. Code-only judging still gives full credit to four of five removed features, because their code remains in the file.
WorldBench's judge cuts the points kept on removed features by a third (5.44 to 3.55 of 7.11), and what it still credits is mostly code that exists but never runs.
The paper evaluates five frontier models: Claude Fable 5.1, GPT-6 Astra, Kimi K3, Grok 4.7 and Gemini 3.1 Pro. The website and the Hugging Face dataset cover a wider roster of generated worlds, each with its scores, quotes and frames saved so any result can be audited.
Try It
- Read the paper on arXiv.
- Browse the worlds and scores at worldbench.krishbakshi.com.
- Get the code, prompt, tests and judge configuration on GitHub, and the data on Hugging Face.