SVG: exploded AeroPress, by gpt-6-luna
gpt-6-luna · round 1 · seed 2$0.00SVGPNGaeropress.svg
aeropress.svg · 126 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900">
  <defs>
    <linearGradient id="barrel" x1="0" x2="1" y1="0" y2="0">
      <stop offset="0" stop-color="#cbd1d3" stop-opacity=".55"/>
      <stop offset=".18" stop-color="#f5f5f1" stop-opacity=".82"/>
      <stop offset=".5" stop-color="#dce1df" stop-opacity=".52"/>
      <stop offset=".82" stop-color="#f8f7f2" stop-opacity=".86"/>
      <stop offset="1" stop-color="#aeb8bc" stop-opacity=".55"/>
    </linearGradient>
    <linearGradient id="shaft" x1="0" x2="1">
      <stop offset="0" stop-color="#777e80"/><stop offset=".2" stop-color="#e2e3df"/><stop offset=".55" stop-color="#f6f4ed"/><stop offset="1" stop-color="#92999a"/>
    </linearGradient>
    <linearGradient id="cap" x1="0" x2="1">
      <stop offset="0" stop-color="#42494b"/><stop offset=".22" stop-color="#778083"/><stop offset=".5" stop-color="#333a3c"/><stop offset=".8" stop-color="#747c7e"/><stop offset="1" stop-color="#353b3d"/>
    </linearGradient>
    <style>
      .ink{stroke:#263236;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
      .fine{stroke:#354246;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
      .leader{stroke:#798487;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
      .label{font-family:Arial,Helvetica,sans-serif;fill:#263236;font-size:17px;font-weight:600;letter-spacing:.2px}
      .sub{font-family:Arial,Helvetica,sans-serif;fill:#697578;font-size:13px;letter-spacing:.35px}
      .num{font-family:Arial,Helvetica,sans-serif;fill:#fff;font-size:12px;font-weight:bold;text-anchor:middle;dominant-baseline:middle}
    </style>
  </defs>
  <rect width="1200" height="900" fill="#f7f6f1"/>
  <path d="M76 76H1124" stroke="#d6d8d2" stroke-width="1.5"/>
  <text x="78" y="53" font-family="Arial,Helvetica,sans-serif" font-size="25" font-weight="700" letter-spacing="2.2" fill="#263236">AEROPRESS</text>
  <text x="1122" y="52" text-anchor="end" font-family="Arial,Helvetica,sans-serif" font-size="12" letter-spacing="2" fill="#788386">ORIGINAL • EXPLODED ASSEMBLY</text>
  <text x="78" y="105" font-family="Arial,Helvetica,sans-serif" font-size="13" letter-spacing="1.6" fill="#788386">PARTS SHOWN IN ASSEMBLY ORDER</text>

  <!-- axis / exploded alignment -->
  <path d="M600 126V824" stroke="#d8dcd8" stroke-width="1.2" stroke-dasharray="4 7"/>

  <!-- Plunger handle and shaft -->
  <g class="ink">
    <!-- T grip -->
    <path d="M543 145 Q543 136 552 136 H648 Q657 136 657 145 V157 Q657 165 649 165 H551 Q543 165 543 157 Z" fill="#394144"/>
    <path d="M552 139H648" stroke="#8f9899" stroke-width="1.6" fill="none"/>
    <path d="M563 165V175 Q563 180 568 180H632Q637 180 637 175V165" fill="#4d5557"/>
    <!-- handle neck shaft -->
    <path d="M570 179 H630 L625 274 H575 Z" fill="url(#shaft)"/>
    <path d="M580 184L584 269M620 184L616 269" stroke="#fff" stroke-opacity=".6" stroke-width="2" fill="none"/>
    <path d="M575 267H625L629 281Q628 288 620 290H580Q572 288 571 281Z" fill="#626a6c"/>
    <!-- rubber seal, flared cup-like piston foot -->
    <path d="M565 289 Q565 282 574 281 H626 Q635 282 635 289 L641 302 Q641 309 633 311 H567 Q559 309 559 302 Z" fill="#252b2d"/>
    <path d="M560 301 Q600 309 640 301" fill="none" stroke="#899092" stroke-width="1.4"/>
    <ellipse cx="600" cy="311" rx="34" ry="8" fill="#202628"/>
    <ellipse cx="600" cy="310" rx="24" ry="4" fill="#60686a" stroke="none"/>
  </g>
  <!-- chamber -->
  <g class="ink">
    <!-- top open rim ellipse -->
    <path d="M494 369 C494 355 541 345 600 345 C659 345 706 355 706 369 V381 C706 395 659 405 600 405 C541 405 494 395 494 381 Z" fill="#d8ddda"/>
    <ellipse cx="600" cy="369" rx="106" ry="24" fill="#f7f6f1"/>
    <ellipse cx="600" cy="369" rx="88" ry="15" fill="#e1e5e1" stroke="#879194" stroke-width="1.4"/>
    <!-- transparent barrel sides -->
    <path d="M494 378 C494 392 541 402 600 402 C659 402 706 392 706 378 L706 555 C706 568 659 579 600 579 C541 579 494 568 494 555 Z" fill="url(#barrel)"/>
    <path d="M494 378 C494 392 541 402 600 402 C659 402 706 392 706 378" fill="none" stroke="#526064" stroke-width="2"/>
    <path d="M494 555 C494 568 541 579 600 579 C659 579 706 568 706 555" fill="none" stroke="#526064" stroke-width="2"/>
    <path d="M511 400V560M526 402V565" stroke="#fff" stroke-opacity=".75" stroke-width="3" fill="none"/>
    <path d="M688 400V560" stroke="#798487" stroke-opacity=".65" stroke-width="2" fill="none"/>
    <!-- measurement marks -->
    <g stroke="#536064" stroke-width="1.7" fill="none">
      <path d="M510 433h17M510 468h17M510 503h17M510 538h17"/>
      <path d="M510 450h10M510 485h10M510 520h10" stroke-width="1.1"/>
    </g>
    <g font-family="Arial,Helvetica,sans-serif" font-size="12" fill="#536064">
      <text x="534" y="437">1</text><text x="534" y="472">2</text><text x="534" y="507">3</text><text x="534" y="542">4</text>
    </g>
    <!-- bottom external screw neck and thread ridges -->
    <path d="M510 562 Q510 573 520 577 V596 Q520 602 528 604 H672 Q680 602 680 596 V577 Q690 573 690 562" fill="#aeb8b8"/>
    <path d="M520 580H680M520 587H680M523 594H677" stroke="#586467" stroke-width="2" fill="none"/>
    <path d="M520 578Q600 594 680 578" stroke="#596568" stroke-width="1.4" fill="none"/>
  </g>

  <!-- paper filter, shown as a separate flat round disk in perspective -->
  <g class="ink">
    <ellipse cx="600" cy="666" rx="70" ry="20" fill="#eee9d8"/>
    <ellipse cx="600" cy="663" rx="65" ry="16" fill="#fffdf4" stroke="#b7b2a4" stroke-width="1.6"/>
    <ellipse cx="600" cy="663" rx="55" ry="11" fill="none" stroke="#e0dccf" stroke-width="1"/>
  </g>
  <!-- filter cap, underside visible -->
  <g class="ink">
    <path d="M515 724 Q515 716 529 712 C568 701 632 701 671 712 Q685 716 685 724 V747 Q685 756 671 760 C632 771 568 771 529 760 Q515 756 515 747 Z" fill="url(#cap)"/>
    <ellipse cx="600" cy="724" rx="85" ry="24" fill="#626b6e"/>
    <ellipse cx="600" cy="724" rx="72" ry="17" fill="#343b3d" stroke="#aab0ae" stroke-width="1.2"/>
    <!-- perforations -->
    <g fill="#c4c9c6" stroke="#202729" stroke-width=".8">
      <circle cx="600" cy="714" r="3.2"/><circle cx="581" cy="716" r="3.2"/><circle cx="619" cy="716" r="3.2"/>
      <circle cx="565" cy="722" r="3.2"/><circle cx="584" cy="725" r="3.2"/><circle cx="600" cy="725" r="3.2"/><circle cx="616" cy="725" r="3.2"/><circle cx="635" cy="722" r="3.2"/>
      <circle cx="576" cy="733" r="3.2"/><circle cx="600" cy="735" r="3.2"/><circle cx="624" cy="733" r="3.2"/>
    </g>
    <!-- cap edge knurling -->
    <g stroke="#aeb5b3" stroke-width="1" opacity=".85">
      <path d="M527 750l2 8M537 754l2 8M547 757l2 8M557 760l2 8M568 762l1 7M632 762l-1 7M643 760l-2 8M654 757l-2 8M665 754l-2 8M675 750l-2 8"/>
    </g>
  </g>

  <!-- numbered parts and leaders -->
  <g>
    <circle cx="86" cy="214" r="14" fill="#3a474a"/><text x="86" y="214" class="num">1</text>
    <text x="112" y="210" class="label">Plunger</text><text x="112" y="231" class="sub">grip, shaft &amp; rubber seal</text>
    <path class="leader" d="M318 218H412L558 216"/><circle cx="558" cy="216" r="3" fill="#798487"/>

    <circle cx="86" cy="460" r="14" fill="#3a474a"/><text x="86" y="460" class="num">2</text>
    <text x="112" y="456" class="label">Chamber</text><text x="112" y="477" class="sub">brewing cylinder with volume marks</text>
    <path class="leader" d="M365 464H438L494 464"/><circle cx="494" cy="464" r="3" fill="#798487"/>

    <circle cx="868" cy="663" r="14" fill="#3a474a"/><text x="868" y="663" class="num">3</text>
    <text x="894" y="659" class="label">Paper filter</text><text x="894" y="680" class="sub">single round paper disk</text>
    <path class="leader" d="M850 663H770L670 663"/><circle cx="670" cy="663" r="3" fill="#798487"/>

    <circle cx="868" cy="744" r="14" fill="#3a474a"/><text x="868" y="744" class="num">4</text>
    <text x="894" y="740" class="label">Filter cap</text><text x="894" y="761" class="sub">perforated, threaded retaining cap</text>
    <path class="leader" d="M850 744H783L685 744"/><circle cx="685" cy="744" r="3" fill="#798487"/>
  </g>

  <!-- small exploded-gap markers -->
  <g stroke="#a8b0ad" stroke-width="1.2" fill="none">
    <path d="M574 326h52M574 334h52M574 625h52M574 635h52M574 685h52M574 695h52"/>
  </g>
  <path d="M76 824H1124" stroke="#d6d8d2" stroke-width="1.5"/>
  <text x="78" y="851" font-family="Arial,Helvetica,sans-serif" font-size="11" letter-spacing="1.4" fill="#788386">CLASSIC 3-CUP MODEL  /  ROUND FILTER SYSTEM</text>
  <text x="1122" y="851" text-anchor="end" font-family="Arial,Helvetica,sans-serif" font-size="11" letter-spacing="1.4" fill="#788386">EXPLODED VIEW • NOT TO SCALE</text>
</svg>
gallery/Exploded AeroPress/GPT-6 Luna, run 2

Exploded AeroPress: GPT-6 Luna

modelopenai/gpt-6-lunataskexploded-aeropress@v1, checks c1, harness h1date2026-10-05rounds1 of 8 allowed, 12 minutes on the clockcost$0.0030thinkingmediumtokens17,604 in, 4,334 out, of which 686 reasoningtime52 sfailedAll five parts: incomplete, component missing, major, its note said nothing was wrong · Parts fit: false, geometry distorted, major, follows from all five parts, 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 filepass
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.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 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.