SVG: exploded French press, by ember-1
ember-1 · round 2 of 2 · seed 2$0.11SVGPNGpress.svg
press.svg · 89 lines
<svg xmlns="http://www.w3.org/2000/svg" width="520" height="860" viewBox="0 0 520 860" font-family="sans-serif">
  <rect width="520" height="860" fill="#fafafa"/>
  <text x="260" y="30" text-anchor="middle" font-size="20" font-weight="bold">French Press — Exploded Assembly</text>

  <!-- Knob -->
  <g>
    <circle cx="260" cy="75" r="22" fill="#444"/>
    <circle cx="253" cy="68" r="5" fill="#777"/>
    <text x="330" y="80" font-size="13" fill="#333">knob</text>
    <line x1="305" y1="76" x2="322" y2="78" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Lid -->
  <g>
    <path d="M178 150 a82 34 0 0 1 164 0 z" fill="#777"/>
    <rect x="172" y="150" width="176" height="12" rx="4" fill="#555"/>
    <ellipse cx="260" cy="150" rx="88" ry="8" fill="none" stroke="#999" stroke-width="1.5"/>
    <ellipse cx="260" cy="146" rx="14" ry="4" fill="#444"/>
    <text x="370" y="150" font-size="13" fill="#333">lid</text>
    <line x1="348" y1="152" x2="364" y2="150" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Rod -->
  <g>
    <rect x="254" y="97" width="12" height="520" fill="#999"/>
    <rect x="256" y="97" width="3" height="520" fill="#ccc"/>
    <text x="150" y="340" font-size="13" fill="#333">plunger rod</text>
    <line x1="252" y1="336" x2="230" y2="336" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Spiral spring (three-piece filter part 1) -->
  <g>
    <g fill="none" stroke="#666" stroke-width="3">
      <ellipse cx="260" cy="422" rx="80" ry="10"/>
      <ellipse cx="260" cy="432" rx="80" ry="10"/>
      <ellipse cx="260" cy="442" rx="80" ry="10"/>
    </g>
    <text x="370" y="425" font-size="13" fill="#333">spiral spring</text>
    <line x1="340" y1="428" x2="364" y2="424" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Mesh screen (part 2) -->
  <g>
    <ellipse cx="260" cy="500" rx="80" ry="12" fill="#c9c9c9" stroke="#777" stroke-width="2"/>
    <ellipse cx="260" cy="500" rx="80" ry="12" fill="url(#mesh)" stroke="#777" stroke-width="2"/>
    <text x="370" y="505" font-size="13" fill="#333">mesh screen</text>
    <line x1="340" y1="502" x2="364" y2="504" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Cross plate / bottom plate (part 3) -->
  <g>
    <ellipse cx="260" cy="565" rx="80" ry="12" fill="#888" stroke="#555" stroke-width="2"/>
    <ellipse cx="260" cy="559" rx="80" ry="12" fill="#aaa" stroke="#666" stroke-width="2"/>
    <rect x="246" y="548" width="28" height="10" rx="3" fill="#777"/>
    <text x="370" y="565" font-size="13" fill="#333">cross plate</text>
    <line x1="340" y1="562" x2="364" y2="564" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Nut at rod end -->
  <g>
    <rect x="248" y="617" width="24" height="14" rx="3" fill="#555"/>
    <text x="120" y="630" font-size="13" fill="#333">retaining nut</text>
    <line x1="246" y1="624" x2="200" y2="628" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- Beaker -->
  <g>
    <path d="M170 700 v110 a10 10 0 0 0 10 10 h160 a10 10 0 0 0 10 -10 v-110" fill="rgba(180,220,240,0.35)" stroke="#4a7a96" stroke-width="3"/>
    <ellipse cx="260" cy="700" rx="90" ry="12" fill="rgba(180,220,240,0.25)" stroke="#4a7a96" stroke-width="3"/>
    <!-- spout -->
    <path d="M170 700 q-14 -6 -16 -14 q12 2 18 8" fill="rgba(180,220,240,0.35)" stroke="#4a7a96" stroke-width="2.5"/>
    <!-- handle -->
    <path d="M350 720 q55 5 55 55 q0 45 -55 45" fill="none" stroke="#333" stroke-width="12" stroke-linecap="round"/>
    <!-- base band -->
    <rect x="168" y="806" width="184" height="16" rx="6" fill="#444"/>
    <text x="80" y="760" font-size="13" fill="#333">glass beaker</text>
    <line x1="168" y1="760" x2="150" y2="760" stroke="#888" stroke-dasharray="3,3"/>
  </g>

  <!-- assembly dashed guide -->
  <line x1="260" y1="55" x2="260" y2="640" stroke="#bbb" stroke-dasharray="2,6"/>

  <defs>
    <pattern id="mesh" width="6" height="6" patternUnits="userSpaceOnUse">
      <path d="M0 0 L6 6 M6 0 L0 6" stroke="#999" stroke-width="0.8"/>
    </pattern>
  </defs>
</svg>
round 1 of 2
Exploded French press, by Ember 1, the render after round 1
12What the model saw after each round. The picture above is the round that was scored, round 2.

Exploded French press: Ember 1

modelfireworks/ember-1tasksvg-french-press@v2, checks c1, harness h1date2026-10-04rounds2 of 8 allowed, 12 minutes on the clockcost$0.1076thinkingmediumtokens28,345 in, 2,820 out, of which 225 reasoningtime40 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 filen/d
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.

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.