Gallery, prompt v2

Café table from primitives

One frozen prompt and every model that has run it, newest first.

The prompt, v2, frozen

Write a Blender Python script that builds a café table scene: an espresso cup on a saucer, a spoon, sugar cubes and a croissant. Use only primitive meshes (cube, cylinder, cone, sphere, torus).

Every model, its first three runs.

One square a check, in this order:

  1. All five objects
  2. Primitives only
  3. Spoon reads as a spoon
  4. Croissant reads as a croissant
  5. Consistent scale

passed, failed, undecided.

DeepSeek 4.1 Flash
Qwen3.8 Flash

How it is checked

The render, and the script that made it: the objects a person would name unprompted, at sizes a person would accept. A 5 cm spoon and an 11 cm croissant are checkable in the source.

All five objectsby eyeTable, cup on saucer, spoon, sugar cubes, croissant. All five present in the scene.Pass if all five can be pointed at in the render as separate objects. One missing, or hidden behind another, fails it.
Primitives onlymeasuredEvery mesh comes from a primitive_*_add call, as the prompt requires.
Spoon reads as a spoonby eyeA bowl and a handle on one axis, recognisable in the render.Pass if the spoon is one connected piece with a bowl at one end, wider than the handle, and the handle running from it in a line. Loose parts, or no handle, fail it.
Croissant reads as a croissantby eyeRecognisable in the render without the filename.Pass if it is a crescent that is thickest in the middle and tapers to both tips, with segments or scoring across it. A smooth curved tube fails it, and so does a segmented one with no taper.
Consistent scalemeasuredObject dimensions in the script compared against each other and against life.

A check decided by eye carries the rule I apply to it. I wrote those rules down on 21 September 2026, after the first results were scored, so for those results they record how I made the calls after the fact.

When this saturates: Ask for the croissant's layered curl specifically, which is what the primitive set makes hard.

Failure types seen here: physical-plausibility (something that couldn't be built or wouldn't work). The same types across every task.

The rules behind all of thisThis task's prompt, checks and any checker, on GitHub

Earlier results ran under an older prompt, so they are at the bottom, next to the question they were asked.

Older prompts

Prompt v1, retired 2026-09-20

Write a Blender Python script that builds a café table scene — an espresso cup on a saucer, a spoon, sugar cubes and a croissant — using only primitive meshes (cube, cylinder, cone, sphere, torus).

A style pass reworded the case file and split one sentence into two, which turned a trailing "using only primitive meshes" into a standalone "Use only primitive meshes." The case file recorded the change on the day. This file did not, so for a day the site printed the new wording above two results that had been scored on the old one, and `primitives` is one of the scored checks. Nothing was re-scored: both results below stay on the wording they were given. Caught on 2026-09-21 by harness/check-prompts.mjs, which now diffs every published wording against the runs.