Claude Opus 4
RANK 14 · MEOWSCORE 81.2 · previous · US · closed
minimal
“Draw a minimal, flat-design cat as an SVG.”
Claude Opus 4 · minimal · attempt 1 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="#FF6B6B"/>
<polygon points="60,70 50,40 70,50" fill="#FF6B6B"/>
<polygon points="140,70 150,40 130,50" fill="#FF6B6B"/>
<circle cx="80" cy="90" r="5" fill="#2C3E50"/>
<circle cx="120" cy="90" r="5" fill="#2C3E50"/>
<path d="M 90,110 Q 100,120 110,110" fill="none" stroke="#2C3E50" stroke-width="3" stroke-linecap="round"/>
<line x1="100" y1="110" x2="100" y2="100" stroke="#2C3E50" stroke-width="3" stroke-linecap="round"/>
<line x1="40" y1="90" x2="10" y2="85" stroke="#2C3E50" stroke-width="2" stroke-linecap="round"/>
<line x1="40" y1="100" x2="10" y2="100" stroke="#2C3E50" stroke-width="2" stroke-linecap="round"/>
<line x1="160" y1="90" x2="190" y2="85" stroke="#2C3E50" stroke-width="2" stroke-linecap="round"/>
<line x1="160" y1="100" x2="190" y2="100" stroke="#2C3E50" stroke-width="2" stroke-linecap="round"/>
</svg>Claude Opus 4 · minimal · attempt 2 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="100" cy="130" rx="50" ry="40" fill="#FF6B6B"/>
<circle cx="100" cy="80" r="40" fill="#FF6B6B"/>
<polygon points="70,65 60,40 85,50" fill="#FF6B6B"/>
<polygon points="130,65 140,40 115,50" fill="#FF6B6B"/>
<circle cx="85" cy="75" r="4" fill="#000"/>
<circle cx="115" cy="75" r="4" fill="#000"/>
<polygon points="100,85 95,90 105,90" fill="#000"/>
<path d="M 100,90 Q 90,95 85,90" stroke="#000" stroke-width="2" fill="none"/>
<path d="M 100,90 Q 110,95 115,90" stroke="#000" stroke-width="2" fill="none"/>
<line x1="60" y1="80" x2="20" y2="70" stroke="#000" stroke-width="2"/>
<line x1="60" y1="90" x2="20" y2="90" stroke="#000" stroke-width="2"/>
<line x1="140" y1="80" x2="180" y2="70" stroke="#000" stroke-width="2"/>
<line x1="140" y1="90" x2="180" y2="90" stroke="#000" stroke-width="2"/>
<path d="M 150,130 Q 160,140 155,160" stroke="#FF6B6B" stroke-width="8" fill="none" stroke-linecap="round"/>
</svg>Claude Opus 4 · minimal · attempt 3 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="120" r="60" fill="#333333"/>
<polygon points="60,80 50,40 80,60" fill="#333333"/>
<polygon points="140,80 150,40 120,60" fill="#333333"/>
<circle cx="80" cy="110" r="8" fill="#66ff99"/>
<circle cx="120" cy="110" r="8" fill="#66ff99"/>
<circle cx="84" cy="110" r="4" fill="#000000"/>
<circle cx="124" cy="110" r="4" fill="#000000"/>
<polygon points="100,130 90,120 110,120" fill="#ff6b9d"/>
<path d="M 100 130 Q 80 140 70 130" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/>
<path d="M 100 130 Q 120 140 130 130" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/>
<path d="M 40 110 L 10 105" stroke="#333333" stroke-width="3" stroke-linecap="round"/>
<path d="M 40 120 L 10 120" stroke="#333333" stroke-width="3" stroke-linecap="round"/>
<path d="M 160 110 L 190 105" stroke="#333333" stroke-width="3" stroke-linecap="round"/>
<path d="M 160 120 L 190 120" stroke="#333333" stroke-width="3" stroke-linecap="round"/>
</svg>Claude Opus 4 · minimal · attempt 4 · score 8.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="100" cy="130" rx="50" ry="40" fill="#FF6B35"/>
<circle cx="100" cy="80" r="40" fill="#FF6B35"/>
<polygon points="70,60 80,40 90,55" fill="#FF6B35"/>
<polygon points="110,55 120,40 130,60" fill="#FF6B35"/>
<circle cx="85" cy="75" r="3" fill="#000"/>
<circle cx="115" cy="75" r="3" fill="#000"/>
<path d="M 95 85 L 100 90 L 105 85" stroke="#000" stroke-width="2" fill="none" stroke-linecap="round"/>
<path d="M 60 90 L 40 85" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 60 95 L 40 95" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 140 90 L 160 85" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 140 95 L 160 95" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 130 140 Q 140 150 130 160" stroke="#FF6B35" stroke-width="8" fill="none" stroke-linecap="round"/>
</svg>realistic
“Draw a realistic sitting cat with visible fur shading as an SVG.”
Claude Opus 4 · realistic · attempt 1 · score 6.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bodyGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#8B7355;stop-opacity:1" />
<stop offset="50%" style="stop-color:#6B5D4F;stop-opacity:1" />
<stop offset="100%" style="stop-color:#5B4E42;stop-opacity:1" />
</linearGradient>
<radialGradient id="bellyGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#D2B48C;stop-opacity:1" />
<stop offset="100%" style="stop-color:#A0826D;stop-opacity:1" />
</radialGradient>
<filter id="fur">
<feTurbulence type="fractalNoise" baseFrequency="0.02 0.1" numOctaves="4" result="turbulence" seed="5"/>
<feDisplacementMap in="SourceGraphic" in2="turbulence" scale="2" xChannelSelector="R" yChannelSelector="G"/>
</filter>
</defs>
<!-- Shadow -->
<ellipse cx="200" cy="470" rx="120" ry="20" fill="#00000020"/>
<!-- Tail -->
<path d="M 280 400 Q 350 380 370 320 T 340 250 Q 320 220 300 240"
stroke="none" fill="url(#bodyGrad)" filter="url(#fur)">
<animateTransform attributeName="transform" type="rotate"
values="0 280 400;2 280 400;0 280 400" dur="6s" repeatCount="indefinite"/>
</path>
<!-- Back leg -->
<ellipse cx="260" cy="420" rx="50" ry="60" fill="url(#bodyGrad)" transform="rotate(15 260 420)"/>
<path d="M 260 460 Q 270 480 290 480 L 280 460" fill="#5B4E42"/>
<!-- Body -->
<ellipse cx="200" cy="350" rx="100" ry="120" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Belly -->
<ellipse cx="190" cy="370" rx="60" ry="80" fill="url(#bellyGrad)" opacity="0.7"/>
<!-- Front legs -->
<ellipse cx="150" cy="420" rx="35" ry="70" fill="url(#bodyGrad)"/>
<ellipse cx="190" cy="420" rx="35" ry="70" fill="url(#bodyGrad)"/>
<path d="M 130 480 Q 140 490 160 490 L 155 475" fill="#5B4E42"/>
<path d="M 175 480 Q 185 490 205 490 L 200 475" fill="#5B4E42"/>
<!-- Chest fur -->
<path d="M 140 320 Q 170 340 200 320 Q 180 350 160 340 Q 140 350 140 320"
fill="#D2B48C" opacity="0.6" filter="url(#fur)"/>
<!-- Head -->
<ellipse cx="200" cy="200" rx="80" ry="75" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Ears -->
<path d="M 140 180 L 130 140 L 160 160 Z" fill="url(#bodyGrad)"/>
<path d="M 260 180 L 270 140 L 240 160 Z" fill="url(#bodyGrad)"/>
<path d="M 145 160 L 140 150 L 155 158 Z" fill="#FFB6C1" opacity="0.6"/>
<path d="M 255 160 L 260 150 L 245 158 Z" fill="#FFB6C1" opacity="0.6"/>
<!-- Muzzle -->
<ellipse cx="200" cy="220" rx="35" ry="30" fill="#D2B48C" opacity="0.8"/>
<!-- Eyes -->
<ellipse cx="175" cy="195" rx="15" ry="18" fill="#2F4F2F"/>
<ellipse cx="225" cy="195" rx="15" ry="18" fill="#2F4F2F"/>
<ellipse cx="178" cy="190" rx="5" ry="6" fill="#90EE90"/>
<ellipse cx="228" cy="190" rx="5" ry="6" fill="#90EE90"/>
<ellipse cx="180" cy="188" rx="2" ry="3" fill="white"/>
<ellipse cx="230" cy="188" rx="2" ry="3" fill="white"/>
<!-- Nose -->
<path d="M 200 230 L 190 235 L 200 240 L 210 235 Z" fill="#8B4513"/>
<!-- Mouth -->
<path d="M 200 240 Q 190 245 185 240 M 200 240 Q 210 245 215 240"
stroke="#8B4513" stroke-width="2" fill="none"/>
<!-- Whiskers -->
<line x1="120" y1="210" x2="80" y2="205" stroke="#444" stroke-width="1.5" opacity="0.8"/>
<line x1="125" y1="220" x2="85" y2="220" stroke="#444" stroke-width="1.5" opacity="0.8"/>
<line x1="280" y1="210" x2="320" y2="205" stroke="#444" stroke-width="1.5" opacity="0.8"/>
<line x1="275" y1="220" x2="315" y2="220" stroke="#444" stroke-width="1.5" opacity="0.8"/>
<!-- Fur stripes -->
<path d="M 150 170 Q 160 175 170 170 M 230 170 Q 240 175 250 170"
stroke="#5B4E42" stroke-width="3" fill="none" opacity="0.6"/>
<path d="M 140 260 Q 150 265 160 260 M 240 260 Q 250 265 260 260"
stroke="#5B4E42" stroke-width="4" fill="none" opacity="0.5"/>
<path d="M 130 300 Q 140 305 150 300 M 250 300 Q 260 305 270 300"
stroke="#5B4E42" stroke-width="5" fill="none" opacity="0.4"/>
</svg>Claude Opus 4 · realistic · attempt 2 · score 6.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="bodyGrad" cx="50%" cy="40%">
<stop offset="0%" style="stop-color:#d4a373"/>
<stop offset="100%" style="stop-color:#8b6339"/>
</radialGradient>
<filter id="fur">
<feTurbulence baseFrequency="0.02 0.1" numOctaves="4" result="turbulence" seed="5"/>
<feComposite operator="in" in="turbulence" in2="SourceAlpha"/>
</filter>
<pattern id="furPattern" x="0" y="0" width="3" height="3" patternUnits="userSpaceOnUse">
<line x1="0" y1="0" x2="0" y2="3" stroke="#8b6339" stroke-width="0.5" opacity="0.3"/>
<line x1="1.5" y1="0" x2="1.5" y2="3" stroke="#654321" stroke-width="0.3" opacity="0.2"/>
</pattern>
</defs>
<!-- Shadow -->
<ellipse cx="200" cy="480" rx="120" ry="15" fill="#000000" opacity="0.2"/>
<!-- Tail -->
<path d="M 280 380 Q 340 370, 350 320 T 340 250 Q 335 220, 320 200"
fill="none" stroke="url(#bodyGrad)" stroke-width="35" stroke-linecap="round"/>
<path d="M 280 380 Q 340 370, 350 320 T 340 250 Q 335 220, 320 200"
fill="none" stroke="url(#furPattern)" stroke-width="35" stroke-linecap="round" opacity="0.5"/>
<!-- Body -->
<ellipse cx="200" cy="350" rx="100" ry="120" fill="url(#bodyGrad)"/>
<ellipse cx="200" cy="350" rx="100" ry="120" fill="url(#furPattern)" opacity="0.4"/>
<!-- Chest fur -->
<ellipse cx="180" cy="330" rx="40" ry="60" fill="#f5deb3" opacity="0.6"/>
<ellipse cx="180" cy="330" rx="40" ry="60" fill="url(#furPattern)" opacity="0.3"/>
<!-- Head -->
<circle cx="200" cy="180" r="80" fill="url(#bodyGrad)"/>
<circle cx="200" cy="180" r="80" fill="url(#furPattern)" opacity="0.4"/>
<!-- Ears -->
<path d="M 140 140 Q 120 100, 140 120 L 160 160 Z" fill="url(#bodyGrad)"/>
<path d="M 260 140 Q 280 100, 260 120 L 240 160 Z" fill="url(#bodyGrad)"/>
<path d="M 145 130 L 155 150 L 150 130 Z" fill="#ffb6c1" opacity="0.6"/>
<path d="M 255 130 L 245 150 L 250 130 Z" fill="#ffb6c1" opacity="0.6"/>
<!-- Face stripes -->
<path d="M 120 170 Q 130 175, 140 170" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<path d="M 115 180 Q 125 185, 135 180" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<path d="M 120 190 Q 130 195, 140 190" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<path d="M 280 170 Q 270 175, 260 170" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<path d="M 285 180 Q 275 185, 265 180" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<path d="M 280 190 Q 270 195, 260 190" fill="none" stroke="#654321" stroke-width="2" opacity="0.4"/>
<!-- Eyes -->
<ellipse cx="170" cy="180" rx="15" ry="20" fill="#228b22"/>
<ellipse cx="230" cy="180" rx="15" ry="20" fill="#228b22"/>
<ellipse cx="170" cy="185" rx="8" ry="15" fill="#000000"/>
<ellipse cx="230" cy="185" rx="8" ry="15" fill="#000000"/>
<circle cx="175" cy="175" r="4" fill="#ffffff" opacity="0.8"/>
<circle cx="235" cy="175" r="4" fill="#ffffff" opacity="0.8"/>
<!-- Nose and mouth -->
<path d="M 190 205 Q 200 200, 210 205 Q 200 210, 190 205" fill="#ff69b4"/>
<path d="M 200 208 Q 190 215, 185 220" fill="none" stroke="#8b6339" stroke-width="2"/>
<path d="M 200 208 Q 210 215, 215 220" fill="none" stroke="#8b6339" stroke-width="2"/>
<!-- Front paws -->
<ellipse cx="160" cy="440" rx="30" ry="40" fill="url(#bodyGrad)"/>
<ellipse cx="240" cy="440" rx="30" ry="40" fill="url(#bodyGrad)"/>
<ellipse cx="160" cy="440" rx="30" ry="40" fill="url(#furPattern)" opacity="0.4"/>
<ellipse cx="240" cy="440" rx="30" ry="40" fill="url(#furPattern)" opacity="0.4"/>
<!-- Paw pads -->
<ellipse cx="160" cy="465" rx="15" ry="10" fill="#ff69b4" opacity="0.6"/>
<ellipse cx="240" cy="465" rx="15" ry="10" fill="#ff69b4" opacity="0.6"/>
<!-- Whiskers -->
<line x1="80" y1="200" x2="130" y2="195" stroke="#ffffff" stroke-width="1.5" opacity="0.8"/>
<line x1="75" y1="210" x2="125" y2="205" stroke="#ffffff" stroke-width="1.5" opacity="0.8"/>
<line x1="270" y1="195" x2="320" y2="200" stroke="#ffffff" stroke-width="1.5" opacity="0.8"/>
<line x1="275" y1="205" x2="325" y2="210" stroke="#ffffff" stroke-width="1.5" opacity="0.8"/>
</svg>Claude Opus 4 · realistic · attempt 3 · score 6.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="fur">
<feTurbulence baseFrequency="0.02 0.1" numOctaves="4" result="turbulence" seed="5"/>
<feDisplacementMap in="SourceGraphic" in2="turbulence" scale="2"/>
</filter>
<linearGradient id="bodyGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#8B7355;stop-opacity:1"/>
<stop offset="50%" style="stop-color:#A0826D;stop-opacity:1"/>
<stop offset="100%" style="stop-color:#6B5D54;stop-opacity:1"/>
</linearGradient>
<radialGradient id="eyeGrad">
<stop offset="0%" style="stop-color:#7FB069;stop-opacity:1"/>
<stop offset="70%" style="stop-color:#588B3E;stop-opacity:1"/>
<stop offset="100%" style="stop-color:#3C5A2E;stop-opacity:1"/>
</radialGradient>
</defs>
<!-- Shadow -->
<ellipse cx="200" cy="480" rx="120" ry="20" fill="#00000020"/>
<!-- Body -->
<path d="M 150 350 Q 100 360 90 400 Q 85 440 110 470 L 290 470 Q 315 440 310 400 Q 300 360 250 350 Q 200 340 150 350"
fill="url(#bodyGrad)" stroke="#5C4A42" stroke-width="1" filter="url(#fur)"/>
<!-- Chest fur -->
<path d="M 170 380 Q 200 370 230 380 Q 210 420 200 450 Q 190 420 170 380"
fill="#D4C5B9" opacity="0.8" filter="url(#fur)"/>
<!-- Head -->
<ellipse cx="200" cy="280" rx="85" ry="75" fill="url(#bodyGrad)" stroke="#5C4A42" stroke-width="1" filter="url(#fur)"/>
<!-- Ears -->
<path d="M 140 240 Q 130 200 145 210 Q 160 220 165 250" fill="#8B7355" stroke="#5C4A42" stroke-width="1"/>
<path d="M 260 240 Q 270 200 255 210 Q 240 220 235 250" fill="#8B7355" stroke="#5C4A42" stroke-width="1"/>
<path d="M 145 220 Q 150 210 155 220" fill="#FFB6C1" opacity="0.6"/>
<path d="M 255 220 Q 250 210 245 220" fill="#FFB6C1" opacity="0.6"/>
<!-- Face stripes -->
<path d="M 120 270 Q 140 275 150 270" fill="none" stroke="#5C4A42" stroke-width="2" opacity="0.6"/>
<path d="M 115 280 Q 135 285 145 280" fill="none" stroke="#5C4A42" stroke-width="2" opacity="0.6"/>
<path d="M 280 270 Q 260 275 250 270" fill="none" stroke="#5C4A42" stroke-width="2" opacity="0.6"/>
<path d="M 285 280 Q 265 285 255 280" fill="none" stroke="#5C4A42" stroke-width="2" opacity="0.6"/>
<!-- Eyes -->
<ellipse cx="170" cy="275" rx="15" ry="18" fill="url(#eyeGrad)"/>
<ellipse cx="230" cy="275" rx="15" ry="18" fill="url(#eyeGrad)"/>
<ellipse cx="172" cy="272" rx="8" ry="12" fill="#000000"/>
<ellipse cx="228" cy="272" rx="8" ry="12" fill="#000000"/>
<ellipse cx="175" cy="268" rx="3" ry="4" fill="#FFFFFF" opacity="0.8"/>
<ellipse cx="225" cy="268" rx="3" ry="4" fill="#FFFFFF" opacity="0.8"/>
<!-- Nose -->
<path d="M 200 295 Q 195 300 200 305 Q 205 300 200 295" fill="#4A3C37"/>
<!-- Mouth -->
<path d="M 200 305 Q 190 310 185 305" fill="none" stroke="#4A3C37" stroke-width="1.5"/>
<path d="M 200 305 Q 210 310 215 305" fill="none" stroke="#4A3C37" stroke-width="1.5"/>
<!-- Front paws -->
<ellipse cx="170" cy="470" rx="25" ry="15" fill="#8B7355" stroke="#5C4A42" stroke-width="1"/>
<ellipse cx="230" cy="470" rx="25" ry="15" fill="#8B7355" stroke="#5C4A42" stroke-width="1"/>
<!-- Tail -->
<path d="M 290 420 Q 340 400 350 350 Q 355 320 340 300 Q 330 290 320 300 Q 315 320 310 350 Q 305 380 290 400"
fill="url(#bodyGrad)" stroke="#5C4A42" stroke-width="1" filter="url(#fur)"/>
<!-- Whiskers -->
<line x1="100" y1="285" x2="60" y2="280" stroke="#F5F5F5" stroke-width="1.5" opacity="0.8"/>
<line x1="100" y1="295" x2="55" y2="295" stroke="#F5F5F5" stroke-width="1.5" opacity="0.8"/>
<line x1="300" y1="285" x2="340" y2="280" stroke="#F5F5F5" stroke-width="1.5" opacity="0.8"/>
<line x1="300" y1="295" x2="345" y2="295" stroke="#F5F5F5" stroke-width="1.5" opacity="0.8"/>
</svg>Claude Opus 4 · realistic · attempt 4 · score 6.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 300 400" xmlns="http://www.w3.org/2000/svg">
<defs>
<radialGradient id="bodyGrad" cx="50%" cy="40%" r="60%">
<stop offset="0%" stop-color="#d4a574"/>
<stop offset="100%" stop-color="#8b6842"/>
</radialGradient>
<radialGradient id="bellyGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#f5deb3"/>
<stop offset="100%" stop-color="#d4a574"/>
</radialGradient>
<filter id="fur">
<feTurbulence type="fractalNoise" baseFrequency="0.02" numOctaves="4" result="turbulence"/>
<feDisplacementMap in="SourceGraphic" in2="turbulence" scale="3"/>
</filter>
</defs>
<!-- Shadow -->
<ellipse cx="150" cy="380" rx="80" ry="20" fill="rgba(0,0,0,0.2)"/>
<!-- Body -->
<ellipse cx="150" cy="280" rx="70" ry="90" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Belly -->
<ellipse cx="150" cy="300" rx="45" ry="60" fill="url(#bellyGrad)" opacity="0.7"/>
<!-- Head -->
<circle cx="150" cy="180" r="50" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Ears -->
<path d="M 115 160 Q 105 140 115 155 Q 125 165 115 160" fill="#8b6842" stroke="#6b5637" stroke-width="1"/>
<path d="M 185 160 Q 195 140 185 155 Q 175 165 185 160" fill="#8b6842" stroke="#6b5637" stroke-width="1"/>
<path d="M 120 155 Q 115 145 120 153" fill="#daa569" opacity="0.7"/>
<path d="M 180 155 Q 185 145 180 153" fill="#daa569" opacity="0.7"/>
<!-- Eyes -->
<ellipse cx="135" cy="175" rx="8" ry="12" fill="#5d8c3a"/>
<ellipse cx="165" cy="175" rx="8" ry="12" fill="#5d8c3a"/>
<ellipse cx="135" cy="177" rx="3" ry="8" fill="#000"/>
<ellipse cx="165" cy="177" rx="3" ry="8" fill="#000"/>
<ellipse cx="137" cy="173" rx="2" ry="3" fill="#fff" opacity="0.8"/>
<ellipse cx="167" cy="173" rx="2" ry="3" fill="#fff" opacity="0.8"/>
<!-- Nose -->
<path d="M 150 190 L 145 195 L 150 198 L 155 195 Z" fill="#d4737f"/>
<!-- Mouth -->
<path d="M 150 198 Q 140 205 130 200" fill="none" stroke="#6b5637" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 150 198 Q 160 205 170 200" fill="none" stroke="#6b5637" stroke-width="1.5" stroke-linecap="round"/>
<!-- Whiskers -->
<path d="M 80 175 L 110 178" stroke="#4a4a4a" stroke-width="1" opacity="0.7"/>
<path d="M 85 185 L 110 183" stroke="#4a4a4a" stroke-width="1" opacity="0.7"/>
<path d="M 190 178 L 220 175" stroke="#4a4a4a" stroke-width="1" opacity="0.7"/>
<path d="M 190 183 L 215 185" stroke="#4a4a4a" stroke-width="1" opacity="0.7"/>
<!-- Front paws -->
<ellipse cx="120" cy="355" rx="18" ry="25" fill="#8b6842" filter="url(#fur)"/>
<ellipse cx="180" cy="355" rx="18" ry="25" fill="#8b6842" filter="url(#fur)"/>
<ellipse cx="120" cy="370" rx="15" ry="12" fill="#6b5637"/>
<ellipse cx="180" cy="370" rx="15" ry="12" fill="#6b5637"/>
<!-- Tail -->
<path d="M 210 300 Q 240 280 245 250 Q 250 220 240 200" fill="none" stroke="url(#bodyGrad)" stroke-width="30" stroke-linecap="round" filter="url(#fur)"/>
<!-- Fur stripes -->
<path d="M 120 240 Q 130 242 140 240" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<path d="M 160 240 Q 170 242 180 240" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<path d="M 110 260 Q 125 262 140 260" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<path d="M 160 260 Q 175 262 190 260" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<path d="M 115 280 Q 130 282 145 280" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<path d="M 155 280 Q 170 282 185 280" stroke="#8b6842" stroke-width="3" opacity="0.5"/>
<!-- Chest fur -->
<path d="M 130 220 Q 135 225 140 220 M 140 220 Q 145 225 150 220 M 150 220 Q 155 225 160 220 M 160 220 Q 165 225 170 220" stroke="#d4a574" stroke-width="2" opacity="0.6" fill="none"/>
</svg>action
“Draw a cat riding a bicycle as an SVG.”
Claude Opus 4 · action · attempt 1 · score 8.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle wheels -->
<circle cx="120" cy="220" r="40" fill="none" stroke="#333" stroke-width="3"/>
<circle cx="280" cy="220" r="40" fill="none" stroke="#333" stroke-width="3"/>
<!-- Wheel spokes -->
<line x1="120" y1="180" x2="120" y2="260" stroke="#333" stroke-width="2"/>
<line x1="80" y1="220" x2="160" y2="220" stroke="#333" stroke-width="2"/>
<line x1="280" y1="180" x2="280" y2="260" stroke="#333" stroke-width="2"/>
<line x1="240" y1="220" x2="320" y2="220" stroke="#333" stroke-width="2"/>
<!-- Bicycle frame -->
<line x1="120" y1="220" x2="200" y2="160" stroke="#ff4444" stroke-width="4"/>
<line x1="200" y1="160" x2="280" y2="220" stroke="#ff4444" stroke-width="4"/>
<line x1="200" y1="160" x2="200" y2="120" stroke="#ff4444" stroke-width="4"/>
<line x1="200" y1="140" x2="240" y2="130" stroke="#ff4444" stroke-width="4"/>
<!-- Bicycle seat -->
<ellipse cx="200" cy="120" rx="25" ry="8" fill="#8B4513"/>
<!-- Handlebars -->
<line x1="240" y1="130" x2="250" y2="110" stroke="#333" stroke-width="4"/>
<line x1="250" y1="110" x2="230" y2="105" stroke="#333" stroke-width="4"/>
<line x1="250" y1="110" x2="265" y2="105" stroke="#333" stroke-width="4"/>
<!-- Pedals -->
<line x1="200" y1="200" x2="185" y2="210" stroke="#333" stroke-width="3"/>
<line x1="200" y1="200" x2="215" y2="190" stroke="#333" stroke-width="3"/>
<!-- Cat body -->
<ellipse cx="190" cy="90" rx="45" ry="35" fill="#FFA500"/>
<!-- Cat head -->
<circle cx="230" cy="75" r="25" fill="#FFA500"/>
<!-- Cat ears -->
<path d="M215 60 L210 45 L220 55 Z" fill="#FFA500"/>
<path d="M245 60 L250 45 L240 55 Z" fill="#FFA500"/>
<!-- Cat inner ears -->
<path d="M214 55 L212 50 L216 53 Z" fill="#FFB6C1"/>
<path d="M244 55 L246 50 L242 53 Z" fill="#FFB6C1"/>
<!-- Cat face -->
<circle cx="220" cy="72" r="2" fill="#000"/>
<circle cx="240" cy="72" r="2" fill="#000"/>
<path d="M230 78 Q225 82 220 78" fill="none" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<path d="M230 78 Q235 82 240 78" fill="none" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<!-- Cat nose -->
<path d="M230 78 L227 75 L233 75 Z" fill="#FFB6C1"/>
<!-- Cat whiskers -->
<line x1="205" y1="72" x2="190" y2="70" stroke="#000" stroke-width="1"/>
<line x1="205" y1="76" x2="190" y2="76" stroke="#000" stroke-width="1"/>
<line x1="255" y1="72" x2="270" y2="70" stroke="#000" stroke-width="1"/>
<line x1="255" y1="76" x2="270" y2="76" stroke="#000" stroke-width="1"/>
<!-- Cat front paws on handlebars -->
<ellipse cx="235" cy="115" rx="8" ry="12" fill="#FFA500" transform="rotate(-20 235 115)"/>
<ellipse cx="255" cy="110" rx="8" ry="12" fill="#FFA500" transform="rotate(20 255 110)"/>
<!-- Cat back paws on pedals -->
<ellipse cx="185" cy="190" rx="8" ry="12" fill="#FFA500" transform="rotate(45 185 190)"/>
<ellipse cx="215" cy="180" rx="8" ry="12" fill="#FFA500" transform="rotate(-45 215 180)"/>
<!-- Cat tail -->
<path d="M150 90 Q130 70 140 50 Q145 40 150 45" fill="none" stroke="#FFA500" stroke-width="18" stroke-linecap="round"/>
<!-- Cat stripes -->
<path d="M170 85 Q175 90 170 95" fill="none" stroke="#FF8C00" stroke-width="3"/>
<path d="M180 80 Q185 85 180 90" fill="none" stroke="#FF8C00" stroke-width="3"/>
<path d="M190 75 Q195 80 190 85" fill="none" stroke="#FF8C00" stroke-width="3"/>
</svg>Claude Opus 4 · action · attempt 2 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle wheels -->
<circle cx="120" cy="220" r="40" fill="none" stroke="black" stroke-width="3"/>
<circle cx="280" cy="220" r="40" fill="none" stroke="black" stroke-width="3"/>
<!-- Wheel spokes -->
<line x1="120" y1="180" x2="120" y2="260" stroke="black" stroke-width="1"/>
<line x1="80" y1="220" x2="160" y2="220" stroke="black" stroke-width="1"/>
<line x1="280" y1="180" x2="280" y2="260" stroke="black" stroke-width="1"/>
<line x1="240" y1="220" x2="320" y2="220" stroke="black" stroke-width="1"/>
<!-- Bicycle frame -->
<line x1="120" y1="220" x2="200" y2="140" stroke="black" stroke-width="3"/>
<line x1="200" y1="140" x2="280" y2="220" stroke="black" stroke-width="3"/>
<line x1="200" y1="140" x2="200" y2="100" stroke="black" stroke-width="3"/>
<line x1="120" y1="220" x2="180" y2="180" stroke="black" stroke-width="3"/>
<!-- Pedals -->
<circle cx="200" cy="180" r="15" fill="none" stroke="black" stroke-width="2"/>
<line x1="190" y1="175" x2="210" y2="185" stroke="black" stroke-width="2"/>
<!-- Handlebars -->
<line x1="200" y1="100" x2="180" y2="90" stroke="black" stroke-width="3"/>
<line x1="200" y1="100" x2="220" y2="90" stroke="black" stroke-width="3"/>
<!-- Cat body -->
<ellipse cx="200" cy="120" rx="50" ry="35" fill="orange" stroke="black" stroke-width="2"/>
<!-- Cat head -->
<circle cx="240" cy="100" r="25" fill="orange" stroke="black" stroke-width="2"/>
<!-- Cat ears -->
<path d="M225 85 L220 70 L235 75 Z" fill="orange" stroke="black" stroke-width="2"/>
<path d="M255 85 L260 70 L245 75 Z" fill="orange" stroke="black" stroke-width="2"/>
<!-- Cat eyes -->
<circle cx="235" cy="95" r="3" fill="black"/>
<circle cx="250" cy="95" r="3" fill="black"/>
<!-- Cat nose -->
<path d="M242 102 L238 105 L246 105 Z" fill="pink"/>
<!-- Cat mouth -->
<path d="M242 105 Q235 110 230 105" fill="none" stroke="black" stroke-width="1"/>
<path d="M242 105 Q249 110 254 105" fill="none" stroke="black" stroke-width="1"/>
<!-- Cat whiskers -->
<line x1="220" y1="98" x2="205" y2="95" stroke="black" stroke-width="1"/>
<line x1="220" y1="102" x2="205" y2="102" stroke="black" stroke-width="1"/>
<line x1="265" y1="98" x2="280" y2="95" stroke="black" stroke-width="1"/>
<line x1="265" y1="102" x2="280" y2="102" stroke="black" stroke-width="1"/>
<!-- Cat paws on handlebars -->
<ellipse cx="185" cy="90" rx="8" ry="12" fill="orange" stroke="black" stroke-width="2"/>
<ellipse cx="215" cy="90" rx="8" ry="12" fill="orange" stroke="black" stroke-width="2"/>
<!-- Cat back legs on pedals -->
<ellipse cx="195" cy="155" rx="10" ry="15" fill="orange" stroke="black" stroke-width="2"/>
<ellipse cx="205" cy="155" rx="10" ry="15" fill="orange" stroke="black" stroke-width="2"/>
<!-- Cat tail -->
<path d="M150 120 Q120 90 140 60" fill="none" stroke="orange" stroke-width="12"/>
<path d="M150 120 Q120 90 140 60" fill="none" stroke="black" stroke-width="2"/>
</svg>Claude Opus 4 · action · attempt 3 · score 7.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle -->
<!-- Back wheel -->
<circle cx="100" cy="220" r="40" fill="none" stroke="black" stroke-width="3"/>
<circle cx="100" cy="220" r="3" fill="black"/>
<!-- Front wheel -->
<circle cx="250" cy="220" r="40" fill="none" stroke="black" stroke-width="3"/>
<circle cx="250" cy="220" r="3" fill="black"/>
<!-- Frame -->
<line x1="100" y1="220" x2="150" y2="160" stroke="black" stroke-width="3"/>
<line x1="150" y1="160" x2="200" y2="160" stroke="black" stroke-width="3"/>
<line x1="200" y1="160" x2="250" y2="220" stroke="black" stroke-width="3"/>
<line x1="150" y1="160" x2="150" y2="140" stroke="black" stroke-width="3"/>
<line x1="200" y1="160" x2="200" y2="120" stroke="black" stroke-width="3"/>
<!-- Seat -->
<ellipse cx="150" cy="135" rx="15" ry="5" fill="brown"/>
<!-- Handlebars -->
<line x1="200" y1="120" x2="190" y2="115" stroke="black" stroke-width="3"/>
<line x1="200" y1="120" x2="210" y2="115" stroke="black" stroke-width="3"/>
<!-- Pedals -->
<circle cx="150" cy="190" r="5" fill="black"/>
<line x1="145" y1="190" x2="155" y2="190" stroke="black" stroke-width="2"/>
<!-- Cat -->
<!-- Body -->
<ellipse cx="150" cy="110" rx="35" ry="25" fill="orange"/>
<!-- Head -->
<circle cx="180" cy="100" r="20" fill="orange"/>
<!-- Ears -->
<path d="M165 90 L160 80 L170 85 Z" fill="orange"/>
<path d="M195 90 L200 80 L190 85 Z" fill="orange"/>
<!-- Eyes -->
<circle cx="175" cy="100" r="3" fill="black"/>
<circle cx="185" cy="100" r="3" fill="black"/>
<!-- Nose -->
<path d="M180 105 L178 108 L182 108 Z" fill="pink"/>
<!-- Mouth -->
<path d="M180 108 Q175 110 170 108" fill="none" stroke="black" stroke-width="1"/>
<path d="M180 108 Q185 110 190 108" fill="none" stroke="black" stroke-width="1"/>
<!-- Front legs on handlebars -->
<ellipse cx="195" cy="115" rx="4" ry="15" fill="orange" transform="rotate(-30 195 115)"/>
<ellipse cx="205" cy="115" rx="4" ry="15" fill="orange" transform="rotate(30 205 115)"/>
<!-- Back legs on pedals -->
<ellipse cx="145" cy="175" rx="5" ry="20" fill="orange" transform="rotate(-10 145 175)"/>
<ellipse cx="155" cy="175" rx="5" ry="20" fill="orange" transform="rotate(10 155 175)"/>
<!-- Tail -->
<path d="M115 110 Q100 90 110 70" fill="none" stroke="orange" stroke-width="10" stroke-linecap="round"/>
<!-- Stripes -->
<line x1="130" y1="100" x2="135" y2="120" stroke="darkgray" stroke-width="3"/>
<line x1="140" y1="95" x2="145" y2="115" stroke="darkgray" stroke-width="3"/>
<line x1="150" y1="90" x2="155" y2="110" stroke="darkgray" stroke-width="3"/>
</svg>Claude Opus 4 · action · attempt 4 · score 7.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle -->
<!-- Back wheel -->
<circle cx="120" cy="220" r="35" fill="none" stroke="#333" stroke-width="3"/>
<circle cx="120" cy="220" r="3" fill="#333"/>
<!-- Front wheel -->
<circle cx="280" cy="220" r="35" fill="none" stroke="#333" stroke-width="3"/>
<circle cx="280" cy="220" r="3" fill="#333"/>
<!-- Frame -->
<path d="M120 220 L180 160 L280 220 M180 160 L180 140 L160 130 M180 140 L200 145" fill="none" stroke="#333" stroke-width="3"/>
<!-- Handlebars -->
<path d="M275 160 L280 155 L290 155 M270 155 L280 155" fill="none" stroke="#333" stroke-width="3"/>
<!-- Seat -->
<ellipse cx="160" cy="130" rx="15" ry="5" fill="#333"/>
<!-- Pedals -->
<circle cx="180" cy="200" r="15" fill="none" stroke="#333" stroke-width="2"/>
<line x1="180" y1="200" x2="190" y2="210" stroke="#333" stroke-width="2"/>
<line x1="180" y1="200" x2="170" y2="190" stroke="#333" stroke-width="2"/>
<!-- Cat -->
<!-- Body -->
<ellipse cx="170" cy="110" rx="30" ry="25" fill="#ff8c42" stroke="#333" stroke-width="2"/>
<!-- Head -->
<circle cx="200" cy="100" r="20" fill="#ff8c42" stroke="#333" stroke-width="2"/>
<!-- Ears -->
<path d="M185 90 L180 75 L190 85 Z" fill="#ff8c42" stroke="#333" stroke-width="2"/>
<path d="M215 90 L220 75 L210 85 Z" fill="#ff8c42" stroke="#333" stroke-width="2"/>
<!-- Eyes -->
<circle cx="195" cy="98" r="3" fill="#333"/>
<circle cx="208" cy="98" r="3" fill="#333"/>
<!-- Nose -->
<path d="M200 105 L198 107 L202 107 Z" fill="#ff69b4"/>
<!-- Whiskers -->
<line x1="185" y1="105" x2="170" y2="103" stroke="#333" stroke-width="1"/>
<line x1="185" y1="108" x2="170" y2="110" stroke="#333" stroke-width="1"/>
<line x1="215" y1="105" x2="230" y2="103" stroke="#333" stroke-width="1"/>
<line x1="215" y1="108" x2="230" y2="110" stroke="#333" stroke-width="1"/>
<!-- Front paws on handlebars -->
<ellipse cx="275" cy="155" rx="8" ry="12" fill="#ff8c42" stroke="#333" stroke-width="2" transform="rotate(-30 275 155)"/>
<ellipse cx="285" cy="155" rx="8" ry="12" fill="#ff8c42" stroke="#333" stroke-width="2" transform="rotate(30 285 155)"/>
<!-- Back paws on pedals -->
<ellipse cx="185" cy="195" rx="8" ry="12" fill="#ff8c42" stroke="#333" stroke-width="2" transform="rotate(45 185 195)"/>
<ellipse cx="175" cy="195" rx="8" ry="12" fill="#ff8c42" stroke="#333" stroke-width="2" transform="rotate(-45 175 195)"/>
<!-- Tail -->
<path d="M145 110 Q120 90 130 70" fill="none" stroke="#ff8c42" stroke-width="12" stroke-linecap="round"/>
<path d="M145 110 Q120 90 130 70" fill="none" stroke="#333" stroke-width="2" stroke-linecap="round"/>
<!-- Stripes -->
<path d="M155 100 L160 100 M165 95 L170 95 M175 100 L180 100 M160 115 L165 115 M170 120 L175 120" stroke="#d2691e" stroke-width="3" stroke-linecap="round"/>
</svg>style
“Draw an origami-style cat with geometric folds as an SVG.”
Claude Opus 4 · style · attempt 1 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="fold1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f5f5f5" />
<stop offset="100%" style="stop-color:#e0e0e0" />
</linearGradient>
<linearGradient id="fold2" x1="100%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#e8e8e8" />
<stop offset="100%" style="stop-color:#d0d0d0" />
</linearGradient>
<linearGradient id="fold3" x1="50%" y1="0%" x2="50%" y2="100%">
<stop offset="0%" style="stop-color:#fafafa" />
<stop offset="100%" style="stop-color:#e5e5e5" />
</linearGradient>
</defs>
<!-- Head base -->
<polygon points="100,40 140,80 100,120 60,80" fill="url(#fold1)" stroke="#999" stroke-width="0.5"/>
<!-- Left ear -->
<polygon points="60,80 50,50 80,60" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<!-- Right ear -->
<polygon points="140,80 150,50 120,60" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<!-- Face fold -->
<polygon points="100,80 80,90 100,120" fill="#f0f0f0" stroke="#999" stroke-width="0.5"/>
<polygon points="100,80 120,90 100,120" fill="#e5e5e5" stroke="#999" stroke-width="0.5"/>
<!-- Body -->
<polygon points="100,120 80,140 80,180 100,190 120,180 120,140" fill="url(#fold3)" stroke="#999" stroke-width="0.5"/>
<!-- Body center fold -->
<line x1="100" y1="120" x2="100" y2="190" stroke="#999" stroke-width="0.5"/>
<!-- Legs -->
<polygon points="80,180 70,190 80,200" fill="#e0e0e0" stroke="#999" stroke-width="0.5"/>
<polygon points="120,180 130,190 120,200" fill="#e0e0e0" stroke="#999" stroke-width="0.5"/>
<!-- Tail -->
<polygon points="120,160 140,150 135,180 120,180" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<!-- Eyes -->
<circle cx="88" cy="85" r="2" fill="#333"/>
<circle cx="112" cy="85" r="2" fill="#333"/>
<!-- Nose -->
<polygon points="100,95 95,100 105,100" fill="#999"/>
<!-- Whiskers -->
<line x1="65" y1="90" x2="45" y2="88" stroke="#666" stroke-width="0.5"/>
<line x1="65" y1="95" x2="45" y2="95" stroke="#666" stroke-width="0.5"/>
<line x1="135" y1="90" x2="155" y2="88" stroke="#666" stroke-width="0.5"/>
<line x1="135" y1="95" x2="155" y2="95" stroke="#666" stroke-width="0.5"/>
</svg>Claude Opus 4 · style · attempt 2 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="fold1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f0f0f0"/>
<stop offset="100%" style="stop-color:#d0d0d0"/>
</linearGradient>
<linearGradient id="fold2" x1="100%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#e8e8e8"/>
<stop offset="100%" style="stop-color:#c8c8c8"/>
</linearGradient>
</defs>
<!-- Head -->
<polygon points="100,50 130,90 100,110 70,90" fill="url(#fold1)" stroke="#999" stroke-width="0.5"/>
<!-- Left ear -->
<polygon points="70,90 60,60 85,70" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<polygon points="60,60 70,50 85,70" fill="#e0e0e0" stroke="#999" stroke-width="0.5"/>
<!-- Right ear -->
<polygon points="130,90 140,60 115,70" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<polygon points="140,60 130,50 115,70" fill="#e0e0e0" stroke="#999" stroke-width="0.5"/>
<!-- Body -->
<polygon points="100,110 120,130 115,160 85,160 80,130" fill="url(#fold1)" stroke="#999" stroke-width="0.5"/>
<!-- Front legs -->
<polygon points="85,160 85,180 90,180 90,160" fill="#d8d8d8" stroke="#999" stroke-width="0.5"/>
<polygon points="110,160 110,180 115,180 115,160" fill="#d8d8d8" stroke="#999" stroke-width="0.5"/>
<!-- Tail -->
<polygon points="120,130 140,140 135,155 115,150" fill="url(#fold2)" stroke="#999" stroke-width="0.5"/>
<!-- Face details -->
<circle cx="90" cy="85" r="2" fill="#666"/>
<circle cx="110" cy="85" r="2" fill="#666"/>
<polygon points="100,95 95,90 105,90" fill="#999"/>
<!-- Whiskers -->
<line x1="70" y1="85" x2="55" y2="83" stroke="#999" stroke-width="0.5"/>
<line x1="70" y1="90" x2="55" y2="90" stroke="#999" stroke-width="0.5"/>
<line x1="130" y1="85" x2="145" y2="83" stroke="#999" stroke-width="0.5"/>
<line x1="130" y1="90" x2="145" y2="90" stroke="#999" stroke-width="0.5"/>
</svg>Claude Opus 4 · style · attempt 3 · score 9.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="fold1" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f0f0f0"/>
<stop offset="100%" style="stop-color:#d0d0d0"/>
</linearGradient>
<linearGradient id="fold2" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#e8e8e8"/>
<stop offset="100%" style="stop-color:#c8c8c8"/>
</linearGradient>
<linearGradient id="fold3" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#e0e0e0"/>
<stop offset="100%" style="stop-color:#b8b8b8"/>
</linearGradient>
</defs>
<!-- Body -->
<polygon points="200,280 120,380 280,380" fill="url(#fold1)" stroke="#999" stroke-width="1"/>
<polygon points="200,280 280,380 340,340 320,260" fill="url(#fold2)" stroke="#999" stroke-width="1"/>
<polygon points="200,280 80,340 120,380" fill="url(#fold3)" stroke="#999" stroke-width="1"/>
<polygon points="200,280 320,260 340,340 280,380" fill="#e5e5e5" stroke="#999" stroke-width="1"/>
<polygon points="200,280 60,260 80,340" fill="#d8d8d8" stroke="#999" stroke-width="1"/>
<!-- Head -->
<polygon points="200,180 160,120 240,120" fill="url(#fold1)" stroke="#999" stroke-width="1"/>
<polygon points="200,180 240,120 280,140 260,200" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
<polygon points="200,180 120,140 160,120" fill="#e8e8e8" stroke="#999" stroke-width="1"/>
<polygon points="200,180 140,200 120,140" fill="url(#fold3)" stroke="#999" stroke-width="1"/>
<polygon points="200,180 260,200 280,140 240,120" fill="#d8d8d8" stroke="#999" stroke-width="1"/>
<!-- Ears -->
<polygon points="160,120 140,80 180,100" fill="url(#fold2)" stroke="#999" stroke-width="1"/>
<polygon points="240,120 260,80 220,100" fill="url(#fold2)" stroke="#999" stroke-width="1"/>
<polygon points="140,80 160,120 120,140" fill="#c8c8c8" stroke="#999" stroke-width="1"/>
<polygon points="260,80 240,120 280,140" fill="#c8c8c8" stroke="#999" stroke-width="1"/>
<!-- Connecting triangles -->
<polygon points="200,180 200,280 140,200" fill="#e0e0e0" stroke="#999" stroke-width="1"/>
<polygon points="200,180 200,280 260,200" fill="#d5d5d5" stroke="#999" stroke-width="1"/>
<polygon points="200,280 60,260 140,200" fill="#c8c8c8" stroke="#999" stroke-width="1"/>
<polygon points="200,280 320,260 260,200" fill="#c0c0c0" stroke="#999" stroke-width="1"/>
<!-- Face details -->
<circle cx="170" cy="160" r="4" fill="#333"/>
<circle cx="230" cy="160" r="4" fill="#333"/>
<polygon points="200,170 190,180 210,180" fill="#666" opacity="0.5"/>
<line x1="200" y1="180" x2="200" y2="195" stroke="#666" stroke-width="2"/>
<path d="M 200,195 Q 185,190 175,195" stroke="#666" stroke-width="2" fill="none"/>
<path d="M 200,195 Q 215,190 225,195" stroke="#666" stroke-width="2" fill="none"/>
<!-- Whiskers -->
<line x1="120" y1="165" x2="80" y2="160" stroke="#666" stroke-width="1"/>
<line x1="120" y1="175" x2="80" y2="180" stroke="#666" stroke-width="1"/>
<line x1="280" y1="165" x2="320" y2="160" stroke="#666" stroke-width="1"/>
<line x1="280" y1="175" x2="320" y2="180" stroke="#666" stroke-width="1"/>
</svg>Claude Opus 4 · style · attempt 4 · score 8.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
.fold-light { fill: #f0f0f0; }
.fold-medium { fill: #d0d0d0; }
.fold-dark { fill: #b0b0b0; }
.fold-line { stroke: #888; stroke-width: 0.5; fill: none; }
</style>
</defs>
<!-- Body -->
<polygon class="fold-medium" points="100,120 70,170 130,170"/>
<polygon class="fold-light" points="100,120 130,170 140,150 120,130"/>
<polygon class="fold-dark" points="100,120 80,130 60,150 70,170"/>
<!-- Head -->
<polygon class="fold-light" points="100,80 75,120 125,120"/>
<polygon class="fold-medium" points="100,80 85,65 75,120"/>
<polygon class="fold-medium" points="100,80 115,65 125,120"/>
<!-- Ears -->
<polygon class="fold-light" points="85,65 70,40 75,70"/>
<polygon class="fold-dark" points="85,65 75,70 80,55 70,40"/>
<polygon class="fold-light" points="115,65 130,40 125,70"/>
<polygon class="fold-dark" points="115,65 125,70 120,55 130,40"/>
<!-- Face details -->
<polygon class="fold-dark" points="100,80 95,90 100,95 105,90"/>
<line class="fold-line" x1="95" y1="90" x2="100" y2="95"/>
<line class="fold-line" x1="105" y1="90" x2="100" y2="95"/>
<!-- Tail -->
<polygon class="fold-medium" points="140,150 160,140 155,165 130,170"/>
<polygon class="fold-light" points="160,140 175,130 170,155 155,165"/>
<!-- Fold lines -->
<line class="fold-line" x1="100" y1="80" x2="75" y2="120"/>
<line class="fold-line" x1="100" y1="80" x2="125" y2="120"/>
<line class="fold-line" x1="100" y1="120" x2="70" y2="170"/>
<line class="fold-line" x1="100" y1="120" x2="130" y2="170"/>
<line class="fold-line" x1="85" y1="65" x2="75" y2="70"/>
<line class="fold-line" x1="115" y1="65" x2="125" y2="70"/>
</svg>constraint
“Draw a recognizable cat as an SVG using at most 12 SVG elements.”
Claude Opus 4 · constraint · attempt 1 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="100" cy="120" rx="40" ry="35" fill="#FFA500"/>
<path d="M60 90 L50 60 L70 70 Z" fill="#FFA500"/>
<path d="M140 90 L150 60 L130 70 Z" fill="#FFA500"/>
<circle cx="85" cy="110" r="4" fill="#000"/>
<circle cx="115" cy="110" r="4" fill="#000"/>
<path d="M100 120 L95 125 L105 125 Z" fill="#FF69B4"/>
<path d="M70 120 Q60 115 50 120" stroke="#000" stroke-width="1.5" fill="none"/>
<path d="M130 120 Q140 115 150 120" stroke="#000" stroke-width="1.5" fill="none"/>
<path d="M100 155 Q80 170 85 190" stroke="#FFA500" stroke-width="12" fill="none" stroke-linecap="round"/>
<path d="M100 155 Q120 170 115 190" stroke="#FFA500" stroke-width="12" fill="none" stroke-linecap="round"/>
<ellipse cx="100" cy="150" rx="30" ry="25" fill="#FFA500"/>
<path d="M90 125 Q100 130 110 125" stroke="#000" stroke-width="1.5" fill="none"/>
</svg>Claude Opus 4 · constraint · attempt 2 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="40" fill="#FF8C42" stroke="#333" stroke-width="2"/>
<polygon points="70,80 60,50 80,70" fill="#FF8C42" stroke="#333" stroke-width="2"/>
<polygon points="130,80 140,50 120,70" fill="#FF8C42" stroke="#333" stroke-width="2"/>
<circle cx="85" cy="95" r="8" fill="#333"/>
<circle cx="115" cy="95" r="8" fill="#333"/>
<polygon points="100,105 95,110 105,110" fill="#FFA5D8"/>
<path d="M100,110 Q90,115 80,110" fill="none" stroke="#333" stroke-width="2"/>
<path d="M100,110 Q110,115 120,110" fill="none" stroke="#333" stroke-width="2"/>
<line x1="50" y1="100" x2="20" y2="95" stroke="#333" stroke-width="2"/>
<line x1="50" y1="110" x2="20" y2="115" stroke="#333" stroke-width="2"/>
<line x1="150" y1="100" x2="180" y2="95" stroke="#333" stroke-width="2"/>
<line x1="150" y1="110" x2="180" y2="115" stroke="#333" stroke-width="2"/>
</svg>Claude Opus 4 · constraint · attempt 3 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="100" cy="120" rx="50" ry="40" fill="#ff8c42"/>
<circle cx="100" cy="80" r="35" fill="#ff8c42"/>
<polygon points="65,60 75,40 85,55" fill="#ff8c42"/>
<polygon points="115,55 125,40 135,60" fill="#ff8c42"/>
<circle cx="85" cy="75" r="5" fill="#000"/>
<circle cx="115" cy="75" r="5" fill="#000"/>
<path d="M100,85 L95,90 L105,90 Z" fill="#ff69b4"/>
<path d="M100,90 Q90,95 80,90" stroke="#000" stroke-width="2" fill="none"/>
<path d="M100,90 Q110,95 120,90" stroke="#000" stroke-width="2" fill="none"/>
<path d="M50,100 Q30,95 25,105" stroke="#000" stroke-width="2" fill="none"/>
<path d="M150,100 Q170,95 175,105" stroke="#000" stroke-width="2" fill="none"/>
<path d="M100,160 Q100,180 95,190" stroke="#ff8c42" stroke-width="8" fill="none"/>
</svg>Claude Opus 4 · constraint · attempt 4 · score 8.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="100" cy="120" rx="50" ry="40" fill="#f4a460"/>
<polygon points="60,80 70,40 90,60" fill="#f4a460"/>
<polygon points="110,60 130,40 140,80" fill="#f4a460"/>
<circle cx="80" cy="110" r="8" fill="#000"/>
<circle cx="120" cy="110" r="8" fill="#000"/>
<path d="M100,125 L95,130 L105,130 Z" fill="#ff1493"/>
<path d="M100,130 Q90,135 80,130" fill="none" stroke="#000" stroke-width="2"/>
<path d="M100,130 Q110,135 120,130" fill="none" stroke="#000" stroke-width="2"/>
<path d="M50,120 Q30,115 10,120" stroke="#000" stroke-width="2" fill="none"/>
<path d="M150,120 Q170,115 190,120" stroke="#000" stroke-width="2" fill="none"/>
<path d="M140,150 Q160,160 170,180" stroke="#f4a460" stroke-width="8" fill="none"/>
</svg>animation
“Draw a cat whose tail sways continuously, as an SVG using SMIL or CSS animation only (no JavaScript).”
Claude Opus 4 · animation · attempt 1 · score 8.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
@keyframes tailSway {
0%, 100% { transform: rotate(-20deg); }
50% { transform: rotate(20deg); }
}
.tail {
animation: tailSway 2s ease-in-out infinite;
transform-origin: 180px 220px;
}
</style>
</defs>
<!-- Body -->
<ellipse cx="200" cy="250" rx="80" ry="60" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<!-- Head -->
<circle cx="200" cy="160" r="50" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<!-- Ears -->
<path d="M 165 140 L 155 110 L 180 125 Z" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<path d="M 235 140 L 245 110 L 220 125 Z" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<path d="M 165 125 L 160 115 L 175 120 Z" fill="#ffb380"/>
<path d="M 235 125 L 240 115 L 225 120 Z" fill="#ffb380"/>
<!-- Eyes -->
<ellipse cx="185" cy="155" rx="8" ry="12" fill="#333"/>
<ellipse cx="215" cy="155" rx="8" ry="12" fill="#333"/>
<ellipse cx="187" cy="152" rx="3" ry="4" fill="white"/>
<ellipse cx="217" cy="152" rx="3" ry="4" fill="white"/>
<!-- Nose -->
<path d="M 200 170 L 195 175 L 200 178 L 205 175 Z" fill="#d66a20"/>
<!-- Mouth -->
<path d="M 200 178 Q 190 185 180 180" fill="none" stroke="#d66a20" stroke-width="2" stroke-linecap="round"/>
<path d="M 200 178 Q 210 185 220 180" fill="none" stroke="#d66a20" stroke-width="2" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="140" y1="160" x2="100" y2="155" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<line x1="140" y1="170" x2="100" y2="170" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<line x1="260" y1="160" x2="300" y2="155" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<line x1="260" y1="170" x2="300" y2="170" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<!-- Legs -->
<ellipse cx="160" cy="290" rx="15" ry="25" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<ellipse cx="240" cy="290" rx="15" ry="25" fill="#ff8c42" stroke="#d66a20" stroke-width="2"/>
<!-- Paws -->
<ellipse cx="160" cy="310" rx="18" ry="12" fill="#d66a20"/>
<ellipse cx="240" cy="310" rx="18" ry="12" fill="#d66a20"/>
<!-- Tail (animated) -->
<g class="tail">
<path d="M 180 220 Q 100 200 80 130 Q 70 100 85 90" fill="none" stroke="#ff8c42" stroke-width="25" stroke-linecap="round"/>
<path d="M 180 220 Q 100 200 80 130 Q 70 100 85 90" fill="none" stroke="#d66a20" stroke-width="2" stroke-linecap="round"/>
</g>
<!-- Belly -->
<ellipse cx="200" cy="260" rx="50" ry="40" fill="#ffb380"/>
</svg>Claude Opus 4 · animation · attempt 2 · score 8.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
@keyframes swayTail {
0%, 100% { transform: rotate(-20deg); }
50% { transform: rotate(20deg); }
}
.tail {
transform-origin: 200px 280px;
animation: swayTail 2s ease-in-out infinite;
}
</style>
</defs>
<!-- Body -->
<ellipse cx="200" cy="280" rx="80" ry="60" fill="#333" stroke="#000" stroke-width="2"/>
<!-- Head -->
<circle cx="200" cy="180" r="50" fill="#333" stroke="#000" stroke-width="2"/>
<!-- Ears -->
<path d="M 165 165 L 155 135 L 180 155 Z" fill="#333" stroke="#000" stroke-width="2"/>
<path d="M 235 165 L 245 135 L 220 155 Z" fill="#333" stroke="#000" stroke-width="2"/>
<path d="M 165 155 L 160 145 L 175 155 Z" fill="#FFB6C1"/>
<path d="M 235 155 L 240 145 L 225 155 Z" fill="#FFB6C1"/>
<!-- Eyes -->
<ellipse cx="185" cy="175" rx="8" ry="12" fill="#90EE90"/>
<ellipse cx="215" cy="175" rx="8" ry="12" fill="#90EE90"/>
<ellipse cx="185" cy="178" rx="4" ry="8" fill="#000"/>
<ellipse cx="215" cy="178" rx="4" ry="8" fill="#000"/>
<!-- Nose -->
<path d="M 200 190 L 195 195 L 200 198 L 205 195 Z" fill="#FFB6C1"/>
<!-- Mouth -->
<path d="M 200 198 Q 190 205 180 198" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round"/>
<path d="M 200 198 Q 210 205 220 198" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="140" y1="180" x2="110" y2="175" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<line x1="140" y1="190" x2="110" y2="190" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<line x1="260" y1="180" x2="290" y2="175" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<line x1="260" y1="190" x2="290" y2="190" stroke="#000" stroke-width="1.5" stroke-linecap="round"/>
<!-- Legs -->
<ellipse cx="160" cy="320" rx="15" ry="25" fill="#333" stroke="#000" stroke-width="2"/>
<ellipse cx="240" cy="320" rx="15" ry="25" fill="#333" stroke="#000" stroke-width="2"/>
<circle cx="160" cy="340" r="12" fill="#333" stroke="#000" stroke-width="2"/>
<circle cx="240" cy="340" r="12" fill="#333" stroke="#000" stroke-width="2"/>
<!-- Tail (animated) -->
<g class="tail">
<path d="M 200 280 Q 140 260 120 200 Q 110 170 130 160"
fill="none" stroke="#333" stroke-width="25" stroke-linecap="round"/>
<path d="M 200 280 Q 140 260 120 200 Q 110 170 130 160"
fill="none" stroke="#000" stroke-width="2" stroke-linecap="round"/>
</g>
</svg>Claude Opus 4 · animation · attempt 3 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
.tail {
transform-origin: 180px 180px;
animation: sway 2s ease-in-out infinite;
}
@keyframes sway {
0%, 100% { transform: rotate(-25deg); }
50% { transform: rotate(25deg); }
}
</style>
</defs>
<!-- Tail -->
<path class="tail" d="M 180 180 Q 160 220 170 260 Q 175 270 185 265 Q 180 230 200 190"
fill="#555" stroke="#333" stroke-width="2"/>
<!-- Body -->
<ellipse cx="200" cy="180" rx="60" ry="50" fill="#555" stroke="#333" stroke-width="2"/>
<!-- Head -->
<circle cx="250" cy="150" r="35" fill="#555" stroke="#333" stroke-width="2"/>
<!-- Ears -->
<path d="M 230 130 L 225 110 L 240 120 Z" fill="#555" stroke="#333" stroke-width="2"/>
<path d="M 260 120 L 275 110 L 270 130 Z" fill="#555" stroke="#333" stroke-width="2"/>
<!-- Inner ears -->
<path d="M 232 122 L 230 115 L 236 119 Z" fill="#ffb3ba"/>
<path d="M 264 119 L 270 115 L 268 122 Z" fill="#ffb3ba"/>
<!-- Eyes -->
<ellipse cx="240" cy="145" rx="4" ry="8" fill="#000"/>
<ellipse cx="260" cy="145" rx="4" ry="8" fill="#000"/>
<!-- Eye highlights -->
<circle cx="241" cy="143" r="2" fill="#fff"/>
<circle cx="261" cy="143" r="2" fill="#fff"/>
<!-- Nose -->
<path d="M 250 155 L 247 158 L 253 158 Z" fill="#ff69b4"/>
<!-- Mouth -->
<path d="M 250 158 Q 245 162 240 160" fill="none" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 250 158 Q 255 162 260 160" fill="none" stroke="#333" stroke-width="1.5" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="220" y1="150" x2="200" y2="148" stroke="#333" stroke-width="1.5"/>
<line x1="220" y1="155" x2="200" y2="155" stroke="#333" stroke-width="1.5"/>
<line x1="280" y1="150" x2="300" y2="148" stroke="#333" stroke-width="1.5"/>
<line x1="280" y1="155" x2="300" y2="155" stroke="#333" stroke-width="1.5"/>
<!-- Front legs -->
<rect x="220" y="210" width="15" height="40" rx="7" fill="#555" stroke="#333" stroke-width="2"/>
<rect x="240" y="210" width="15" height="40" rx="7" fill="#555" stroke="#333" stroke-width="2"/>
<!-- Back legs -->
<ellipse cx="170" cy="215" rx="20" ry="15" fill="#555" stroke="#333" stroke-width="2"/>
<rect x="160" y="215" width="15" height="35" rx="7" fill="#555" stroke="#333" stroke-width="2"/>
<!-- Paws -->
<ellipse cx="227" cy="250" rx="10" ry="6" fill="#333"/>
<ellipse cx="247" cy="250" rx="10" ry="6" fill="#333"/>
<ellipse cx="167" cy="250" rx="10" ry="6" fill="#333"/>
</svg>Claude Opus 4 · animation · attempt 4 · score 8.5
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
@keyframes swayTail {
0%, 100% { transform: rotate(-20deg); }
50% { transform: rotate(20deg); }
}
.tail {
animation: swayTail 2s ease-in-out infinite;
transform-origin: 85px 130px;
}
</style>
</defs>
<!-- Body -->
<ellipse cx="100" cy="130" rx="35" ry="25" fill="#333" stroke="none"/>
<!-- Head -->
<circle cx="100" cy="90" r="25" fill="#333"/>
<!-- Ears -->
<path d="M 80 85 L 75 70 L 85 78 Z" fill="#333"/>
<path d="M 120 85 L 125 70 L 115 78 Z" fill="#333"/>
<!-- Inner ears -->
<path d="M 81 80 L 79 74 L 83 77 Z" fill="#ff69b4"/>
<path d="M 119 80 L 121 74 L 117 77 Z" fill="#ff69b4"/>
<!-- Eyes -->
<circle cx="92" cy="88" r="3" fill="#4f4"/>
<circle cx="108" cy="88" r="3" fill="#4f4"/>
<circle cx="92" cy="89" r="1.5" fill="#000"/>
<circle cx="108" cy="89" r="1.5" fill="#000"/>
<!-- Nose -->
<path d="M 100 95 L 97 98 L 103 98 Z" fill="#ff69b4"/>
<!-- Mouth -->
<path d="M 100 98 Q 95 102 90 98" fill="none" stroke="#ff69b4" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 100 98 Q 105 102 110 98" fill="none" stroke="#ff69b4" stroke-width="1.5" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="70" y1="90" x2="50" y2="88" stroke="#666" stroke-width="1"/>
<line x1="70" y1="95" x2="50" y2="95" stroke="#666" stroke-width="1"/>
<line x1="130" y1="90" x2="150" y2="88" stroke="#666" stroke-width="1"/>
<line x1="130" y1="95" x2="150" y2="95" stroke="#666" stroke-width="1"/>
<!-- Tail -->
<path class="tail" d="M 85 130 Q 50 120 40 90 Q 35 75 45 70" fill="none" stroke="#333" stroke-width="18" stroke-linecap="round"/>
<!-- Legs -->
<rect x="80" y="140" width="10" height="20" rx="5" fill="#333"/>
<rect x="110" y="140" width="10" height="20" rx="5" fill="#333"/>
</svg>