Workbenches is an open standard. Read why
Head to head Oct 26, 2026 Revision 1 2 arms · 1 attempts each

Who pulls the better espresso?

One prompt, one run each: a cup of espresso you stir with your cursor, where speed is force. Opus 5.5 against Opus 5.5 with the threejs-tsl Workbench.

The cups

Recordings loop. Stir opens the real build in a new tab.
Opus 5.5 Vanilla

Agent said "The espresso page is built and pushed to workbenches/espresso-liquid-opus (commit 376e4c4); I didn't open a pull request because you didn't ask for one. I ch..." Gate: passed.

Works 1/1 Per working cup $6.32
threejs-tslWorkbench pompeii/threejs-tsl on Opus 5.5
Our pick

Agent said "I built the espresso page in the workspace root, and the final tgcheck gate passed (run pass-10). It covered screenshots, the WebGPU/WebGL2 comparison and ev..." Gate: passed.

Works 1/1 Per working cup $5.71
Our take

Both arms built a convincing cup of espresso, and both pass every gate. Vanilla Opus 5.5 went for drama: drag across the cup and the crema pulls into a feathered trail that looks like latte art. But a slow drag and a fast swipe hit about the same, and speed setting the force was the one rule of the prompt.

The threejs-tsl Workbench got the feel right. Drag slowly and the crema drifts. Flick and a ring wave tears it open, bounces off the cup wall, and settles in about three seconds. It tested that itself with scripted browser tests for force, settling, wall reflection, and touch, and it still finished faster and cheaper than vanilla.

And the Workbench's cup came to $5.71, which is less than an oat milk latte costs these days. Cheaper than the real thing, and you never have to wash it.

This is one run each, so treat it as a first read. Stir them both and be the judge.

Our pick: threejs-tsl (pompeii/threejs-tsl on Opus 5.5) · editorial judgment

Our picks

Editorial judgment, after stirring every build
  • Feels like liquid
    Workbench threejs-tsl pompeii/threejs-tsl on Opus 5.5

    Speed sets the force, waves bounce off the wall, and the surface calms in seconds.

  • Most dramatic crema
    Opus 5.5 Vanilla

    Every stroke pulls a feathered trail you could mistake for latte art.

  • Cheaper than a real latte
    Workbench threejs-tsl pompeii/threejs-tsl on Opus 5.5

    $5.71 for the whole build. Good luck finding an oat milk latte for that.

Highlights

What we found worth comparing
FactOpus 5.5 Vanillathreejs-tsl pompeii/threejs-tsl on Opus 5.5
Speed is forcesame path, slow drag vs fast swipe, real GPUNo: the slow drag moved moreYes: the fast swipe moved 1.55x more
Settlesstill moving 7 s after the last stroke?Still movingCalm
RendererWebGL2, GLSL shadersWebGPU with WebGL2 fallback, TSL shaders
App codeexcludes tests and config1,153 lines, 3 files1,551 lines, 12 files
Tests it wroteNone200 lines: 5 scripted browser tests
Shipped sizeJavaScript, gzipped143 KB233 KB
Cost$6.32$5.71
Time85 min65 min

Side by side

One run per arm
MetricOpus 5.5Vanillathreejs-tslpompeii/threejs-tsl on Opus 5.5
Outcome
Workspassed the gate1/11/1
Said done, was broken0/10/1
Our pick·Yes
Economics
Cost per working cupincludes failed attempts$6.32$5.71
Total costone run$6.32$5.71
Wall time84m 50s64m 51s
Effort
Tokens in / out4.4M / 45k12.7M / 61k
Turns11
Tool calls64105
Code
App codeexcludes tests, config, and lockfiles1,153 lines, 3 files1,551 lines, 12 files
Largest fileone long file is harder to change555 lines479 lines
TypeScript0/11/1
Test codewritten by the agent0 lines200 lines
Has npm testtests run without the Workbench0/10/1
Setup
Modelanthropic/claude-opus-5-5anthropic/claude-opus-5-5
Workbenchwb-benchmarks/vanilla-opus-5-5 0.1.1pompeii/threejs-tsl 0.1.1

Works means it builds to a static site, loads in a headless browser with WebGL or WebGPU, draws a real scene, and survives 60 seconds of mouse and touch strokes without crashing or freezing. Cost is model spend only and includes failed attempts. Our pick is our call, not a score.

Pinned setup

Everything needed to rerun it
# Task prompt, identical for every arm
Build a single full-screen web page: a real-time 3D scene of a shallow cup of espresso with crema, seen from a three-quarter angle above. The liquid surface is the whole point.

As the user's cursor moves over the cup, it displaces the liquid. The cursor's speed is the force applied: a slow drag leaves a gentle wake, a fast swipe throws a strong wave that travels, reflects off the cup wall, and interferes with other waves. When the cursor stops, the surface settles back to calm over a few seconds. The crema pattern should be carried and stretched by the motion so the displacement reads clearly, and the surface should look like real liquid: light, reflection, and refraction that respond to the waves. Touch works the same way on a phone.

No other content is needed beyond, at most, one small unobtrusive title.

Requirements:
- A working web project in the workspace root that installs and builds with a standard JavaScript package manager, and runs in a modern browser.
- Works on desktop and phone widths. With prefers-reduced-motion, show a still, attractive frame of the cup.
- Smooth on an ordinary laptop. No multi-megabyte downloads before first paint.

When done, report how to run it, what you verified and how, and anything you could not verify.
Starting point
pompeii-labs/workbenchmarks-fixtures@41eb9e6
Gate
Builds a static site, Loads in a headless browser with WebGL or WebGPU and no errors, Draws a real scene, not a blank or flat canvas, Survives 60 seconds of mouse and touch strokes
Attempts
1 per arm, no retries, no cherry-picks
Runs
2 scored
Generated
2026-10-26

Revisions

  1. Oct 26, 2026Revision 1. First run: 2 arms, 1 run each. Both runs were started from the workbenches.dev dashboard tools and graded afterwards with the same gates.

More benchmarks