SVG: exploded AeroPress, by pareto-26.10-preview
pareto-26.10-preview · round 2 of 2 · seed 3$0.10SVGPNGaeropress.svg
aeropress.svg · 178 lines
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1400" font-family="Helvetica, Arial, sans-serif">
  <defs>
    <linearGradient id="dark" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#4a5158"/><stop offset="0.5" stop-color="#23272c"/><stop offset="1" stop-color="#14171a"/>
    </linearGradient>
    <linearGradient id="plastic" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#eef1f3"/><stop offset="0.55" stop-color="#ccd4da"/><stop offset="1" stop-color="#a9b4bd"/>
    </linearGradient>
    <linearGradient id="smoke" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#a6afb7"/><stop offset="0.5" stop-color="#7b848c"/><stop offset="1" stop-color="#5d666e"/>
    </linearGradient>
    <linearGradient id="rubber" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#3f434a"/><stop offset="1" stop-color="#22252a"/>
    </linearGradient>
    <pattern id="grid" width="50" height="50" patternUnits="userSpaceOnUse">
      <path d="M50 0H0V50" fill="none" stroke="#7c8894" stroke-width="1" opacity="0.09"/>
    </pattern>
    <marker id="arrow" viewBox="0 0 10 10" refX="7.5" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0 L10 5 L0 10 Z" fill="#b3543f"/>
    </marker>
  </defs>

  <!-- sheet -->
  <rect width="1000" height="1400" fill="#f7f5f0"/>
  <rect width="1000" height="1400" fill="url(#grid)"/>
  <rect x="18" y="18" width="964" height="1364" rx="14" fill="none" stroke="#23282e" stroke-width="2" opacity="0.9"/>

  <!-- title block -->
  <text x="70" y="92" font-size="38" font-weight="bold" fill="#23282e">AeroPress® Coffee Maker</text>
  <text x="72" y="122" font-size="15" fill="#6a737c">Exploded assembly diagram · original model, round paper micro-filter</text>

  <!-- centerline -->
  <line x1="450" y1="134" x2="450" y2="1346" stroke="#9aa4ad" stroke-width="1.5" stroke-dasharray="7 9"/>

  <!-- ============ MUG ============ -->
  <ellipse cx="452" cy="1318" rx="138" ry="13" fill="#23282e" opacity="0.07"/>
  <path d="M345,1162 L357,1292 A 93 16 0 0 0 543,1292 L555,1162 A 105 21 0 0 0 345,1162 Z"
        fill="#e7e0d2" stroke="#a89f92" stroke-width="1.5"/>
  <path d="M552,1192 C618,1186 622,1268 552,1264" fill="none" stroke="#a89f92" stroke-width="19" stroke-linecap="round"/>
  <path d="M552,1192 C618,1186 622,1268 552,1264" fill="none" stroke="#e7e0d2" stroke-width="11" stroke-linecap="round"/>
  <ellipse cx="450" cy="1162" rx="105" ry="21" fill="#d9d1c4" stroke="#a89f92" stroke-width="1.5"/>
  <ellipse cx="450" cy="1163" rx="92" ry="17" fill="#c4bbaa" opacity="0.8"/>
  <rect x="378" y="1185" width="12" height="88" rx="6" fill="#ffffff" opacity="0.5"/>

  <!-- ============ PAPER FILTER ============ -->
  <ellipse cx="450" cy="1079" rx="78" ry="15.5" fill="#e3dac2" stroke="#cfc5a8" stroke-width="1.2"/>
  <ellipse cx="450" cy="1072" rx="78" ry="15.5" fill="#fdfaf0" stroke="#d6cbae" stroke-width="1.5"/>
  <ellipse cx="450" cy="1072" rx="58" ry="11" fill="none" stroke="#e0d6b8" stroke-width="1" stroke-dasharray="3 5"/>

  <!-- ============ FILTER CAP ============ -->
  <path d="M355,940 L355,988 A 95 20 0 0 0 545,988 L545,940 A 95 20 0 0 0 355,940 Z"
        fill="url(#smoke)" stroke="#4a525a" stroke-width="1.5"/>
  <ellipse cx="450" cy="940" rx="95" ry="20" fill="#8b949c" stroke="#4a525a" stroke-width="1.5"/>
  <ellipse cx="450" cy="944" rx="70" ry="13.5" fill="#79828a" stroke="#565e66" stroke-width="1"/>
  <ellipse cx="450" cy="941" rx="82" ry="17" fill="none" stroke="#5d666e" stroke-width="1.5" stroke-dasharray="5 6" opacity="0.9"/>
  <path d="M538,941 Q602,944 598,959 Q594,973 539,975 Z" fill="url(#smoke)" stroke="#4a525a" stroke-width="1.5"/>

  <!-- ============ CHAMBER ============ -->
  <path d="M365,540 L390,798 L376,803 L374,821 L389,826 L393,850
           A 57 12 0 0 0 507,850
           L511,826 L526,821 L524,803 L510,798 L535,540
           A 85 16 0 0 0 365,540 Z"
        fill="url(#plastic)" opacity="0.95" stroke="#77828c" stroke-width="1.5"/>
  <ellipse cx="450" cy="540" rx="85" ry="16" fill="#aeb7bf" stroke="#77828c" stroke-width="1.5"/>
  <ellipse cx="450" cy="540" rx="76" ry="12.5" fill="#d6dce1"/>
  <rect x="382" y="565" width="14" height="230" rx="7" fill="#ffffff" opacity="0.35"/>
  <!-- fill-level markings -->
  <g stroke="#8d98a2" stroke-width="1">
    <line x1="388" y1="765" x2="410" y2="765"/>
    <line x1="388" y1="720" x2="410" y2="720"/>
    <line x1="388" y1="675" x2="410" y2="675"/>
    <line x1="388" y1="630" x2="410" y2="630"/>
  </g>
  <g font-size="11" fill="#77828c">
    <text x="418" y="769">1</text><text x="418" y="724">2</text>
    <text x="418" y="679">3</text><text x="418" y="634">4</text>
  </g>
  <text transform="translate(514,762) rotate(-90)" font-size="13" letter-spacing="5" fill="#8d98a2">AEROPRESS</text>

  <!-- ============ PLUNGER ============ -->
  <rect x="360" y="152" width="180" height="30" rx="15" fill="url(#dark)" stroke="#14171a" stroke-width="1"/>
  <ellipse cx="450" cy="152" rx="90" ry="14" fill="url(#dark)" stroke="#14171a" stroke-width="1"/>
  <ellipse cx="450" cy="149" rx="68" ry="7" fill="#ffffff" opacity="0.10"/>
  <path d="M408,180 L414,200 L486,200 L492,180 Z" fill="url(#dark)" stroke="#14171a" stroke-width="1"/>
  <rect x="412" y="198" width="76" height="208" fill="url(#dark)" stroke="#14171a" stroke-width="1"/>
  <rect x="420" y="204" width="12" height="192" rx="6" fill="#ffffff" opacity="0.14"/>
  <path d="M400,404 L500,404 L500,432 Q500,456 476,458 L424,458 Q400,456 400,432 Z"
        fill="url(#rubber)" stroke="#17191c" stroke-width="1"/>
  <ellipse cx="450" cy="404" rx="50" ry="8" fill="#4d525a" stroke="#17191c" stroke-width="1"/>
  <line x1="404" y1="421" x2="496" y2="421" stroke="#15181b" stroke-width="2" opacity="0.55"/>
  <line x1="404" y1="435" x2="496" y2="435" stroke="#15181b" stroke-width="2" opacity="0.55"/>
  <ellipse cx="450" cy="456" rx="44" ry="6" fill="#000000" opacity="0.22"/>

  <!-- ============ STIRRER (left) ============ -->
  <rect x="118" y="285" width="22" height="160" rx="11" fill="url(#plastic)" stroke="#77828c" stroke-width="1.5"/>
  <rect x="106" y="430" width="46" height="78" rx="22" fill="url(#plastic)" stroke="#77828c" stroke-width="1.5"/>
  <line x1="124" y1="292" x2="124" y2="420" stroke="#ffffff" stroke-width="3" stroke-linecap="round" opacity="0.35"/>

  <!-- ============ SCOOP (left, below stirrer) ============ -->
  <rect x="118" y="552" width="20" height="102" rx="10" fill="url(#plastic)" stroke="#77828c" stroke-width="1.5"/>
  <path d="M97,655 Q99,702 135,705 Q171,702 173,655 A 38 12 0 0 1 97,655 Z"
        fill="url(#plastic)" stroke="#77828c" stroke-width="1.5"/>
  <ellipse cx="135" cy="655" rx="38" ry="12" fill="#b9c2ca" stroke="#77828c" stroke-width="1.5"/>

  <!-- ============ FUNNEL (right, below legend) ============ -->
  <path d="M705,505 L778,635 L778,690 A 27 7 0 0 0 832,690 L832,635 L905,505 A 100 20 0 0 0 705,505 Z"
        fill="url(#plastic)" opacity="0.92" stroke="#77828c" stroke-width="1.5"/>
  <ellipse cx="805" cy="505" rx="100" ry="20" fill="#b9c2ca" stroke="#77828c" stroke-width="1.5"/>
  <ellipse cx="805" cy="505" rx="88" ry="16.5" fill="#d7dde2"/>
  <path d="M727,555 Q805,568 883,555" fill="none" stroke="#a9b3bc" stroke-width="1.3" opacity="0.7"/>
  <path d="M752,600 Q805,610 858,600" fill="none" stroke="#a9b3bc" stroke-width="1.3" opacity="0.7"/>

  <!-- ============ ASSEMBLY ARROWS ============ -->
  <g stroke="#b3543f" stroke-width="2.5">
    <line x1="450" y1="466" x2="450" y2="512" marker-end="url(#arrow)"/>
    <line x1="450" y1="870" x2="450" y2="912" marker-end="url(#arrow)"/>
    <line x1="450" y1="1016" x2="450" y2="1048" marker-end="url(#arrow)"/>
    <line x1="450" y1="1102" x2="450" y2="1130" marker-end="url(#arrow)"/>
  </g>
  <text x="466" y="497" font-size="12" font-style="italic" fill="#b3543f">press to assemble</text>

  <!-- ============ PART BADGES + LEADERS ============ -->
  <g stroke="#8a94a0" stroke-width="1.2">
    <line x1="566" y1="166" x2="542" y2="166"/>
    <line x1="563" y1="640" x2="528" y2="640"/>
    <line x1="314" y1="952" x2="353" y2="952"/>
    <line x1="314" y1="1072" x2="371" y2="1072"/>
    <line x1="90"  y1="300" x2="121" y2="300"/>
    <line x1="929" y1="560" x2="878" y2="560"/>
    <line x1="87"  y1="655" x2="96"  y2="655"/>
    <line x1="650" y1="1215" x2="621" y2="1215"/>
  </g>
  <g>
    <g fill="#23282e" stroke="#f7f5f0" stroke-width="2">
      <circle cx="578" cy="166" r="12"/><circle cx="575" cy="640" r="12"/>
      <circle cx="302" cy="952" r="12"/><circle cx="302" cy="1072" r="12"/>
      <circle cx="78" cy="300" r="12"/><circle cx="941" cy="560" r="12"/>
      <circle cx="75" cy="655" r="12"/><circle cx="662" cy="1215" r="12"/>
    </g>
    <g font-size="12" font-weight="bold" fill="#ffffff" text-anchor="middle">
      <text x="578" y="170">1</text><text x="575" y="644">2</text>
      <text x="302" y="956">3</text><text x="302" y="1076">4</text>
      <text x="78" y="304">5</text><text x="941" y="564">6</text>
      <text x="75" y="659">7</text><text x="662" y="1219">8</text>
    </g>
  </g>

  <!-- ============ PARTS LIST ============ -->
  <rect x="690" y="88" width="278" height="332" rx="12" fill="#ffffff" opacity="0.75" stroke="#d8d2c6" stroke-width="1.5"/>
  <text x="714" y="120" font-size="13" font-weight="bold" letter-spacing="3" fill="#8a8378">PARTS LIST</text>
  <g fill="#23282e">
    <circle cx="724" cy="152" r="11"/><circle cx="724" cy="185" r="11"/>
    <circle cx="724" cy="218" r="11"/><circle cx="724" cy="251" r="11"/>
    <circle cx="724" cy="284" r="11"/><circle cx="724" cy="317" r="11"/>
    <circle cx="724" cy="350" r="11"/><circle cx="724" cy="383" r="11"/>
  </g>
  <g font-size="11" font-weight="bold" fill="#ffffff" text-anchor="middle">
    <text x="724" y="156">1</text><text x="724" y="189">2</text>
    <text x="724" y="222">3</text><text x="724" y="255">4</text>
    <text x="724" y="288">5</text><text x="724" y="321">6</text>
    <text x="724" y="354">7</text><text x="724" y="387">8</text>
  </g>
  <g font-size="15" fill="#3a4048">
    <text x="746" y="157">Plunger</text>
    <text x="746" y="190">Chamber</text>
    <text x="746" y="223">Filter cap</text>
    <text x="746" y="256">Paper filter (round)</text>
    <text x="746" y="289">Stirrer</text>
    <text x="746" y="322">Funnel</text>
    <text x="746" y="355">Scoop</text>
    <text x="746" y="388" fill="#8a8378">Mug (not included)</text>
  </g>

  <!-- footer -->
  <text x="70" y="1362" font-size="12" letter-spacing="3" fill="#8a94a0">FIG. 1 — EXPLODED VIEW</text>
  <text x="500" y="1362" font-size="13" font-style="italic" fill="#6a737c" text-anchor="middle">Assembly order: mug → cap + paper filter → chamber → plunger</text>
</svg>
round 1 of 2
Exploded AeroPress, by Pareto 26.10 Preview, 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 AeroPress/Pareto 26.10 Preview, run 3

Exploded AeroPress: Pareto 26.10 Preview

modelunbiased/pareto-26.10-previewtaskexploded-aeropress@v1, checks c1, harness h1date2026-10-07rounds2 of 8 allowed, 12 minutes on the clockcost$0.0953thinkingmediumtokens44,918 in, 26,000 out, of which 0 reasoningtime2 min 13 sfailedAll five parts: incomplete, component missing, major, its note said nothing was wrong · Stack order: false, relation transposed, critical, its note said nothing was wrong · Parts fit: false, geometry distorted, major, follows from all five parts, its note said nothing was wrong · One assembly axis: unreadable, geometry inconsistent, minor, its note said nothing was wrong
All five partsdecided by looking · Pass if every listed part is drawn as a separate shape and each has a label naming it. A part only named in a label or a comment, with nothing drawn, fails it. The label must say what the part is, in any words: a name that only says where it sits ("top plate") or what it is made of, or a mention in another part's caption, does not count.fail
Stack orderdecided by a number, from the filefail
Parts fitdecided by a number, from the filefail
One assembly axisdecided by looking · Pass if one line runs through the middle of every part on each listed axis, and every leader line leaves from the same side. One part pushed off its axis fails it.fail
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 an AeroPress coffee maker, as an SVG. Use the original model with a round paper filter rather than the Go or the XL.
Frozen at v1. This model got this and nothing else.
ground truth

Top to bottom: plunger, rubber seal, chamber, paper filter, filter cap. The seal sits on the plunger's lower end, and the paper filter sits in the cap below the chamber. Checked against AeroPress's replacement-parts pages, which sell the plunger with its seal, the chamber and the cap as the parts of the Original, and Wikipedia's description of the cap holding the filter at the chamber's bottom end. The stirrer and scoop are not part of the assembly. How it is scored, and this run's files on GitHub.