SVG: exploded French press, by glm-5.3-flashx
glm-5.3-flashx · round 3 of 3 · seed 1$0.02SVGPNGpress.svg
press.svg · 120 lines
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="900" viewBox="0 0 600 900">
  <defs>
    <linearGradient id="glass" x1="0" x2="1">
      <stop offset="0" stop-color="#dfeef2"/>
      <stop offset="0.35" stop-color="#f7fbfc"/>
      <stop offset="0.7" stop-color="#cfe3e9"/>
      <stop offset="1" stop-color="#9fbfca"/>
    </linearGradient>
    <linearGradient id="steel" x1="0" x2="1">
      <stop offset="0" stop-color="#8a9096"/>
      <stop offset="0.3" stop-color="#d9dee3"/>
      <stop offset="0.55" stop-color="#aab1b8"/>
      <stop offset="1" stop-color="#6e757c"/>
    </linearGradient>
    <linearGradient id="steelDark" x1="0" x2="1">
      <stop offset="0" stop-color="#5b6167"/>
      <stop offset="0.35" stop-color="#9aa2a9"/>
      <stop offset="1" stop-color="#4c5257"/>
    </linearGradient>
    <linearGradient id="grounds" x1="0" x2="1">
      <stop offset="0" stop-color="#5a3a26"/>
      <stop offset="0.5" stop-color="#7a5236"/>
      <stop offset="1" stop-color="#4a2f1e"/>
    </linearGradient>
  </defs>

  <rect width="600" height="900" fill="#f4f1ec"/>
  <ellipse cx="300" cy="845" rx="200" ry="26" fill="#00000012"/>

  <!-- guide line -->
  <line x1="300" y1="60" x2="300" y2="820" stroke="#b9b2a6" stroke-width="2" stroke-dasharray="8 8"/>

  <g font-family="Georgia, serif" font-size="17" fill="#6b6154">
    <text x="36" y="112">1. Knob</text>
    <text x="36" y="250">2. Plunger rod</text>
    <text x="36" y="390">3. Mesh filter</text>
    <text x="36" y="463">4. Spiral plate</text>
    <text x="36" y="536">5. Lid</text>
    <text x="36" y="600">6. Handle</text>
    <text x="36" y="680">7. Carafe</text>
    <text x="36" y="812">8. Base</text>
  </g>

  <!-- 1 Knob -->
  <g>
    <ellipse cx="300" cy="105" rx="30" ry="20" fill="url(#steel)"/>
    <rect x="270" y="105" width="60" height="28" fill="url(#steelDark)"/>
    <ellipse cx="300" cy="133" rx="30" ry="20" fill="url(#steel)"/>
  </g>

  <!-- 2 Plunger rod -->
  <g>
    <rect x="293" y="185" width="14" height="180" rx="4" fill="url(#steelDark)"/>
    <ellipse cx="300" cy="187" rx="7" ry="5" fill="#d9dee3"/>
    <!-- cross handle -->
    <rect x="255" y="230" width="90" height="14" rx="7" fill="url(#steel)"/>
    <circle cx="300" cy="237" r="10" fill="url(#steel)"/>
  </g>

  <!-- 3 Mesh filter disc -->
  <g>
    <ellipse cx="300" cy="392" rx="90" ry="28" fill="#aab1b8"/>
    <ellipse cx="300" cy="388" rx="90" ry="28" fill="url(#steel)"/>
    <g stroke="#7c838a" stroke-width="1">
      <line x1="230" y1="380" x2="370" y2="380"/>
      <line x1="222" y1="388" x2="378" y2="388"/>
      <line x1="230" y1="396" x2="370" y2="396"/>
      <line x1="262" y1="364" x2="262" y2="412"/>
      <line x1="300" y1="360" x2="300" y2="416"/>
      <line x1="338" y1="364" x2="338" y2="412"/>
    </g>
    <!-- filter rim + rod socket -->
    <ellipse cx="300" cy="388" rx="90" ry="28" fill="none" stroke="#6e757c" stroke-width="4"/>
    <circle cx="300" cy="388" r="9" fill="#5b6167"/>
  </g>

  <!-- 4 Spiral pressure plate -->
  <g>
    <ellipse cx="300" cy="462" rx="82" ry="25" fill="none" stroke="url(#steelDark)" stroke-width="7"/>
    <path d="M 225 462 q 37 -22 75 0 q 38 22 75 0" fill="none" stroke="url(#steelDark)" stroke-width="6"/>
  </g>

  <!-- 5 Lid assembly -->
  <g>
    <!-- lid plate -->
    <path d="M 195 545 Q 300 520 405 545 L 405 570 Q 300 545 195 570 Z" fill="url(#steel)"/>
    <!-- spout bump -->
    <path d="M 402 552 L 425 548 L 405 566 Z" fill="url(#steel)"/>
    <!-- rod hole collar -->
    <ellipse cx="300" cy="551" rx="16" ry="8" fill="#5b6167"/>
    <!-- handle arc (side frame) -->
    <path d="M 425 700 Q 490 660 455 580" fill="none" stroke="url(#steelDark)" stroke-width="14" stroke-linecap="round"/>
    <path d="M 175 700 Q 110 660 145 580" fill="none" stroke="url(#steelDark)" stroke-width="14" stroke-linecap="round"/>
  </g>

  <!-- 6 Carafe -->
  <g>
    <path d="M 235 595
             C 215 650 205 720 220 770
             Q 300 790 380 770
             C 395 720 385 650 365 595
             Q 300 608 235 595 Z" fill="url(#glass)" opacity="0.92"/>
    <!-- coffee grounds -->
    <path d="M 232 702 Q 300 688 368 702
             C 376 730 376 750 374 768
             Q 300 785 226 768
             C 224 750 224 730 232 702 Z" fill="url(#grounds)"/>
    <!-- liquid line highlight -->
    <path d="M 232 702 Q 300 688 368 702" fill="none" stroke="#8a6142" stroke-width="3" opacity="0.8"/>
    <!-- glass highlight -->
    <path d="M 248 620 C 236 660 230 700 238 740" fill="none" stroke="#ffffff" stroke-width="5" opacity="0.55" stroke-linecap="round"/>
  </g>

  <!-- 7 Base -->
  <g>
    <path d="M 205 808 Q 300 788 395 808 L 400 826 Q 300 846 200 826 Z" fill="url(#steelDark)"/>
    <ellipse cx="300" cy="830" rx="100" ry="14" fill="#3f4449"/>
  </g>
</svg>
round 1 of 3
Exploded French press, by GLM 5.3 FlashX, the render after round 1
123What the model saw after each round. The picture above is the round that was scored, round 3.
gallery/Exploded French press/GLM 5.3 FlashX, run 1

Left the cross-plate out altogether, and still put the spiral plate under the mesh.

modelz-ai/glm-5.3-flashxtasksvg-french-press@v1date2026-09-20rounds3 of 8 allowedcost$0.0206thinkingmediumtokens49,796 in, 3,937 out, of which 666 reasoningtime1 min 7 sfailurecompleteness · part-order
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 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
same prompt
the prompt it was given
Draw an exploded assembly diagram of a French press, as an SVG.
Frozen at v1. This model got this and nothing else. The prompt has since moved to v2, on 2026-09-20, so this run is not directly comparable with one made after that date. Both wordings are on the task page.
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.