SVG: exploded French press, by mistral-large-4-0
mistral-large-4-0 · round 2 of 2 · seed 3$0.14SVGPNGpress.svg
press.svg · 140 lines
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 1000" width="640" height="1000">
  <defs>
    <linearGradient id="steel" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#f2f4f6"/>
      <stop offset="0.35" stop-color="#c3c9cf"/>
      <stop offset="0.6" stop-color="#8d939a"/>
      <stop offset="1" stop-color="#d7dbdf"/>
    </linearGradient>
    <linearGradient id="plastic" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#585858"/>
      <stop offset="0.5" stop-color="#2e2e2e"/>
      <stop offset="1" stop-color="#151515"/>
    </linearGradient>
    <linearGradient id="metal" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#eef1f4"/>
      <stop offset="1" stop-color="#a9afb6"/>
    </linearGradient>
    <pattern id="mesh" width="5" height="5" patternUnits="userSpaceOnUse">
      <path d="M0,0 L5,5 M5,0 L0,5" stroke="#8a9199" stroke-width="0.7" fill="none"/>
    </pattern>
    <clipPath id="carafeClip">
      <path d="M200,720 L200,928 Q200,950 222,950 L378,950 Q400,950 400,928 L400,720 Z"/>
    </clipPath>
    <clipPath id="plateClip">
      <ellipse cx="300" cy="658" rx="95" ry="18"/>
    </clipPath>
  </defs>

  <rect width="640" height="1000" fill="#ffffff"/>

  <text x="320" y="34" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="21" font-weight="bold" fill="#222">French Press — Exploded Assembly</text>

  <!-- assembly axis -->
  <line x1="300" y1="52" x2="300" y2="976" stroke="#b8b8b8" stroke-width="1.5" stroke-dasharray="7 7"/>

  <!-- 1. knob -->
  <rect x="240" y="60" width="120" height="42" rx="17" fill="url(#plastic)" stroke="#0d0d0d" stroke-width="2"/>
  <rect x="250" y="66" width="100" height="9" rx="4.5" fill="#ffffff" opacity="0.14"/>
  <rect x="287" y="99" width="26" height="11" rx="4" fill="#1c1c1c"/>

  <!-- 2. plunger rod -->
  <rect x="295" y="108" width="10" height="232" rx="5" fill="url(#steel)" stroke="#7c8288" stroke-width="1"/>

  <!-- 3. lid -->
  <rect x="175" y="378" width="250" height="20" fill="#2a2a2a"/>
  <ellipse cx="300" cy="398" rx="125" ry="20" fill="#202020"/>
  <ellipse cx="300" cy="378" rx="125" ry="20" fill="url(#plastic)" stroke="#0d0d0d" stroke-width="2"/>
  <ellipse cx="300" cy="378" rx="10" ry="4.5" fill="#0a0a0a"/>
  <ellipse cx="243" cy="375" rx="13" ry="5" fill="#0a0a0a" opacity="0.9"/>

  <!-- 4. filter spring -->
  <g fill="none" stroke="#9aa0a6" stroke-width="5">
    <ellipse cx="300" cy="448" rx="70" ry="10"/>
    <ellipse cx="300" cy="464" rx="70" ry="10"/>
    <ellipse cx="300" cy="480" rx="70" ry="10"/>
    <ellipse cx="300" cy="496" rx="70" ry="10"/>
    <ellipse cx="300" cy="512" rx="70" ry="10"/>
  </g>

  <!-- 5. mesh filter disc -->
  <rect x="205" y="578" width="190" height="12" fill="#a6acb2"/>
  <ellipse cx="300" cy="590" rx="95" ry="18" fill="#8f959b"/>
  <ellipse cx="300" cy="578" rx="95" ry="18" fill="#dfe3e7"/>
  <ellipse cx="300" cy="578" rx="95" ry="18" fill="url(#mesh)"/>
  <ellipse cx="300" cy="578" rx="95" ry="18" fill="none" stroke="#767c83" stroke-width="2.5"/>
  <ellipse cx="300" cy="578" rx="86" ry="15" fill="none" stroke="#9aa0a6" stroke-width="2"/>
  <ellipse cx="300" cy="578" rx="10" ry="4" fill="#8f959b" stroke="#6d7378" stroke-width="1"/>

  <!-- 6. cross plate -->
  <rect x="205" y="658" width="190" height="12" fill="#9aa0a6"/>
  <ellipse cx="300" cy="670" rx="95" ry="18" fill="#878d93"/>
  <ellipse cx="300" cy="658" rx="95" ry="18" fill="url(#metal)" stroke="#767c83" stroke-width="2.5"/>
  <g clip-path="url(#plateClip)">
    <rect x="291" y="636" width="18" height="44" fill="#b9bfc5" stroke="#767c83" stroke-width="1.5"/>
    <rect x="203" y="649" width="194" height="18" fill="#b9bfc5" stroke="#767c83" stroke-width="1.5"/>
    <g fill="#6d7378">
      <circle cx="360.6" cy="664.5" r="2.6"/>
      <circle cx="335" cy="669.3" r="2.6"/>
      <circle cx="265" cy="669.3" r="2.6"/>
      <circle cx="239.4" cy="664.5" r="2.6"/>
      <circle cx="239.4" cy="651.5" r="2.6"/>
      <circle cx="265" cy="646.7" r="2.6"/>
      <circle cx="335" cy="646.7" r="2.6"/>
      <circle cx="360.6" cy="651.5" r="2.6"/>
    </g>
  </g>
  <ellipse cx="300" cy="658" rx="10" ry="4" fill="#8f959b" stroke="#6d7378" stroke-width="1"/>

  <!-- 7. glass carafe -->
  <g transform="translate(0,10)">
  <path d="M195,716 L195,928 Q195,955 222,955 L378,955 Q405,955 405,928 L405,716 Z" fill="#d8ebf5" opacity="0.4"/>
  <g clip-path="url(#carafeClip)">
    <rect x="198" y="802" width="204" height="150" fill="#6f4a2d" opacity="0.85"/>
    <ellipse cx="300" cy="802" rx="99" ry="10" fill="#7d5636"/>
  </g>
  <rect x="203" y="924" width="194" height="26" rx="9" fill="#cfe2ee" opacity="0.8" stroke="#7f98a8" stroke-width="2"/>
  <path d="M195,716 L195,928 Q195,955 222,955 L378,955 Q405,955 405,928 L405,716" fill="none" stroke="#7f98a8" stroke-width="3"/>
  <ellipse cx="300" cy="716" rx="105" ry="13" fill="#b9d2e2" opacity="0.85"/>
  <ellipse cx="300" cy="716" rx="105" ry="13" fill="none" stroke="#7f98a8" stroke-width="3"/>
  <!-- handle -->
  <path d="M403,782 C462,782 480,806 480,848 C480,892 460,914 403,914" fill="none" stroke="#7f98a8" stroke-width="15" stroke-linecap="round"/>
  <path d="M403,782 C462,782 480,806 480,848 C480,892 460,914 403,914" fill="none" stroke="#d8ebf5" stroke-width="7" stroke-linecap="round" opacity="0.55"/>
  <!-- spout -->
  <path d="M196,713 C182,700 170,695 160,699 C169,709 183,718 199,723 Z" fill="#d8ebf5" opacity="0.55" stroke="#7f98a8" stroke-width="2.5"/>
  <!-- glass highlight -->
  <rect x="206" y="732" width="8" height="190" rx="4" fill="#ffffff" opacity="0.35"/>
  </g>

  <!-- labels -->
  <g stroke="#999999" stroke-width="1">
    <line x1="364" y1="80" x2="452" y2="80"/>
    <line x1="307" y1="210" x2="452" y2="210"/>
    <line x1="427" y1="388" x2="452" y2="388"/>
    <line x1="372" y1="480" x2="452" y2="480"/>
    <line x1="397" y1="584" x2="452" y2="584"/>
    <line x1="397" y1="664" x2="452" y2="664"/>
    <line x1="404" y1="955" x2="452" y2="955"/>
  </g>
  <g fill="#999999">
    <circle cx="364" cy="80" r="2"/>
    <circle cx="307" cy="210" r="2"/>
    <circle cx="427" cy="388" r="2"/>
    <circle cx="372" cy="480" r="2"/>
    <circle cx="397" cy="584" r="2"/>
    <circle cx="397" cy="664" r="2"/>
    <circle cx="404" cy="955" r="2"/>
  </g>
  <g font-family="Arial, Helvetica, sans-serif" font-size="15" fill="#333333">
    <text x="460" y="85"><tspan font-weight="bold">1</tspan><tspan dx="8">Knob</tspan></text>
    <text x="460" y="215"><tspan font-weight="bold">2</tspan><tspan dx="8">Plunger rod</tspan></text>
    <text x="460" y="393"><tspan font-weight="bold">3</tspan><tspan dx="8">Lid</tspan></text>
    <text x="460" y="485"><tspan font-weight="bold">4</tspan><tspan dx="8">Filter spring</tspan></text>
    <text x="460" y="589"><tspan font-weight="bold">5</tspan><tspan dx="8">Mesh filter</tspan></text>
    <text x="460" y="669"><tspan font-weight="bold">6</tspan><tspan dx="8">Cross plate</tspan></text>
    <text x="460" y="960"><tspan font-weight="bold">7</tspan><tspan dx="8">Glass carafe</tspan></text>
  </g>

  <text x="320" y="984" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="13" font-style="italic" fill="#777777">Plunger filter = spring + mesh + cross plate (three-piece design)</text>
</svg>
round 1 of 2
Exploded French press, by Mistral Large 4, the render after round 1
12What the model saw after each round. The picture above is the round that was scored, round 2.
gallery/Exploded French press/Mistral Large 4, run 3

Exploded French press: Mistral Large 4

modelmistralai/mistral-large-4-0tasksvg-french-press@v2, checks c1, harness h1date2026-10-07rounds2 of 8 allowed, 12 minutes on the clockcost$0.1401thinkingmediumtokens202,696 in, 20,335 out, of which 13,388 reasoningtime9 min 48 sfailedAll seven parts: incomplete, component missing, major, its note said this very thing was right
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 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
read the post
its other runs
the prompt it was given
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.
ground truth

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.