v60.svg · 93 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="1300" viewBox="0 0 1100 1300">
<defs>
<linearGradient id="paper" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#ded4bc"/><stop offset=".34" stop-color="#fff9e9"/><stop offset=".78" stop-color="#f0e7d1"/><stop offset="1" stop-color="#d8cbb2"/></linearGradient>
<linearGradient id="paperInside" x1="0" y1="0" x2="0" y2="1"><stop stop-color="#eee5d0"/><stop offset="1" stop-color="#c9b998"/></linearGradient>
<linearGradient id="ceramic" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#bdcfd2"/><stop offset=".27" stop-color="#f8fcfa"/><stop offset=".58" stop-color="#e5eeeb"/><stop offset="1" stop-color="#a8bfc4"/></linearGradient>
<linearGradient id="inside" x1="0" y1="0" x2="0" y2="1"><stop stop-color="#aec4c7"/><stop offset=".48" stop-color="#edf4f0"/><stop offset="1" stop-color="#8da9b1"/></linearGradient>
<linearGradient id="glass" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#b5d1d4" stop-opacity=".48"/><stop offset=".2" stop-color="#f3fbfa" stop-opacity=".15"/><stop offset=".75" stop-color="#d5e7e5" stop-opacity=".27"/><stop offset="1" stop-color="#8eb5bd" stop-opacity=".5"/></linearGradient>
<linearGradient id="coffee" x1="0" y1="0" x2="0" y2="1"><stop stop-color="#bc8150"/><stop offset="1" stop-color="#704a35"/></linearGradient>
<clipPath id="coneClip"><path d="M270 540 Q430 592 590 540 L465 731 Q430 752 395 731Z"/></clipPath>
<clipPath id="serverClip"><path d="M342 900 Q348 927 343 957 C335 990 269 1034 268 1097 Q263 1153 318 1165 Q430 1193 542 1165 Q597 1153 592 1097 C591 1034 525 990 517 957 Q512 927 518 900 Q430 925 342 900Z"/></clipPath>
</defs>
<rect width="1100" height="1300" fill="#f7f6f0"/>
<g font-family="Arial, Helvetica, sans-serif" fill="#263e46">
<text x="76" y="72" font-size="13" letter-spacing="3" fill="#7d8987">BREW EQUIPMENT / ASSEMBLY STUDY</text>
<text x="73" y="130" font-size="48" font-weight="600" letter-spacing="-1.5">V60 pour-over</text>
<text x="76" y="160" font-size="17" fill="#75817e">Paper cone · spiral-ribbed dripper · glass server</text>
<path d="M76 185H1024" stroke="#d4d9d2"/>
</g>
<!-- Shared assembly axis, visible only between components. -->
<g fill="none" stroke="#9aaaa6" stroke-width="1.5" stroke-dasharray="5 8">
<path d="M430 199V222 M430 438V480 M430 792V855"/>
</g>
<g stroke="#53615a" stroke-width="2" stroke-linejoin="round">
<!-- Open, folded paper cone. The elliptical top is the open mouth. -->
<path d="M289 255 Q430 212 571 255 L443 427 Q430 442 417 427Z" fill="url(#paper)"/>
<ellipse cx="430" cy="255" rx="141" ry="46" fill="url(#paperInside)"/>
<path d="M291 258 C301 316 559 316 569 258" stroke="#fff9e8" stroke-width="4" fill="none"/>
<path d="M548 233 Q528 271 452 298" fill="none" stroke="#b8a888" stroke-width="1.2" opacity=".65"/>
<path d="M549 279L443 426" fill="none" stroke="#ac9979" stroke-width="1.5"/>
<path d="M558 276L451 423" fill="none" stroke="#b7a788" stroke-width="1.1" stroke-dasharray="2 5"/>
<path d="M309 286Q353 332 423 427" fill="none" stroke="#e2d8c1" stroke-width="2"/>
</g>
<!-- Integral handle sits behind the ceramic cone. -->
<path d="M554 563 C638 533 672 576 638 626 Q613 659 538 665 L548 642 Q603 638 617 612 C631 588 610 577 565 589Z" fill="url(#ceramic)" stroke="#36545f" stroke-width="2.6"/>
<path d="M584 570Q637 563 637 591" fill="none" stroke="#fafffc" stroke-width="4" stroke-linecap="round"/>
<!-- Dripper support flange and single outlet. -->
<ellipse cx="430" cy="766" rx="105" ry="29" fill="#b9ced0" stroke="#36545f" stroke-width="2.5"/>
<path d="M325 762V769Q430 803 535 769V762" fill="url(#ceramic)" stroke="#36545f" stroke-width="2.5"/>
<ellipse cx="430" cy="761" rx="105" ry="27" fill="#e7efeb" stroke="#36545f" stroke-width="2"/>
<path d="M410 725L410 764Q430 775 450 764L450 725" fill="url(#ceramic)" stroke="#36545f" stroke-width="2"/>
<ellipse cx="430" cy="766" rx="16" ry="6" fill="#45606a"/>
<!-- Cone wall; the curved relief strokes show the characteristic spiral ribs. -->
<path d="M270 540 Q430 592 590 540 L465 731 Q430 752 395 731Z" fill="url(#ceramic)" stroke="#36545f" stroke-width="2.5"/>
<g clip-path="url(#coneClip)" fill="none" stroke-linecap="round">
<g stroke="#96afb5" stroke-width="5" opacity=".65">
<path d="M278 551Q297 646 398 730"/><path d="M315 560Q327 662 414 740"/><path d="M356 570Q359 671 430 745"/><path d="M399 576Q404 676 446 739"/><path d="M444 577Q455 669 462 729"/><path d="M490 571Q503 641 479 710"/><path d="M535 562Q553 606 505 674"/>
</g>
<g stroke="#f8fdf9" stroke-width="3" opacity=".85">
<path d="M283 551Q302 646 403 730"/><path d="M320 560Q332 662 419 740"/><path d="M361 570Q364 671 435 745"/><path d="M404 576Q409 676 451 739"/><path d="M449 577Q460 669 467 729"/><path d="M495 571Q508 641 484 710"/><path d="M540 562Q558 606 510 674"/>
</g>
</g>
<ellipse cx="430" cy="536" rx="163" ry="59" fill="#e8f0ec" stroke="#36545f" stroke-width="2.5"/>
<ellipse cx="430" cy="536" rx="153" ry="50" fill="url(#inside)" stroke="#74969e" stroke-width="1.5"/>
<g fill="none" stroke="#72929b" stroke-width="2" opacity=".75">
<path d="M285 524Q343 523 401 567"/><path d="M303 505Q369 515 417 573"/><path d="M337 491Q394 517 434 577"/><path d="M382 486Q424 524 449 576"/><path d="M429 486Q454 527 462 574"/><path d="M478 489Q482 532 476 571"/><path d="M523 499Q513 536 491 567"/><path d="M559 514Q540 544 507 562"/>
</g>
<path d="M269 540 C282 614 578 614 591 540" fill="none" stroke="#f9fdf9" stroke-width="4"/>
<!-- Glass handle, drawn behind the server body. -->
<path d="M518 965 C613 927 687 963 678 1028 C673 1072 624 1119 582 1119 L572 1094 C615 1088 650 1054 652 1024 C657 983 611 964 530 991Z" fill="url(#glass)" stroke="#668992" stroke-width="2.5"/>
<path d="M553 965C624 946 674 969 668 1022" fill="none" stroke="#fff" stroke-width="4" opacity=".9"/>
<!-- Pear-shaped glass server, open neck, pouring spout at left. -->
<ellipse cx="430" cy="1182" rx="147" ry="14" fill="#dbe0d7" opacity=".55"/>
<path d="M342 900 Q348 927 343 957 C335 990 269 1034 268 1097 Q263 1153 318 1165 Q430 1193 542 1165 Q597 1153 592 1097 C591 1034 525 990 517 957 Q512 927 518 900 Q430 925 342 900Z" fill="url(#glass)" stroke="#557982" stroke-width="2.5"/>
<!-- A shallow brewed-coffee layer makes the glass volume readable. -->
<g clip-path="url(#serverClip)">
<path d="M267 1100Q430 1055 593 1100V1190H267Z" fill="url(#coffee)" opacity=".86"/>
<ellipse cx="430" cy="1100" rx="163" ry="32" fill="#b88858" stroke="#8f6947" stroke-width="1.5"/>
<path d="M286 1088Q276 1136 321 1151" fill="none" stroke="#edf6f1" stroke-width="5" opacity=".65"/>
</g>
<path d="M349 923Q358 956 334 988C303 1027 284 1054 285 1084" fill="none" stroke="#fff" stroke-width="8" stroke-linecap="round" opacity=".85"/>
<path d="M511 942C502 980 570 1034 576 1075" fill="none" stroke="#a0bec3" stroke-width="3" stroke-linecap="round"/>
<path d="M303 1161Q430 1184 556 1161" fill="none" stroke="#75969b" stroke-width="1.6"/>
<path d="M518 897 C518 877 476 867 430 867 C389 867 358 874 341 881 L317 875 L328 900 Q365 925 430 925 C479 925 518 913 518 897Z" fill="#e6efeb" fill-opacity=".82" stroke="#557982" stroke-width="2.5"/>
<path d="M507 895C507 881 472 877 430 877 Q375 877 342 891 L333 888 L340 899Q374 914 430 914C472 914 507 907 507 895Z" fill="#c0d8d9" fill-opacity=".55" stroke="#83a2a6" stroke-width="1.5"/>
<path d="M331 902Q424 940 516 903" fill="none" stroke="#fff" stroke-width="3.5" opacity=".9"/>
<!-- Restrained capacity ticks on the server. -->
<g stroke="#66848b" fill="#66848b" font-family="Arial, Helvetica, sans-serif" font-size="12">
<path d="M475 1007h27M477 1040h31M479 1073h33" stroke-width="1.5"/>
<text x="449" y="1011" stroke="none">600</text><text x="451" y="1044" stroke="none">400</text><text x="453" y="1077" stroke="none">200</text>
</g>
<!-- Callouts. -->
<g fill="none" stroke="#87958e" stroke-width="1.3">
<path d="M511 336H674L710 302H755"/><path d="M507 671H690L720 640H755"/><path d="M584 1053H688L720 1017H755"/>
</g>
<g fill="#b37b46"><circle cx="511" cy="336" r="4"/><circle cx="507" cy="671" r="4"/><circle cx="584" cy="1053" r="4"/></g>
<g font-family="Arial, Helvetica, sans-serif">
<g fill="#b37b46" font-size="13" letter-spacing="2"><text x="780" y="275">01 / FILTER</text><text x="780" y="613">02 / DRIPPER</text><text x="780" y="990">03 / SERVER</text></g>
<g fill="#263e46" font-size="23" font-weight="600"><text x="780" y="307">Paper cone</text><text x="780" y="645">V60 cone</text><text x="780" y="1022">Glass server</text></g>
<g fill="#74817d" font-size="15"><text x="780" y="336">Folded seam</text><text x="780" y="358">Open, disposable filter</text><text x="780" y="674">Spiral ribs · single outlet</text><text x="780" y="696">Integral support & handle</text><text x="780" y="1051">Pouring spout & handle</text><text x="780" y="1073">Collects brewed coffee</text></g>
</g>
<path d="M76 1230H1024" stroke="#d4d9d2"/>
<g font-family="Arial, Helvetica, sans-serif" font-size="12" letter-spacing="1.5" fill="#7d8987"><text x="76" y="1263">EXPLODED VIEW</text><text x="1024" y="1263" text-anchor="end">ASSEMBLY AXIS ↑ / NOT TO SCALE</text></g>
</svg>round 1 of 2

Exploded V60 dripper: GPT-6.1 Sol
modelopenai/gpt-6.1-soltaskexploded-v60@v1, checks c1, harness h1date2026-10-07rounds2 of 8 allowed, 12 minutes on the clockcost$0.0716thinkingmediumtokens42,665 in, 5,068 out, of which 573 reasoningtime1 min 41 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 · 2r · $0.0728
run 2 · 2r · $0.0697same 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.