Live GLM 5.3 Flash benchmark scene showing the Japanese Tea Garden torii, pagoda, red drum bridge, autumn trees, and de Young-like tower
2026.09.02models · research

A Bench in Golden Gate Park

The same Golden Gate Park Three.js prompt across several models, with the artifact, one-shot result, wall time, and run harness kept together.

statusexploring

I wanted a web-generation test simple enough that I could run it across a handful of models without turning it into a benchmark-industrial-complex project.

The rule is straightforward: give each model the same prompt once, save what it produces, record where I ran it and how long the run took, and put the result here so the output can be judged directly. No retries, no cleanup pass, and no corrective follow-up prompt. If a harness inserts an execution step such as asking me to approve its plan, choose from its own recommended options, or install tooling before it builds, I record that too. I am also recording the shape of the artifact itself: architecture, file count and size, dependencies, and whether it needs a build step. Wall-clock times across different products are context, not controlled throughput.

The prompt

create a painterly, beautiful 3js web demo that allows WASD first-person motion through a sunny Golden Gate Park in San Francisco.

Results so far

The harness matters. These are end-to-end wall times observed in the products I actually used, not a controlled model-throughput measurement, so I am keeping the run environment visible next to every result.

OpenAI

Terra High

One shot in the ChatGPT Work harness: 3m 31s. Terra’s generated package is the smallest multi-file artifact in the set so far: three files, about 5.8 KiB zipped and 12.7 KiB unpacked. It is plain HTML, CSS and JavaScript with no framework and no build step. The only runtime code dependency is Three.js 0.164.1 from jsDelivr; its title-card fonts come from Google Fonts.

Live exact Terra High artifact. Click Begin the walk, then use WASD and the mouse; R resets the camera.

The implementation is correspondingly direct. Terra creates a gently deformed grass plane, a Catmull-Rom walking path, roughly two hundred procedural trees around an open meadow, three hundred small flower meshes and warm fog and sunlight under ACES tone mapping. Its painterly direction is mostly achieved with low-poly flat-shaded geometry plus a paper-like SVG noise wash, vignette, warm palette and editorial title card rather than a dedicated post-processing shader.

It still makes a few explicit Golden Gate Park choices: a small Conservatory of Flowers built from transparent domes, a vermilion torii on a distant path, meadow and grove location labels, and drifting butterfly-like flecks. The entire generated source is archived unchanged and the live copy is those same three files, so Terra requires essentially no hosting adaptation beyond placing the files under the site’s public demo directory.

Luna High

One shot in the ChatGPT Work harness: 5m 12s. Luna took a compact route: one HTML file importing Three.js from jsDelivr, with no React app or build system.

Click Begin wandering, then use WASD, the mouse, and Shift to run.

It still builds rolling terrain, paths, Stow Lake, trees, flowers, a Conservatory-like building and distant de Young silhouette, using fog, warm light, tone mapping, grain and vignette for the painterly direction.

Sol High

One shot in the ChatGPT Work harness: 33m 50s. Sol generated a full React/vinext application rather than a standalone scene. The uploaded package measures about 3.04 MiB zipped and 3.49 MiB unpacked, with 79 files; 63 are TSX files. It includes a designed landing screen, HUD and park guide, mobile controls, procedural ambient audio, and four explicit destinations: Conservatory of Flowers, Dutch Windmill, Blue Heron Lake and Music Concourse.

The architecture is part of the result. This artifact is shaped around the ChatGPT Work hosting stack, using React/vinext, Vite and associated application plumbing. The live copy uses a minimal static Vite entrypoint around the unchanged generated ParkExperience component and stylesheet; it bypasses only the server-oriented vinext/Cloudflare shell.

Live hosting adaptation of the exact generated scene. Click Begin the walk, then use WASD and the mouse.

Alibaba

Qwen 3.8 Max (older version)

One shot in 9m 28s. This is the older Qwen 3.8 Max version reported for the run. It produced one 21.1 KiB HTML file with no build step, importing Three.js 0.160.0 and PointerLockControls from unpkg.

The scene builds Stow Lake with an island pagoda, a Conservatory-like dome, a de Young-like tower, two windmills, benches, procedural trees and flowers, animated water and clouds. The original ZIP is archived unchanged, and the hosted page is a byte-identical copy of its generated HTML.

Live exact Qwen 3.8 Max artifact. Click to begin, then use WASD and the mouse; hold Shift to run.

Anthropic

Sonnet High

One request in Claude Code: 9m 29s. Sonnet first produced a plan, I approved it, and it continued through completion without another content prompt. I count that as one shot while recording the approval step.

Click the opening card, then use WASD, the mouse, and Shift to run.

Sonnet chose a compact single-file procedural scene with rolling terrain, path, pond, trees, wildflowers and a large windmill destination.

Opus 5 High

One shot: 50m 26s. Before building, the harness asked me to choose a style option and a scope option. I selected its recommended choice for both, after which it continued to completion without another content request. I count this as one shot, while preserving those harness choices as part of the run history.

The resulting package is unusually focused technically: 11 files, about 30 KiB zipped and 76 KiB unpacked. It is plain modular JavaScript and Three.js, with no framework, no build step and no binary scene assets. Three.js itself is loaded from jsDelivr on first run.

Rather than trying to reproduce the whole park as a landmark checklist, Opus concentrates on a first-person walk around Stow Lake and Strawberry Hill. Its rendering system is one of the more deliberate painterly implementations in the set: custom surface shaders with banded wrapped diffuse lighting, warm lights and cool shadows; a baked canopy-shade texture instead of a shadow-map pass; an eight-sector generalized Kuwahara post-process; edge darkening, canvas tooth and color shaping; procedural sky, water, vegetation and terrain; and adaptive quality that can reduce the Kuwahara radius and pixel ratio when frames run long.

Live exact Opus 5 High artifact. Click inside, then use WASD and the mouse.

DeepSeek

DeepSeek V4 Flash

One shot in 35 seconds. DeepSeek produced the smallest artifact in the set so far: one 19.3 KiB HTML file with no build step. It loads Three.js 0.160.0 and its controls and post-processing modules from unpkg, then builds Stow Lake and its island, the Conservatory of Flowers, Murphy Windmill, procedural trees and flowers, and a warm painterly treatment with bloom.

The original ZIP is archived unchanged. The hosted page is a byte-identical copy of its generated HTML, so the live result has no adaptation beyond its public URL.

Live exact DeepSeek V4 Flash artifact. Click to enter, then use WASD and the mouse.

Google

Gemini 3.8 Flash

This was a fairly ambitious interpretation of the prompt: a procedural park world with the Conservatory of Flowers, Japanese Tea Garden and moon bridge, redwood grove, cypress meadow, custom procedural textures, first-person movement, sprinting, jumping, crouching, touch controls, atmosphere presets, minimap, audio and snapshot mode.

The complete supplied source is archived unchanged. The live copy is its Vite production build with only the deployment base path configured.

Live production build of the exact supplied source. Click inside, then use WASD and the mouse.

Moonshot AI

Kimi K3

One shot in 26m 17s. Kimi generated a 13-entry modular JavaScript project: about 277 KiB zipped and 1.28 MiB unpacked, with separate modules for terrain, sky, vegetation, landmarks, controls and painterly post-processing. Unlike the CDN-backed single-file entries, it vendors Three.js and PointerLockControls locally and needs no build step.

The park includes Dutch Windmill, the Conservatory of Flowers, a pagoda, Stow Lake, a red bridge and waterfall hill. The complete extracted tree is hosted unchanged.

Live exact Kimi K3 artifact. Click to enter, then use WASD and the mouse; hold Shift to move faster.

Muse

Muse Spark 1.3

One shot in Muse Code: 2m 00s. That is the fastest completed artifact in the set so far, and dramatically faster than the 30m 16s Muse Spark 1.2 run in the same broad coding environment.

The output is also remarkably compact: one 30.0 KiB HTML file, 621 lines, with no framework or build step. It imports Three.js 0.160.0 from unpkg and keeps the rest of the experience in the page itself: CSS/SVG grain and vignette, procedural canvas textures, a shader sky, instanced trees, 520 roses, 900 wildflowers, 1,400 grass tufts, clouds, pollen, birds, collision handling, pointer-lock WASD controls and touch controls.

Despite the two-minute run, it did not retreat to a bare generic meadow. The scene explicitly builds a stylized Conservatory of Flowers, Rose Garden, Dutch Windmill and a distant de Young-like tower, plus a lily pond, benches and lamps. The generated HUD describes the experience as a sunny painterly stroll through the Conservatory, Rose Garden and Dutch Windmill, and the implementation uses ACES tone mapping, fog, warm directional lighting and procedural brush textures to pursue the requested aesthetic.

This is a particularly useful result for the benchmark because it puts generation time and artifact complexity in tension. Muse Spark 1.3 produced a much smaller architecture than Muse Spark 1.2, but the source still contains a substantial amount of actual scene construction rather than application scaffolding. Whether that economy also holds up visually will matter more than the two-minute number by itself.

Live exact Muse Spark 1.3 artifact. Click Enter the Park, then use WASD and the mouse.

Muse Spark 1.2

One request in Muse Code CLI: 30m 16s. During the run Muse asked to download Playwright plus Firefox and WebKit. I approved those tooling steps and let the same run continue.

Click the opening card, then use WASD, the mouse, and Shift to move faster.

Muse attempted a broad miniature park: Stow Lake and Strawberry Hill, Conservatory of Flowers, de Young, Japanese Tea Garden and Dutch windmill, with procedural terrain, specialized water rendering, vegetation, baked shade and painterly shader work.

Z.ai

GLM 5.3 Flash

One shot in the ZCode app: 55m 19s. GLM attempted one of the broadest recognizable maps in the set: Conservatory of Flowers, JFK Promenade, Music Concourse, de Young, Academy of Sciences, Japanese Tea Garden, Stow Lake and Strawberry Hill, bison paddock, Dutch Windmill, Pacific edge, skyline and Sutro Tower, plus a custom painterly fullscreen post-process.

Its artifact also takes a different dependency approach: it vendors Three.js locally rather than using a CDN and is designed to run without a build step. The live copy preserves that local dependency arrangement unchanged.

Live exact GLM 5.3 Flash artifact. Click the opening control, then use WASD and the mouse.

What I am watching

I am deliberately not assigning a numeric score after one run. Once there are several entries, I care about whether the first-person controls feel usable, visual depth, whether landmarks read as intentional places, how well the painterly direction survives motion, unnecessary interface or feature creep, whether the thing works without repair, and now also how much architecture and artifact weight each model chose to introduce to solve the same small prompt.

More models will be added to this same page as I run them.