press.svg · 123 lines
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1200" height="1600" viewBox="0 0 1200 1600">
<title>French press — exploded assembly</title>
<desc>Technical exploded view of a French press with lid and plunger, spiral spring plate, fine mesh screen, cross plate and glass carafe.</desc>
<defs>
<pattern id="paper" width="8" height="8" patternUnits="userSpaceOnUse"><circle cx="1" cy="1" r=".45" fill="#d4d2c8" opacity=".42"/></pattern>
<pattern id="weave" width="8" height="8" patternUnits="userSpaceOnUse" patternTransform="skewY(-7)"><path d="M0 0H8 M0 4H8 M0 0V8 M4 0V8" fill="none" stroke="#617f88" stroke-width=".6" opacity=".72"/><path d="M0 2H8 M2 0V8" stroke="#ffffff" stroke-width=".4" opacity=".8"/></pattern>
<linearGradient id="steel" x1="0" x2="1"><stop stop-color="#6f8790"/><stop offset=".22" stop-color="#e4e8e5"/><stop offset=".46" stop-color="#859ca1"/><stop offset=".7" stop-color="#f5f3eb"/><stop offset="1" stop-color="#536973"/></linearGradient>
<linearGradient id="glass" x1="0" x2="1"><stop stop-color="#c1d5d7" stop-opacity=".65"/><stop offset=".19" stop-color="#e6eeeb" stop-opacity=".23"/><stop offset=".63" stop-color="#fff" stop-opacity=".08"/><stop offset=".88" stop-color="#b2ced1" stop-opacity=".36"/><stop offset="1" stop-color="#97b5be" stop-opacity=".63"/></linearGradient>
<linearGradient id="darkMetal" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#657d83"/><stop offset=".5" stop-color="#253943"/><stop offset="1" stop-color="#455e68"/></linearGradient>
<clipPath id="screenClip"><ellipse cx="620" cy="858" rx="161" ry="35"/></clipPath>
<clipPath id="glassClip"><path d="M430 1095 Q438 1285 458 1455 Q465 1481 620 1481 Q775 1481 782 1455 Q802 1285 810 1095Z"/></clipPath>
<style>
text{fill:#283b43;font-family:Arial,Helvetica,sans-serif} .small{font-size:14px;letter-spacing:2.4px;font-weight:700} .micro{font-size:12px;letter-spacing:1.9px} .num{font:italic 25px Georgia,serif;fill:#b45e3c} .label{font-size:17px;letter-spacing:1.1px;font-weight:700} .detail{font-size:12px;letter-spacing:1.3px;fill:#748389} .call{fill:none;stroke:#8da0a2;stroke-width:1.3} .edge{stroke:#344e57;stroke-width:2.2;stroke-linejoin:round} .thin{fill:none;stroke:#516b74;stroke-width:1.2} .ghost{stroke:#c4c9c5;stroke-width:1.2;stroke-dasharray:5 8;fill:none}
</style>
</defs>
<!-- warm drafting sheet -->
<rect width="1200" height="1600" fill="#f5f3ec"/><rect width="1200" height="1600" fill="url(#paper)" opacity=".5"/>
<path d="M54 45H1146 M54 1540H1146" stroke="#344e57" stroke-width="2"/>
<path d="M54 53V78 M1146 53V78 M54 1510V1532 M1146 1510V1532" stroke="#344e57" stroke-width="2"/>
<text x="68" y="85" class="small" fill="#b45e3c">FIELD NOTES / 03</text>
<text x="67" y="133" style="font:48px Georgia,serif;letter-spacing:-1.5px">The French press</text>
<text x="70" y="161" class="micro" fill="#617780">EXPLODED ASSEMBLY · THREE-PIECE PLUNGER FILTER</text>
<text x="1134" y="84" text-anchor="end" class="micro">BREWING EQUIPMENT / 01</text>
<text x="1134" y="107" text-anchor="end" class="micro">NOT TO SCALE</text>
<!-- construction center line and registration crosses -->
<path d="M620 184V1058" class="ghost"/><path d="M604 708H636 M604 817H636 M604 920H636 M604 1039H636" class="ghost"/>
<!-- plunger stem, drawn behind lid and knob -->
<path d="M613 142V687 L615 705 Q620 710 625 705 L627 687 V142Z" fill="url(#steel)" class="edge"/>
<path d="M616 302V674" stroke="#fff" stroke-opacity=".68" stroke-width="2"/>
<path d="M610 674H630 V702 Q620 714 610 702Z" fill="url(#steel)" class="edge"/>
<path d="M611 681H629 M611 688H629 M611 695H629" stroke="#405a61" stroke-width="1.4"/>
<!-- lid, collar and rim -->
<path d="M436 244 Q620 204 804 244 L804 272 Q620 320 436 272Z" fill="url(#steel)" class="edge"/>
<ellipse cx="620" cy="244" rx="184" ry="35" fill="#d9e0dd" class="edge"/>
<ellipse cx="620" cy="240" rx="160" ry="27" fill="none" stroke="#ffffff" stroke-opacity=".75" stroke-width="2"/>
<path d="M436 272 Q620 318 804 272" fill="none" stroke="#344e57" stroke-width="2.2"/>
<ellipse cx="620" cy="232" rx="33" ry="11" fill="#526a72" stroke="#344e57" stroke-width="2"/>
<path d="M596 222V237 Q620 250 644 237V222Z" fill="url(#steel)" stroke="#344e57" stroke-width="2"/>
<ellipse cx="620" cy="222" rx="24" ry="8" fill="#b9c9ca" stroke="#344e57" stroke-width="2"/>
<!-- black knob -->
<path d="M589 112 Q587 87 599 77 Q620 64 641 77 Q653 87 651 112 L645 154 Q620 170 595 154Z" fill="url(#darkMetal)" stroke="#273c45" stroke-width="2.5"/>
<ellipse cx="620" cy="113" rx="31" ry="12" fill="#314851" stroke="#263b43" stroke-width="2"/>
<path d="M596 92 Q605 74 618 76" fill="none" stroke="#b7c6c3" stroke-width="3" stroke-linecap="round" opacity=".75"/>
<path d="M601 152 Q620 160 639 152" fill="none" stroke="#93a8a9" stroke-width="1.4"/>
<!-- top spring plate / perforated disc -->
<path d="M450 736 Q620 668 790 736 L790 751 Q620 815 450 751Z" fill="url(#steel)" class="edge"/>
<ellipse cx="620" cy="735" rx="170" ry="37" fill="#c5d0ce" class="edge"/>
<ellipse cx="620" cy="735" rx="148" ry="28" fill="#e7e9e4" stroke="#536d74" stroke-width="2"/>
<!-- perforations -->
<g fill="#69838a" stroke="#ecf1ed" stroke-width="1">
<ellipse cx="510" cy="733" rx="6" ry="2.6"/><ellipse cx="540" cy="725" rx="6" ry="2.6"/><ellipse cx="570" cy="720" rx="6" ry="2.6"/><ellipse cx="602" cy="717" rx="6" ry="2.6"/><ellipse cx="636" cy="717" rx="6" ry="2.6"/><ellipse cx="668" cy="720" rx="6" ry="2.6"/><ellipse cx="699" cy="725" rx="6" ry="2.6"/><ellipse cx="730" cy="733" rx="6" ry="2.6"/>
<ellipse cx="492" cy="740" rx="6" ry="2.6"/><ellipse cx="526" cy="744" rx="6" ry="2.6"/><ellipse cx="560" cy="746" rx="6" ry="2.6"/><ellipse cx="590" cy="749" rx="6" ry="2.6"/><ellipse cx="650" cy="749" rx="6" ry="2.6"/><ellipse cx="680" cy="746" rx="6" ry="2.6"/><ellipse cx="714" cy="744" rx="6" ry="2.6"/><ellipse cx="748" cy="740" rx="6" ry="2.6"/>
<ellipse cx="546" cy="734" rx="6" ry="2.6"/><ellipse cx="575" cy="733" rx="6" ry="2.6"/><ellipse cx="665" cy="733" rx="6" ry="2.6"/><ellipse cx="694" cy="734" rx="6" ry="2.6"/>
</g>
<ellipse cx="620" cy="733" rx="27" ry="9" fill="#789198" stroke="#344e57" stroke-width="2"/><ellipse cx="620" cy="731" rx="12" ry="4" fill="#e9eeea" stroke="#344e57" stroke-width="1.5"/>
<!-- exposed helical spring along near edge -->
<path d="M450 740 Q620 807 790 740" fill="none" stroke="#2f4b54" stroke-width="9"/>
<path d="M450 740 Q620 807 790 740" fill="none" stroke="#e6e8df" stroke-width="5" stroke-dasharray="3 7"/>
<path d="M450 754 Q620 818 790 754" fill="none" stroke="#3f5a61" stroke-width="2"/>
<!-- fine wire mesh filter -->
<path d="M459 858 Q620 792 781 858 L781 866 Q620 928 459 866Z" fill="#b8d0d0" stroke="#344e57" stroke-width="2"/>
<ellipse cx="620" cy="858" rx="161" ry="35" fill="#dce9e5" stroke="#344e57" stroke-width="2"/>
<g clip-path="url(#screenClip)"><rect x="453" y="820" width="334" height="78" fill="url(#weave)"/></g>
<ellipse cx="620" cy="858" rx="161" ry="35" fill="none" stroke="#496770" stroke-width="5"/>
<ellipse cx="620" cy="857" rx="13" ry="5" fill="#f4f3ed" stroke="#344e57" stroke-width="1.7"/>
<!-- bottom cross plate: supporting spoke geometry -->
<path d="M466 963 Q620 904 774 963 L774 975 Q620 1032 466 975Z" fill="url(#steel)" class="edge"/>
<ellipse cx="620" cy="962" rx="154" ry="32" fill="#e0e6e2" class="edge"/>
<ellipse cx="620" cy="962" rx="137" ry="25" fill="#f5f3ec" stroke="#738d92" stroke-width="2"/>
<path d="M483 961 Q620 931 757 961 M620 938V988 M508 949 Q620 978 732 949" fill="none" stroke="#48646c" stroke-width="12" stroke-linecap="round"/>
<path d="M483 961 Q620 931 757 961 M620 938V988 M508 949 Q620 978 732 949" fill="none" stroke="#c9d6d3" stroke-width="5" stroke-linecap="round"/>
<ellipse cx="620" cy="959" rx="25" ry="10" fill="url(#steel)" stroke="#344e57" stroke-width="2"/><ellipse cx="620" cy="956" rx="10" ry="4" fill="#f5f3ec" stroke="#344e57" stroke-width="1.5"/>
<!-- vessel handle behind glass -->
<path d="M796 1133 L858 1129 Q974 1099 996 1161 Q1016 1217 992 1324 Q977 1385 917 1391 L783 1399 L787 1350 L893 1350 Q942 1350 951 1307 Q968 1227 955 1187 Q945 1153 889 1169 L800 1181Z" fill="#30474f" stroke="#263d46" stroke-width="3"/>
<path d="M819 1148 L883 1145 Q959 1129 976 1176" fill="none" stroke="#9db1b0" stroke-width="4" opacity=".7"/>
<path d="M818 1368 L913 1366 Q968 1364 978 1309" fill="none" stroke="#869ca0" stroke-width="2" opacity=".7"/>
<!-- spout behind mouth -->
<path d="M439 1069 L366 1041 Q376 1077 420 1116 L448 1130Z" fill="#cbdcdf" stroke="#354d57" stroke-width="2.5" stroke-linejoin="round"/>
<path d="M370 1046 Q399 1072 437 1074" fill="none" stroke="#f9fbf5" stroke-width="3"/>
<!-- glass vessel -->
<path d="M430 1095 Q438 1285 458 1455 Q465 1481 620 1481 Q775 1481 782 1455 Q802 1285 810 1095Z" fill="url(#glass)" stroke="#45656e" stroke-width="3"/>
<g clip-path="url(#glassClip)">
<path d="M467 1116 Q475 1300 493 1450" fill="none" stroke="#fff" stroke-width="15" opacity=".45"/>
<path d="M490 1139 Q496 1260 508 1354" fill="none" stroke="#fff" stroke-width="3" opacity=".74"/>
<path d="M766 1111 Q761 1290 751 1407" fill="none" stroke="#7b9fa5" stroke-width="9" opacity=".32"/>
<path d="M456 1425 Q620 1453 784 1425 V1478H456Z" fill="#b3c6c4" opacity=".15"/>
</g>
<!-- glass mouth open with visible back and front lip -->
<ellipse cx="620" cy="1094" rx="190" ry="38" fill="#e5edeb" fill-opacity=".55" stroke="#425e67" stroke-width="3"/>
<ellipse cx="620" cy="1093" rx="177" ry="27" fill="#f5f3ec" fill-opacity=".82" stroke="#779198" stroke-width="2"/>
<path d="M430 1095 Q620 1170 810 1095" fill="none" stroke="#435f68" stroke-width="3"/>
<path d="M442 1100 Q620 1158 798 1100" fill="none" stroke="#eef5f0" stroke-width="3" opacity=".9"/>
<path d="M370 1045 Q389 1068 435 1078" fill="none" stroke="#405b64" stroke-width="2"/>
<!-- etched volume marks -->
<g stroke="#63838a" stroke-width="1.4" opacity=".72"><path d="M478 1205H512 M483 1239H501 M486 1274H512 M491 1308H503 M496 1343H513"/></g>
<g font-family="Arial,Helvetica,sans-serif" font-size="11" letter-spacing="1" fill="#648087"><text x="519" y="1209">750</text><text x="519" y="1278">500</text><text x="519" y="1347">250</text></g>
<!-- metal base brace -->
<path d="M452 1435 Q620 1478 788 1435 L782 1469 Q620 1517 458 1469Z" fill="url(#steel)" stroke="#344e57" stroke-width="2.5"/>
<path d="M455 1443 Q620 1484 785 1443" fill="none" stroke="#fff" stroke-width="2" opacity=".8"/>
<path d="M459 1469 Q620 1517 781 1469" fill="none" stroke="#3f5962" stroke-width="2.5"/>
<!-- annotation lines and text -->
<g class="call"><path d="M652 108H837 L863 134 H900"/><circle cx="652" cy="108" r="3" fill="#b45e3c" stroke="none"/>
<path d="M802 249H864 L890 275 H900"/><circle cx="802" cy="249" r="3" fill="#b45e3c" stroke="none"/>
<path d="M613 467H380 L350 490 H306"/><circle cx="613" cy="467" r="3" fill="#b45e3c" stroke="none"/>
<path d="M778 735H850 L878 711 H900"/><circle cx="778" cy="735" r="3" fill="#b45e3c" stroke="none"/>
<path d="M772 862H852 L879 839 H900"/><circle cx="772" cy="862" r="3" fill="#b45e3c" stroke="none"/>
<path d="M764 973H850 L878 958 H900"/><circle cx="764" cy="973" r="3" fill="#b45e3c" stroke="none"/>
<path d="M468 1170H346 L320 1191 H290"/><circle cx="468" cy="1170" r="3" fill="#b45e3c" stroke="none"/>
<path d="M929 1283H1004 L1021 1260 H1050"/><circle cx="929" cy="1283" r="3" fill="#b45e3c" stroke="none"/>
</g>
<g><text x="905" y="137" class="num">01</text><text x="949" y="137" class="label">GRIP KNOB</text><text x="949" y="157" class="detail">Cool-touch handle</text>
<text x="905" y="277" class="num">02</text><text x="949" y="277" class="label">LID</text><text x="949" y="297" class="detail">Steel cap</text>
<text x="70" y="487" class="num">03</text><text x="115" y="487" class="label">PLUNGER ROD</text><text x="115" y="507" class="detail">Threaded lower tip</text>
<text x="905" y="704" class="num">04</text><text x="949" y="704" class="label">SPIRAL PLATE</text><text x="949" y="724" class="detail">Spring seals the edge</text>
<text x="905" y="832" class="num">05</text><text x="949" y="832" class="label">MESH SCREEN</text><text x="949" y="852" class="detail">Fine wire filter</text>
<text x="905" y="951" class="num">06</text><text x="949" y="951" class="label">CROSS PLATE</text><text x="949" y="971" class="detail">Rigid lower support</text>
<text x="70" y="1187" class="num">07</text><text x="115" y="1187" class="label">GLASS CARAFE</text><text x="115" y="1207" class="detail">Pouring spout · 1 litre</text>
<text x="1057" y="1253" class="micro">HANDLE</text></g>
<!-- footer -->
<path d="M70 1521H1130" stroke="#aab8b5" stroke-width="1"/>
<text x="70" y="1564" class="micro">ASSEMBLY ORDER → SPIRAL PLATE / MESH SCREEN / CROSS PLATE</text>
<text x="1130" y="1564" text-anchor="end" class="micro">FIG. 01 — EXPLODED ASSEMBLY VIEW</text>
</svg>round 1 of 2

Exploded French press: GPT-6 Sol
modelopenai/gpt-6-soltasksvg-french-press@v2, checks c1, harness h1date2026-10-04rounds2 of 8 allowed, 12 minutes on the clockcost$0.1014thinkingmediumtokens46,357 in, 7,199 out, of which 1,678 reasoningtime1 min 20 s
All seven partsdecided by looking · Pass if all seven are drawn as separate shapes and each has a label naming it. A part that is only named in a label or a comment, with nothing drawn, fails it.pass
Stack orderdecided by a number, from the filepass
Filter fits the glassdecided by a number, from the filepass
One assembly axisdecided by looking · Pass if one vertical line runs through the middle of every part, and every leader line leaves from the same side. One part pushed off to the side 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.
same prompt, other modelsall 65 runs on Exploded French press →
Draw an exploded assembly diagram of a French press, as an SVG. Use the standard three-piece plunger filter rather than a two-piece travel press.Frozen at v2. This model got this and nothing else.
The standard three-piece plunger, from the top down: spiral (spring) plate, mesh screen, cross-plate. The cross-plate is the bottom piece, because its threaded stem is what the rod screws into. The spiral plate above the mesh is what presses the mesh edge out against the glass. Checked against the WebstaurantStore anatomy diagram, which is drawn exploded and labelled, and against each part's y coordinate in the SVG rather than its comment. Two-piece travel presses exist and stack differently, which is why v2 of the prompt names the design. How it is scored, and this run's files on GitHub.