v60.svg · 97 lines
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="1000" viewBox="0 0 800 1000" font-family="Helvetica, Arial, sans-serif">
<defs>
<linearGradient id="glass" x1="0" x2="1">
<stop offset="0" stop-color="#dfeef2"/>
<stop offset="0.5" stop-color="#f7fbfc"/>
<stop offset="1" stop-color="#cfe2e8"/>
</linearGradient>
<linearGradient id="ceramic" x1="0" x2="1">
<stop offset="0" stop-color="#f1efe9"/>
<stop offset="0.6" stop-color="#ffffff"/>
<stop offset="1" stop-color="#d9d5cc"/>
</linearGradient>
<linearGradient id="paper" x1="0" x2="1">
<stop offset="0" stop-color="#e9dcc0"/>
<stop offset="0.5" stop-color="#f6eedb"/>
<stop offset="1" stop-color="#e2d3b3"/>
</linearGradient>
<marker id="arr" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto">
<path d="M0,0 L10,5 L0,10 z" fill="#777"/>
</marker>
</defs>
<rect width="800" height="1000" fill="#ffffff"/>
<text x="400" y="36" text-anchor="middle" font-size="22" font-weight="bold" fill="#222">V60 Pour-Over: Exploded Assembly</text>
<text x="400" y="58" text-anchor="middle" font-size="13" fill="#666">Cone dripper, paper filter, glass server</text>
<!-- alignment guide lines -->
<g stroke="#999" stroke-width="1.2" stroke-dasharray="6,5" fill="none">
<line x1="400" y1="250" x2="400" y2="322"/>
<line x1="400" y1="450" x2="400" y2="538"/>
</g>
<!-- assembly direction arrows -->
<!-- 1. DRIPPER (top) -->
<g id="dripper">
<path d="M250,95 L365,225 L435,225 L550,95 Z" fill="url(#ceramic)" stroke="#555" stroke-width="2" stroke-linejoin="round"/>
<!-- ribs -->
<g stroke="#b5b0a6" stroke-width="2" fill="none">
<line x1="300" y1="100" x2="382" y2="222"/>
<line x1="350" y1="97" x2="390" y2="222"/>
<line x1="450" y1="97" x2="410" y2="222"/>
<line x1="500" y1="100" x2="418" y2="222"/>
</g>
<!-- rim -->
<ellipse cx="400" cy="95" rx="150" ry="18" fill="#fbfaf7" stroke="#555" stroke-width="2"/>
<ellipse cx="400" cy="97" rx="136" ry="12" fill="#8c8578"/>
<!-- bottom hole -->
<ellipse cx="400" cy="225" rx="12" ry="4" fill="#3b3731" stroke="#555" stroke-width="1"/>
</g>
<text x="400" y="262" text-anchor="middle" font-size="12" fill="#444" dy="0"></text>
<!-- 2. PAPER FILTER (middle) -->
<g id="filter">
<path d="M260,330 Q400,344 540,330 L430,440 Q400,448 370,440 Z" fill="url(#paper)" stroke="#9c8c6c" stroke-width="1.6" stroke-linejoin="round"/>
<ellipse cx="400" cy="330" rx="140" ry="13" fill="#fcf8ee" stroke="#9c8c6c" stroke-width="1.4"/>
<!-- folded seam -->
</g>
<!-- 3. GLASS SERVER (bottom) -->
<g id="server">
<!-- handle -->
<path d="M548,668 C628,648 636,772 548,772" fill="none" stroke="#7f9aa3" stroke-width="16" stroke-linecap="round" opacity="0.9"/>
<path d="M548,668 C628,648 636,772 548,772" fill="none" stroke="#e8f4f7" stroke-width="6" stroke-linecap="round"/>
<!-- body -->
<path d="M340,548 L340,600 C330,622 250,625 250,690 L250,822 Q250,852 282,852 L518,852 Q550,852 550,822 L550,690 C550,625 470,622 460,600 L460,548 Z"
fill="url(#glass)" stroke="#5d7a84" stroke-width="2.2" stroke-linejoin="round"/>
<!-- glass highlight -->
<path d="M268,700 L268,815" stroke="#ffffff" stroke-width="8" stroke-linecap="round" opacity="0.8"/>
<!-- base -->
<ellipse cx="400" cy="852" rx="150" ry="0" fill="none"/>
<!-- volume marks -->
<g stroke="#5d7a84" stroke-width="1.5">
<line x1="250" y1="740" x2="268" y2="740"/>
<line x1="250" y1="780" x2="264" y2="780"/>
<line x1="250" y1="820" x2="268" y2="820"/>
</g>
<text x="272" y="744" font-size="10" fill="#5d7a84">500</text>
<text x="272" y="784" font-size="10" fill="#5d7a84">250</text>
<!-- neck opening -->
<ellipse cx="400" cy="548" rx="60" ry="9" fill="#e4f0f4" stroke="#5d7a84" stroke-width="2"/>
<ellipse cx="400" cy="549" rx="52" ry="5" fill="#9db9c1"/>
</g>
<!-- labels with leader lines -->
<g stroke="#888" stroke-width="1" fill="none">
<polyline points="502,150 600,150 620,130"/>
<polyline points="520,385 600,385 620,385"/>
<polyline points="560,700 600,700 620,700"/>
</g>
<g font-size="14" fill="#222">
<text x="626" y="126"><tspan font-weight="bold">1</tspan> Dripper (cone, ribbed)</text>
<text x="626" y="390"><tspan font-weight="bold">2</tspan> Paper filter (cone)</text>
<text x="626" y="705"><tspan font-weight="bold">3</tspan> Glass server (carafe)</text>
</g>
<text x="400" y="935" text-anchor="middle" font-size="13" fill="#666">Place filter in dripper, rinse, add grounds, set dripper on server</text>
</svg>round 1 of 3

Exploded V60 dripper: Claude Haiku 5.5
modelanthropic/claude-haiku-5.5taskexploded-v60@v1, checks c1, harness h1date2026-10-08rounds3 of 8 allowed, 12 minutes on the clockcost$0.0052thinkingmediumtokens38,399 in, 7,394 out, of which 2,912 reasoningtime46 sfailedStack order: false, relation transposed, critical, near miss: 1 pair out of order, its note said nothing was wrong
All three partsdecided by looking · Pass if every listed part is drawn as a separate shape and each has a label naming it. A part only named in a label or a comment, with nothing drawn, fails it. The label must say what the part is, in any words: a name that only says where it sits ("top plate") or what it is made of, or a mention in another part's caption, does not count.pass
Stack orderdecided by a number, from the filefail
Parts fitdecided by looking · Pass if each listed pair of mating parts looks as if it would go together as stated: the right angle, nested inside, or sitting on top. One pair that plainly could not fails it.pass
One assembly axisdecided by looking · Pass if one line runs through the middle of every part on each listed axis, and every leader line leaves from the same side. One part pushed off its axis fails it.pass
Labels matchdecided by looking · Pass if following each leader line from its label ends on the part that label names. One label pointing at the wrong part, or at nothing, fails it.pass
There is no post about this one, since only some results need one, so the picture, the source and the scoring are here instead.
run 2 · 3r · $0.0072
run 3 · 3r · $0.0047same prompt, other modelsall 12 runs on Exploded V60 dripper →
Draw an exploded assembly diagram of a V60 pour-over dripper on its glass server, as an SVG. Use the cone dripper with a paper filter rather than a metal mesh filter.Frozen at v1. This model got this and nothing else.
Top to bottom: paper filter, dripper, server. The dripper is a 60 degree cone with spiral ribs and one large hole, and it sits directly on the server. Checked against Hario's V60 and Range Server pages. The server's lid is optional, so it is not required and not marked down. How it is scored, and this run's files on GitHub.