press.svg · 78 lines
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 940" font-family="Helvetica, Arial, sans-serif">
<defs>
<pattern id="mesh" width="14" height="14" patternUnits="userSpaceOnUse">
<rect width="14" height="14" fill="#e3ecef"/>
<path d="M0 0 H14 M0 0 V14" stroke="#8d99a6" stroke-width="1"/>
</pattern>
</defs>
<rect width="640" height="940" fill="#fbfbf7"/>
<text x="320" y="32" font-size="22" font-weight="bold" text-anchor="middle" fill="#222">French press — exploded assembly view</text>
<!-- dashed centerline -->
<line x1="240" y1="48" x2="240" y2="868" stroke="#b6b6b6" stroke-width="1.5" stroke-dasharray="7 6"/>
<!-- ===== Plunger handle (top knob) ===== -->
<rect x="160" y="52" width="160" height="26" rx="13" fill="#8a5a3b" stroke="#5d3d26" stroke-width="2.5"/>
<line x1="172" y1="65" x2="220" y2="65" stroke="#a9764f" stroke-width="4" stroke-linecap="round" opacity="0.6"/>
<!-- ===== Plunger rod ===== -->
<rect x="236" y="78" width="8" height="148" fill="#9aa4ad" stroke="#5b646d" stroke-width="1.5"/>
<!-- ===== Spring (coil) ===== -->
<g stroke="#7c8790" stroke-width="5" fill="none" stroke-linecap="round">
<ellipse cx="240" cy="252" rx="55" ry="7"/>
<ellipse cx="240" cy="264" rx="55" ry="7"/>
<ellipse cx="240" cy="276" rx="55" ry="7"/>
<ellipse cx="240" cy="288" rx="55" ry="7"/>
<ellipse cx="240" cy="300" rx="55" ry="7"/>
<ellipse cx="240" cy="312" rx="55" ry="7"/>
</g>
<!-- ===== Filter disc (wire mesh) ===== -->
<ellipse cx="240" cy="372" rx="130" ry="20" fill="url(#mesh)" stroke="#55606a" stroke-width="2.5"/>
<ellipse cx="240" cy="372" rx="130" ry="20" fill="none" stroke="#313a42" stroke-width="3" opacity="0.35"/>
<circle cx="240" cy="372" r="5" fill="#55606a"/>
<!-- ===== Lid ===== -->
<rect x="105" y="415" width="270" height="42" rx="12" fill="#2f3640" stroke="#14181d" stroke-width="2.5"/>
<circle cx="240" cy="436" r="9" fill="#14181d" stroke="#55606a" stroke-width="2"/>
<rect x="118" y="422" width="120" height="7" rx="3.5" fill="#4b5563" opacity="0.7"/>
<!-- ===== Glass beaker with spout ===== -->
<path d="M 106 522 L 130 500 L 130 545 Z" fill="#cfe6f2" stroke="#5b7f95" stroke-width="3" stroke-linejoin="round"/>
<path d="M 130 500 L 350 500 L 336 793 Q 335 805 323 805 L 157 805 Q 145 805 144 793 Z"
fill="#cfe6f2" fill-opacity="0.75" stroke="#5b7f95" stroke-width="3"/>
<path d="M 152 520 Q 148 650 156 780" stroke="#ffffff" stroke-width="6" fill="none" opacity="0.5" stroke-linecap="round"/>
<!-- ===== Base ===== -->
<rect x="130" y="835" width="220" height="22" rx="8" fill="#2f3640" stroke="#14181d" stroke-width="2.5"/>
<!-- ===== Leader lines + labels ===== -->
<g stroke="#8a8a8a" stroke-width="1.2">
<line x1="324" y1="65" x2="398" y2="65"/>
<line x1="246" y1="150" x2="398" y2="150"/>
<line x1="300" y1="282" x2="398" y2="282"/>
<line x1="372" y1="372" x2="398" y2="372"/>
<line x1="377" y1="436" x2="398" y2="436"/>
<line x1="344" y1="650" x2="398" y2="650"/>
<line x1="352" y1="846" x2="398" y2="846"/>
</g>
<g font-size="17" fill="#333">
<text x="404" y="70">Plunger handle</text>
<text x="404" y="155">Plunger rod</text>
<text x="404" y="287">Spring</text>
<text x="404" y="377">Filter disc</text>
<text x="404" y="441">Lid</text>
<text x="404" y="655">Glass beaker</text>
<text x="404" y="851">Base</text>
</g>
<!-- spout callout -->
<line x1="110" y1="527" x2="88" y2="558" stroke="#8a8a8a" stroke-width="1.2"/>
<text x="84" y="572" font-size="14" fill="#333" text-anchor="end">Pour spout</text>
<!-- note -->
<text x="320" y="915" font-size="15" fill="#777" text-anchor="middle">Plunger filter: three pieces — rod, spring, and wire-mesh disc</text>
</svg>round 1 of 2

A coil spring and a mesh, no cross-plate, the lid under the filter, and a mesh wider than the carafe.
modelqwen/qwen3.8-27btasksvg-french-press@v2date2026-09-22rounds2 of 8 allowedcost$0.0245thinkingmediumtokens28,945 in, 6,671 out, of which 4,213 reasoningtime1 min 44 sfailurecompleteness · part-order · physical-plausibility
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.fail
Stack orderdecided by a number, from the filefail
Filter fits the glassdecided by a number, from the filefail
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.
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.

