I gave Fable 5.1 one prompt for a walkable 3D Berlin in raw WebGL2, no libraries allowed. Four hours later it was live.
热度趋势
趋势数据积累中
百分比基于当前可用热度信号,而非评论数或独立用户人数。
I wanted to see how far Fable 5.1 gets on a long autonomous run with hard constraints, so I wrote one prompt and let it go with "ask nothing, keep going until the URL is live". The rules were the point. Raw WebGL2 only, no Three.js or any wrapper. Its own physics with a capsule controller against building walls. Its own audio on the raw Web Audio API, all synthesised, no audio files. Its own OpenStreetMap XML parser and its own triangulation. Real map data for every building, road, tree and the Spree. Static files under 25 MB, no backend.
Four hours and eight minutes later there was a live site. You spawn in front of the Brandenburg Gate, walk down Unter den Linden to the TV Tower, cross the Holocaust Memorial between 2711 stelae, or press F and fly over the whole district. Sun position is computed for the real date and latitude. There is a minimap from the same road data, landmark cards, a photo mode and share links.
Numbers from the run. 7,895 lines of code and shaders. 137 API calls, 34.6 million tokens, 33.8 million of them cache reads. Main session cost 27.49 dollars. Effort was high at the start and medium after the 5 hour limit reset in the middle of the night. It used two subagents, one for the data pipeline and one for the audio. The pipeline subagent got killed by the limit mid file and resumed where it stopped.
What impressed me was not the code, it was the verification. It could not use a browser MCP, so it wrote a headless Chromium harness over the DevTools protocol with Node's built in WebSocket, took about 30 screenshots of its own work and looked at them. It found a z fighting bug by reading the binary tile format it had designed and noticing that 1/32 m vertex quantisation had collapsed the ground layers. It proved the TV Tower was rendered but invisible from 2 km by querying the loaded tile inside the page and zooming into the pixels, then fixed the lighting. It tested the collision by scripting key presses into the simulation and checking the end position against wall coordinates from the data.
What it got wrong or skipped is listed in the README. No phone was available so the mobile frame rate is unmeasured. The ground is flat with visual curbs only, which it decided and documented instead of hiding. The first Overpass query timed out twice before it rewrote the query.
Repo with the full prompt, the plan it wrote for itself, and all the numbers: https://github.com/adilzhanY/berlin-walk