v60.svg · 133 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900">
<defs>
<linearGradient id="paper" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="#eadfc9"/><stop offset=".48" stop-color="#fff9ec"/><stop offset="1" stop-color="#e4d5bb"/>
</linearGradient>
<linearGradient id="ceramic" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="#d6e6df"/><stop offset=".5" stop-color="#f5fbf5"/><stop offset="1" stop-color="#bdd5cc"/>
</linearGradient>
<linearGradient id="glass" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="#d8eeeb" stop-opacity=".55"/><stop offset=".48" stop-color="#f5ffff" stop-opacity=".25"/><stop offset="1" stop-color="#b6d8d5" stop-opacity=".55"/>
</linearGradient>
<linearGradient id="coffee" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#b17b50" stop-opacity=".52"/><stop offset="1" stop-color="#6e422b" stop-opacity=".72"/>
</linearGradient>
<filter id="shadow" x="-30%" y="-30%" width="160%" height="170%">
<feGaussianBlur in="SourceAlpha" stdDeviation="8"/><feOffset dy="7"/><feComponentTransfer><feFuncA type="linear" slope=".14"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<style>
.ink{stroke:#243d3d;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.leader{fill:none;stroke:#71857e;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:3 5}
.label{font:600 15px 'Arial',sans-serif;letter-spacing:1.7px;fill:#294644}
.small{font:12px 'Arial',sans-serif;letter-spacing:1.1px;fill:#71827b}
</style>
</defs>
<!-- warm drafting-paper ground -->
<rect width="1200" height="900" fill="#f7f5ef"/>
<path d="M64 150H1136" stroke="#d9dfd8" stroke-width="1"/>
<text x="78" y="73" font-family="Georgia,serif" font-size="33" fill="#203b39">V60 / POUR-OVER</text>
<text x="80" y="108" font-family="Arial,sans-serif" font-size="12" letter-spacing="3" fill="#71827b">EXPLODED ASSEMBLY · FRONT ELEVATION</text>
<text x="1120" y="77" text-anchor="end" font-family="Arial,sans-serif" font-size="11" letter-spacing="2" fill="#71827b">BREW SYSTEM / 01</text>
<text x="1120" y="105" text-anchor="end" font-family="Arial,sans-serif" font-size="11" letter-spacing="1.5" fill="#71827b">PAPER FILTER · CERAMIC · GLASS</text>
<!-- alignment axis and exploded spacing ticks -->
<path d="M550 163V785" stroke="#c4d0c9" stroke-width="1" stroke-dasharray="3 8"/>
<path d="M534 378H566 M534 567H566 M534 614H566" stroke="#c4d0c9" stroke-width="1.2"/>
<text x="579" y="590" class="small">ASSEMBLY AXIS</text>
<!-- 01: pleated paper cone, lifted clear of the ceramic dripper -->
<g filter="url(#shadow)">
<path d="M428 222 Q550 247 672 222 L585 370 Q550 384 515 370 Z" fill="url(#paper)" class="ink"/>
<!-- folded side seams and paper grain -->
<path d="M445 230 Q475 301 531 372 M655 230 Q625 301 569 372" fill="none" stroke="#d3c3a8" stroke-width="1.5"/>
<path d="M460 234 Q495 307 540 375 M640 234 Q605 307 560 375" fill="none" stroke="#fdf8ed" stroke-width="2" opacity=".9"/>
<path d="M429 222 Q550 248 671 222" fill="none" stroke="#bbaa8f" stroke-width="2"/>
<ellipse cx="550" cy="222" rx="122" ry="29" fill="#fff9ec" fill-opacity=".54" stroke="#bbaa8f" stroke-width="1.3"/>
<!-- filter tip -->
<path d="M535 371 Q550 365 565 371 Q564 381 550 384 Q536 381 535 371Z" fill="#e3d6c0" stroke="#aa9b80" stroke-width="1.4"/>
<path d="M550 247V366" stroke="#d2c2a6" stroke-width="1" stroke-dasharray="2 5"/>
</g>
<circle cx="550" cy="195" r="15" fill="#f7f5ef" stroke="#71857e" stroke-width="1.4"/>
<text x="550" y="200" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" fill="#294644">01</text>
<!-- 02: glazed V60 cone. Tapered shell and the open, ribbed interior are visible. -->
<g filter="url(#shadow)">
<!-- exterior cone -->
<path d="M424 386 Q550 416 676 386 L589 547 Q550 561 511 547 Z" fill="url(#ceramic)" class="ink"/>
<!-- interior bowl surface -->
<path d="M432 382 Q550 408 668 382 Q660 414 550 438 Q440 414 432 382Z" fill="#e5f0e8" stroke="#526d65" stroke-width="1.6"/>
<!-- spiral ribs, converging toward the outlet -->
<g fill="none" stroke="#9bb8aa" stroke-width="2" stroke-linecap="round">
<path d="M449 389 Q463 415 535 434"/><path d="M466 393 Q480 418 539 435"/>
<path d="M486 397 Q496 419 543 436"/><path d="M508 401 Q515 421 546 437"/>
<path d="M651 389 Q637 415 565 434"/><path d="M634 393 Q620 418 561 435"/>
<path d="M614 397 Q604 419 557 436"/><path d="M592 401 Q585 421 554 437"/>
</g>
<path d="M424 386 Q550 416 676 386" fill="none" stroke="#38574f" stroke-width="3"/>
<!-- outlet visible at the cone's base -->
<ellipse cx="550" cy="548" rx="25" ry="9" fill="#b6cdc2" stroke="#38574f" stroke-width="2"/>
<ellipse cx="550" cy="548" rx="11" ry="4" fill="#50665d"/>
<!-- subtle glaze highlights -->
<path d="M447 423 Q477 482 512 528" fill="none" stroke="#f8fff9" stroke-width="4" opacity=".72"/>
<path d="M653 420 Q632 466 602 512" fill="none" stroke="#91b0a2" stroke-width="2" opacity=".62"/>
<!-- small molded V60 ribs on outer wall -->
<path d="M491 443 Q510 486 535 526 M609 443 Q590 486 565 526" fill="none" stroke="#c5dbd0" stroke-width="2" opacity=".8"/>
</g>
<circle cx="550" cy="403" r="15" fill="#f7f5ef" stroke="#71857e" stroke-width="1.4"/>
<text x="550" y="408" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" fill="#294644">02</text>
<!-- dotted drop from the outlet toward server opening -->
<path d="M550 565V608" stroke="#a7b6ae" stroke-width="1.5" stroke-dasharray="2 5"/>
<path d="M545 600L550 607L555 600" fill="none" stroke="#a7b6ae" stroke-width="1.5"/>
<!-- 03: empty glass server / carafe -->
<g filter="url(#shadow)">
<!-- handle behind the vessel -->
<path d="M685 654 C770 633 796 671 787 718 C780 756 750 770 699 750 L700 733 C740 745 762 734 768 710 C776 679 758 665 686 677Z" fill="url(#glass)" stroke="#60827d" stroke-width="3"/>
<!-- server neck and body -->
<path d="M468 624 Q550 606 632 624 L632 649 Q650 660 674 674 Q691 689 684 715 L668 770 Q662 791 641 797 Q550 815 459 797 Q438 791 432 770 L416 715 Q409 689 426 674 Q450 660 468 649Z" fill="url(#glass)" stroke="#456d68" stroke-width="2.5"/>
<!-- upper lip -->
<ellipse cx="550" cy="624" rx="82" ry="18" fill="#eefaf6" fill-opacity=".78" stroke="#456d68" stroke-width="2.3"/>
<ellipse cx="550" cy="624" rx="68" ry="11" fill="#e5f4ef" fill-opacity=".35" stroke="#91b5ab" stroke-width="1"/>
<!-- soft reflected edges and base -->
<path d="M435 689 Q449 681 460 679 M450 704 Q461 741 470 776 Q473 787 486 790" fill="none" stroke="#fff" stroke-width="5" opacity=".8"/>
<path d="M663 690 Q652 736 641 777 Q638 788 626 791" fill="none" stroke="#8cb2aa" stroke-width="3" opacity=".7"/>
<path d="M447 779 Q550 803 653 779" fill="none" stroke="#8cb2aa" stroke-width="1.5"/>
<!-- faint volume graduations -->
<g stroke="#789a92" stroke-width="1.2" opacity=".8">
<path d="M618 704h23 M622 719h17 M618 734h23 M622 749h17"/>
</g>
<text x="610" y="699" font-family="Arial,sans-serif" font-size="8" letter-spacing="1" fill="#66877e">600</text>
<text x="610" y="765" font-family="Arial,sans-serif" font-size="8" letter-spacing="1" fill="#66877e">300</text>
</g>
<circle cx="550" cy="645" r="15" fill="#f7f5ef" stroke="#71857e" stroke-width="1.4"/>
<text x="550" y="650" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" fill="#294644">03</text>
<!-- callouts -->
<path class="leader" d="M672 264H754L789 237H811"/><circle cx="672" cy="264" r="3" fill="#71857e"/>
<text x="822" y="232" class="label">PAPER FILTER</text>
<text x="822" y="253" class="small">Folded cone · disposable</text>
<text x="822" y="271" class="small">Pleated seam follows the wall</text>
<path class="leader" d="M674 438H755L788 411H811"/><circle cx="674" cy="438" r="3" fill="#71857e"/>
<text x="822" y="406" class="label">CONE DRIPPER</text>
<text x="822" y="427" class="small">60° walls · spiral flow ribs</text>
<text x="822" y="445" class="small">Single large outlet at the tip</text>
<path class="leader" d="M686 718H752L788 690H811"/><circle cx="686" cy="718" r="3" fill="#71857e"/>
<text x="822" y="685" class="label">GLASS SERVER</text>
<text x="822" y="706" class="small">Open neck · clear heat-safe glass</text>
<text x="822" y="724" class="small">Graduated, pour-ready carafe</text>
<!-- left-side exploded note -->
<text x="82" y="355" class="small">LIFT FILTER</text>
<text x="82" y="373" class="small">TO SEPARATE</text>
<path d="M80 390H180L399 349" class="leader"/>
<circle cx="399" cy="349" r="3" fill="#71857e"/>
<!-- footer rule and legend -->
<path d="M64 835H1136" stroke="#d9dfd8" stroke-width="1"/>
<text x="80" y="864" font-family="Arial,sans-serif" font-size="10" letter-spacing="2" fill="#71827b">PARTS SHOWN SEPARATED ALONG THE BREW AXIS</text>
<text x="1120" y="864" text-anchor="end" font-family="Arial,sans-serif" font-size="10" letter-spacing="2" fill="#71827b">01 FILTER / 02 DRIPPER / 03 SERVER</text>
</svg>Exploded V60 dripper: GPT-6 Luna
modelopenai/gpt-6-lunataskexploded-v60@v1, checks c1, harness h1date2026-10-05rounds1 of 8 allowed, 12 minutes on the clockcost$0.0034thinkingmediumtokens23,005 in, 4,972 out, of which 1,141 reasoningtime1 min 5 s
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 filepass
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 1 · 1r · $0.0036
run 2 · 2r · $0.0038same 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.