GLM-4.6
RANK 11 · MEOWSCORE 81.7 · previous · CN · open
minimal
“Draw a minimal, flat-design cat as an SVG.”
GLM-4.6 · minimal · attempt 1 · score 9.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<circle cx="50" cy="60" r="35" fill="#FFCCBC"/>
<path d="M 20 40 L 30 15 L 45 40 Z" fill="#FFCCBC"/>
<path d="M 80 40 L 70 15 L 55 40 Z" fill="#FFCCBC"/>
<circle cx="38" cy="55" r="3" fill="#3E2723"/>
<circle cx="62" cy="55" r="3" fill="#3E2723"/>
<path d="M 50 65 L 46 70 L 54 70 Z" fill="#FF7043"/>
<path d="M 50 70 Q 42 76 35 72" fill="none" stroke="#3E2723" stroke-width="2" stroke-linecap="round"/>
<path d="M 50 70 Q 58 76 65 72" fill="none" stroke="#3E2723" stroke-width="2" stroke-linecap="round"/>
</svg>GLM-4.6 · minimal · attempt 2 · score 8.5
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200">
<g transform="translate(0, 10)">
<rect x="45" y="40" width="110" height="100" rx="50" fill="#E76F51"/>
<path d="M50 50 L30 10 L80 35 Z" fill="#E76F51"/>
<path d="M150 50 L170 10 L120 35 Z" fill="#E76F51"/>
<ellipse cx="100" cy="115" rx="35" ry="28" fill="#F4A261"/>
<ellipse cx="100" cy="110" rx="20" ry="14" fill="#FFF"/>
<path d="M94 110 L106 110 L100 118 Z" fill="#264653"/>
<path d="M100 118 L100 126" stroke="#264653" stroke-width="2" fill="none"/>
<path d="M100 126 Q85 132 75 126" stroke="#264653" stroke-width="2" fill="none" stroke-linecap="round"/>
<path d="M100 126 Q115 132 125 126" stroke="#264653" stroke-width="2" fill="none" stroke-linecap="round"/>
<circle cx="75" cy="80" r="7" fill="#264653"/>
<circle cx="125" cy="80" r="7" fill="#264653"/>
<circle cx="72" cy="77" r="2.5" fill="#FFF"/>
<circle cx="122" cy="77" r="2.5" fill="#FFF"/>
<g stroke="#264653" stroke-width="2" stroke-linecap="round" stroke-opacity="0.6">
<line x1="60" y1="100" x2="25" y2="90"/>
<line x1="60" y1="110" x2="20" y2="110"/>
<line x1="60" y1="120" x2="25" y2="130"/>
<line x1="140" y1="100" x2="175" y2="90"/>
<line x1="140" y1="110" x2="180" y2="110"/>
<line x1="140" y1="120" x2="175" y2="130"/>
</g>
</g>
</svg>GLM-4.6 · minimal · 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">
<!-- Cat body -->
<ellipse cx="100" cy="140" rx="45" ry="35" fill="#2c3e50"/>
<!-- Cat head -->
<circle cx="100" cy="90" r="35" fill="#2c3e50"/>
<!-- Left ear -->
<path d="M 70 75 L 60 50 L 80 65 Z" fill="#2c3e50"/>
<!-- Right ear -->
<path d="M 120 75 L 140 50 L 120 65 Z" fill="#2c3e50"/>
<!-- Inner ear left -->
<path d="M 72 68 L 68 60 L 78 64 Z" fill="#95a5a6"/>
<!-- Inner ear right -->
<path d="M 122 68 L 128 60 L 132 64 Z" fill="#95a5a6"/>
<!-- Tail -->
<path d="M 140 150 Q 160 140, 165 115 Q 168 100, 155 95"
stroke="#2c3e50" stroke-width="20" fill="none" stroke-linecap="round"/>
<!-- Eyes -->
<circle cx="88" cy="88" r="3" fill="#ecf0f1"/>
<circle cx="112" cy="88" r="3" fill="#ecf0f1"/>
<!-- Nose -->
<path d="M 100 98 L 96 102 L 104 102 Z" fill="#95a5a6"/>
<!-- Whiskers -->
<line x1="100" y1="100" x2="75" y2="95" stroke="#95a5a6" stroke-width="1.5"/>
<line x1="100" y1="102" x2="75" y2="105" stroke="#95a5a6" stroke-width="1.5"/>
<line x1="100" y1="100" x2="125" y2="95" stroke="#95a5a6" stroke-width="1.5"/>
<line x1="100" y1="102" x2="125" y2="105" stroke="#95a5a6" stroke-width="1.5"/>
</svg>GLM-4.6 · minimal · attempt 4 · score 7.8
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="300" height="300">
<defs>
<clipPath id="body-clip">
<path d="M30 90 Q15 90 15 75 Q15 50 50 50 Q85 50 85 75 Q85 90 70 90 Z" />
</clipPath>
</defs>
<!-- Tail -->
<path d="M70 85 Q 90 85 90 65 Q 90 45 75 50"
stroke="#2c3e50"
stroke-width="8"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"/>
<!-- Body -->
<use href="#body-clip" fill="#2c3e50" />
<!-- Head -->
<circle cx="50" cy="40" r="24" fill="#2c3e50" />
<!-- Ears -->
<path d="M32 18 L44 32 L26 32 Z" fill="#2c3e50" stroke-linejoin="round" stroke-width="2" stroke="#2c3e50"/>
<path d="M68 18 L56 32 L74 32 Z" fill="#2c3e50" stroke-linejoin="round" stroke-width="2" stroke="#2c3e50"/>
<!-- Face -->
<!-- Eyes -->
<circle cx="42" cy="38" r="2.5" fill="#ffffff" />
<circle cx="58" cy="38" r="2.5" fill="#ffffff" />
<!-- Nose -->
<path d="M48 46 L52 46 L50 49 Z" fill="#e67e22" />
</svg>realistic
“Draw a realistic sitting cat with visible fur shading as an SVG.”
GLM-4.6 · 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>
<!-- Fur gradient for body -->
<radialGradient id="bodyGradient" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#8B7355"/>
<stop offset="70%" style="stop-color:#6B5443"/>
<stop offset="100%" style="stop-color:#4A3829"/>
</radialGradient>
<!-- Fur gradient for head -->
<radialGradient id="headGradient" cx="45%" cy="40%">
<stop offset="0%" style="stop-color:#9B8365"/>
<stop offset="60%" style="stop-color:#7B6345"/>
<stop offset="100%" style="stop-color:#5B4325"/>
</radialGradient>
<!-- Ear gradient -->
<radialGradient id="earGradient" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#B39A78"/>
<stop offset="100%" style="stop-color:#8B7355"/>
</radialGradient>
<!-- Belly gradient -->
<radialGradient id="bellyGradient" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#D4C4B0"/>
<stop offset="100%" style="stop-color:#C4B4A0"/>
</radialGradient>
<!-- Pattern for fur texture -->
<pattern id="furTexture" x="0" y="0" width="4" height="4" patternUnits="userSpaceOnUse">
<circle cx="2" cy="2" r="0.5" fill="#6B5443" opacity="0.3"/>
</pattern>
</defs>
<!-- Shadow -->
<ellipse cx="200" cy="460" rx="80" ry="20" fill="#000000" opacity="0.2"/>
<!-- Tail -->
<path d="M 320 280 Q 360 250, 370 200 Q 375 170, 360 150 Q 350 140, 340 145"
fill="none" stroke="url(#bodyGradient)" stroke-width="45" stroke-linecap="round"/>
<path d="M 320 280 Q 360 250, 370 200 Q 375 170, 360 150 Q 350 140, 340 145"
fill="none" stroke="#4A3829" stroke-width="45" stroke-linecap="round" opacity="0.3"
transform="translate(3,3)"/>
<!-- Back leg -->
<ellipse cx="150" cy="380" rx="35" ry="55" fill="url(#bodyGradient)"
transform="rotate(-10 150 380)"/>
<!-- Sitting body -->
<ellipse cx="200" cy="300" rx="90" ry="110" fill="url(#bodyGradient)"/>
<!-- Belly patch -->
<ellipse cx="190" cy="310" rx="60" ry="70" fill="url(#bellyGradient)" opacity="0.7"/>
<!-- Front paws -->
<ellipse cx="260" cy="380" rx="30" ry="50" fill="url(#bodyGradient)"
transform="rotate(15 260 380)"/>
<ellipse cx="300" cy="370" rx="25" ry="45" fill="url(#bodyGradient)"
transform="rotate(20 300 370)"/>
<!-- Front paw details -->
<ellipse cx="265" cy="410" rx="18" ry="8" fill="#8B7355" opacity="0.5"/>
<ellipse cx="305" cy="400" rx="16" ry="7" fill="#8B7355" opacity="0.5"/>
<!-- Head -->
<ellipse cx="200" cy="180" rx="70" ry="65" fill="url(#headGradient)"/>
<!-- Ears -->
<path d="M 150 160 L 140 120 L 170 140 Z" fill="url(#earGradient)"/>
<path d="M 250 160 L 260 120 L 230 140 Z" fill="url(#earGradient)"/>
<!-- Inner ear -->
<path d="M 155 150 L 148 130 L 165 142 Z" fill="#D4C4B0" opacity="0.8"/>
<path d="M 245 150 L 252 130 L 235 142 Z" fill="#D4C4B0" opacity="0.8"/>
<!-- Eye sockets -->
<ellipse cx="175" cy="175" rx="20" ry="22" fill="#5B4325"/>
<ellipse cx="225" cy="175" rx="20" ry="22" fill="#5B4325"/>
<!-- Eyes -->
<ellipse cx="175" cy="175" rx="15" ry="18" fill="#2C1810"/>
<ellipse cx="225" cy="175" rx="15" ry="18" fill="#2C1810"/>
<!-- Eye shine -->
<ellipse cx="170" cy="170" rx="5" ry="6" fill="#FFFFFF" opacity="0.8"/>
<ellipse cx="220" cy="170" rx="5" ry="6" fill="#FFFFFF" opacity="0.8"/>
<ellipse cx="178" cy="180" rx="2" ry="3" fill="#FFFFFF" opacity="0.4"/>
<ellipse cx="228" cy="180" rx="2" ry="3" fill="#FFFFFF" opacity="0.4"/>
<!-- Nose -->
<path d="M 200 195 L 193 200 L 200 205 L 207 200 Z" fill="#4A3829"/>
<!-- Mouth -->
<path d="M 200 205 Q 185 210, 180 205" fill="none" stroke="#4A3829" stroke-width="2" stroke-linecap="round"/>
<path d="M 200 205 Q 215 210, 220 205" fill="none" stroke="#4A3829" stroke-width="2" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="90" y1="180" x2="140" y2="175" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<line x1="90" y1="195" x2="140" y2="190" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<line x1="90" y1="210" x2="140" y2="205" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<line x1="260" y1="175" x2="310" y2="180" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<line x1="260" y1="190" x2="310" y2="195" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<line x1="260" y1="205" x2="310" y2="210" stroke="#FFFFFF" stroke-width="1.5" opacity="0.6"/>
<!-- Chin shadow -->
<ellipse cx="200" cy="220" rx="25" ry="15" fill="#4A3829" opacity="0.3"/>
<!-- Fur highlights and texture -->
<ellipse cx="180" cy="250" rx="30" ry="40" fill="#9B8365" opacity="0.3"/>
<ellipse cx="220" cy="280" rx="25" ry="35" fill="#9B8365" opacity="0.3"/>
<ellipse cx="160" cy="320" rx="20" ry="30" fill="#8B7355" opacity="0.4"/>
<!-- Fur texture overlay -->
<ellipse cx="200" cy="300" rx="90" ry="110" fill="url(#furTexture)" opacity="0.4"/>
<ellipse cx="200" cy="180" rx="70" ry="65" fill="url(#furTexture)" opacity="0.4"/>
<!-- Chest fur detail -->
<path d="M 170 340 Q 180 330, 190 335 Q 200 330, 210 335 Q 220 330, 230 340"
fill="none" stroke="#D4C4B0" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
</svg>GLM-4.6 · realistic · attempt 2 · score 6.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Fur gradients -->
<radialGradient id="bodyGradient" cx="50%" cy="40%">
<stop offset="0%" style="stop-color:#8B7355"/>
<stop offset="50%" style="stop-color:#6B5A45"/>
<stop offset="100%" style="stop-color:#4A3F33"/>
</radialGradient>
<radialGradient id="headGradient" cx="45%" cy="45%">
<stop offset="0%" style="stop-color:#9B8365"/>
<stop offset="60%" style="stop-color:#7B6345"/>
<stop offset="100%" style="stop-color:#5A4F3F"/>
</radialGradient>
<linearGradient id="earGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#FFB6A3"/>
<stop offset="50%" style="stop-color:#D4695A"/>
<stop offset="100%" style="stop-color:#8B4533"/>
</linearGradient>
<radialGradient id="eyeGradient" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#4A7C59"/>
<stop offset="50%" style="stop-color:#2F5233"/>
<stop offset="100%" style="stop-color:#1A2F1F"/>
</radialGradient>
<!-- Fur texture pattern -->
<pattern id="furTexture" x="0" y="0" width="3" height="6" patternUnits="userSpaceOnUse">
<path d="M0,3 Q1.5,0 3,3" stroke="#4A3F33" stroke-width="0.5" fill="none" opacity="0.3"/>
</pattern>
</defs>
<!-- Shadow base -->
<ellipse cx="200" cy="450" rx="120" ry="30" fill="#000000" opacity="0.2"/>
<!-- Tail -->
<path d="M120,380 C80,370 60,340 70,300 C80,260 100,240 130,230"
fill="url(#bodyGradient)" stroke="#3A2F23" stroke-width="2"/>
<path d="M95,350 Q85,340 85,325 Q85,310 95,300"
fill="#6B5A45" opacity="0.5"/>
<!-- Body -->
<ellipse cx="220" cy="350" rx="80" ry="100" fill="url(#bodyGradient)"/>
<!-- Chest patch -->
<ellipse cx="220" cy="360" rx="35" ry="50" fill="#D4C5B9" opacity="0.6"/>
<!-- Body fur details -->
<path d="M160,320 Q170,310 180,320" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<path d="M170,340 Q180,330 190,340" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<path d="M240,330 Q250,320 260,330" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<path d="M250,350 Q260,340 270,350" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<path d="M180,380 Q190,370 200,380" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<path d="M240,380 Q250,370 260,380" stroke="#5A4F3F" stroke-width="1.5" fill="none" opacity="0.4"/>
<!-- Front legs -->
<ellipse cx="180" cy="420" rx="25" ry="40" fill="url(#bodyGradient)" transform="rotate(-10 180 420)"/>
<ellipse cx="260" cy="420" rx="25" ry="40" fill="url(#bodyGradient)" transform="rotate(10 260 420)"/>
<!-- Paws -->
<ellipse cx="175" cy="445" rx="22" ry="18" fill="#4A3F33"/>
<ellipse cx="255" cy="445" rx="22" ry="18" fill="#4A3F33"/>
<!-- Paw pads -->
<ellipse cx="175" cy="445" rx="12" ry="8" fill="#2A1F13"/>
<ellipse cx="255" cy="445" rx="12" ry="8" fill="#2A1F13"/>
<circle cx="170" cy="430" r="3" fill="#2A1F13"/>
<circle cx="180" cy="430" r="3" fill="#2A1F13"/>
<circle cx="250" cy="430" r="3" fill="#2A1F13"/>
<circle cx="260" cy="430" r="3" fill="#2A1F13"/>
<!-- Head -->
<ellipse cx="220" cy="180" rx="65" ry="55" fill="url(#headGradient)"/>
<!-- Ears -->
<path d="M165,160 L155,110 L180,140 Z" fill="url(#earGradient)" stroke="#3A2F23" stroke-width="2"/>
<path d="M275,160 L285,110 L260,140 Z" fill="url(#earGradient)" stroke="#3A2F23" stroke-width="2"/>
<!-- Inner ears -->
<path d="M165,145 L160,125 L175,140 Z" fill="#FFA592" opacity="0.7"/>
<path d="M275,145 L280,125 L265,140 Z" fill="#FFA592" opacity="0.7"/>
<!-- Face -->
<!-- Eye sockets -->
<ellipse cx="195" cy="175" rx="15" ry="12" fill="#2A1F13"/>
<ellipse cx="245" cy="175" rx="15" ry="12" fill="#2A1F13"/>
<!-- Eyes -->
<ellipse cx="195" cy="175" rx="12" ry="10" fill="url(#eyeGradient)"/>
<ellipse cx="245" cy="175" rx="12" ry="10" fill="url(#eyeGradient)"/>
<!-- Pupils -->
<ellipse cx="195" cy="176" rx="6" ry="9" fill="#000000"/>
<ellipse cx="245" cy="176" rx="6" ry="9" fill="#000000"/>
<!-- Eye highlights -->
<ellipse cx="198" cy="172" rx="3" ry="3" fill="#FFFFFF" opacity="0.8"/>
<ellipse cx="248" cy="172" rx="3" ry="3" fill="#FFFFFF" opacity="0.8"/>
<!-- Nose -->
<path d="M220,190 L215,195 L225,195 Z" fill="#2A1F13"/>
<ellipse cx="220" cy="192" rx="4" ry="2" fill="#FFA592" opacity="0.5"/>
<!-- Mouth -->
<path d="M220,195 Q210,200 205,195" stroke="#2A1F13" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<path d="M220,195 Q230,200 235,195" stroke="#2A1F13" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="160" y1="185" x2="120" y2="180" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<line x1="160" y1="195" x2="120" y2="195" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<line x1="160" y1="205" x2="125" y2="210" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<line x1="280" y1="185" x2="320" y2="180" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<line x1="280" y1="195" x2="320" y2="195" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<line x1="280" y1="205" x2="315" y2="210" stroke="#FFFFFF" stroke-width="1" opacity="0.6"/>
<!-- Facial fur details -->
<path d="M185,150 Q190,145 195,150" stroke="#6B5A45" stroke-width="1" fill="none" opacity="0.5"/>
<path d="M203,145 Q208,140 213,145" stroke="#6B5A45" stroke-width="1" fill="none" opacity="0.5"/>
<path d="M245,150 Q250,145 255,150" stroke="#6B5A45" stroke-width="1" fill="none" opacity="0.5"/>
<path d="M227,145 Q232,140 237,145" stroke="#6B5A45" stroke-width="1" fill="none" opacity="0.5"/>
<!-- Apply fur texture -->
<rect x="100" y="100" width="240" height="350" fill="url(#furTexture)" opacity="0.3"/>
<!-- Additional shadow details -->
<ellipse cx="180" cy="380" rx="15" ry="30" fill="#3A2F23" opacity="0.3"/>
<ellipse cx="260" cy="380" rx="15" ry="30" fill="#3A2F23" opacity="0.3"/>
</svg>GLM-4.6 · realistic · attempt 3 · score 7.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Main fur gradient -->
<radialGradient id="furGradient" cx="50%" cy="40%">
<stop offset="0%" style="stop-color:#f5f0e6"/>
<stop offset="60%" style="stop-color:#e8dcc7"/>
<stop offset="100%" style="stop-color:#d4b896"/>
</radialGradient>
<!-- Dark fur gradient -->
<radialGradient id="darkFur" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#8b7355"/>
<stop offset="100%" style="stop-color:#5c4a3a"/>
</radialGradient>
<!-- Shadow gradient -->
<radialGradient id="shadow" cx="50%" cy="50%">
<stop offset="0%" style="stop-color:#000000;stop-opacity:0.2"/>
<stop offset="100%" style="stop-color:#000000;stop-opacity:0"/>
</radialGradient>
<!-- Fur strokes pattern -->
<pattern id="furStrokes" x="0" y="0" width="4" height="8" patternUnits="userSpaceOnUse">
<path d="M0,0 Q2,3 0,6" stroke="#d4b896" stroke-width="0.5" fill="none" opacity="0.3"/>
<path d="M2,0 Q0,3 2,6" stroke="#dbd0ba" stroke-width="0.5" fill="none" opacity="0.3"/>
</pattern>
<!-- Eye detail -->
<ellipse id="eye" rx="8" ry="10" fill="#2d5a2d"/>
<ellipse id="pupil" rx="4" ry="7" fill="#000000"/>
<ellipse id="eyeHighlight" rx="3" ry="4" fill="#ffffff" opacity="0.8"/>
</defs>
<!-- Ground shadow -->
<ellipse cx="200" cy="450" rx="100" ry="30" fill="#000000" opacity="0.2"/>
<!-- Tail -->
<path d="M280,350 Q320,340 340,360 Q350,380 330,390 Q310,395 300,380 Q290,365 280,350"
fill="url(#furGradient)" stroke="#d4b896" stroke-width="0.5"/>
<path d="M290,360 Q310,355 325,370 Q330,380 315,385"
fill="#d4b896" opacity="0.3"/>
<!-- Hind legs -->
<ellipse cx="150" cy="380" rx="35" ry="50" fill="url(#furGradient)"/>
<ellipse cx="250" cy="380" rx="35" ry="50" fill="url(#furGradient)"/>
<!-- Body -->
<ellipse cx="200" cy="320" rx="80" ry="90" fill="url(#furGradient)"/>
<path d="M120,280 Q130,270 140,275" stroke="#d4b896" stroke-width="0.5" fill="none" opacity="0.5"/>
<path d="M140,290 Q150,285 160,290" stroke="#d4b896" stroke-width="0.5" fill="none" opacity="0.5"/>
<path d="M160,300 Q170,295 180,300" stroke="#d4b896" stroke-width="0.5" fill="none" opacity="0.5"/>
<!-- Chest -->
<ellipse cx="200" cy="360" rx="50" ry="40" fill="#f5f0e6"/>
<!-- Front paws -->
<ellipse cx="170" cy="390" rx="25" ry="30" fill="url(#furGradient)"/>
<ellipse cx="230" cy="390" rx="25" ry="30" fill="url(#furGradient)"/>
<ellipse cx="170" cy="405" rx="20" ry="15" fill="#d4b896" opacity="0.3"/>
<ellipse cx="230" cy="405" rx="20" ry="15" fill="#d4b896" opacity="0.3"/>
<!-- Head -->
<ellipse cx="200" cy="200" rx="55" ry="50" fill="url(#furGradient)"/>
<!-- Ears -->
<path d="M160,180 L155,150 L180,170 Z" fill="url(#furGradient)" stroke="#d4b896" stroke-width="0.5"/>
<path d="M240,180 L245,150 L220,170 Z" fill="url(#furGradient)" stroke="#d4b896" stroke-width="0.5"/>
<path d="M165,170 L163,155 L175,165 Z" fill="#ffc9c4" opacity="0.6"/>
<path d="M235,170 L237,155 L225,165 Z" fill="#ffc9c4" opacity="0.6"/>
<!-- Face markings -->
<path d="M145,190 Q150,210 165,215" fill="none" stroke="#8b7355" stroke-width="3" opacity="0.3" stroke-linecap="round"/>
<path d="M255,190 Q250,210 235,215" fill="none" stroke="#8b7355" stroke-width="3" opacity="0.3" stroke-linecap="round"/>
<!-- Eyes -->
<use href="#eye" transform="translate(180,195)"/>
<use href="#pupil" transform="translate(180,196)"/>
<use href="#eyeHighlight" transform="translate(182,192)"/>
<use href="#eye" transform="translate(220,195)"/>
<use href="#pupil" transform="translate(220,196)"/>
<use href="#eyeHighlight" transform="translate(222,192)"/>
<!-- Nose -->
<path d="M195,215 L200,220 L205,215 Q200,212 195,215" fill="#d49090"/>
<!-- Mouth -->
<path d="M200,220 Q190,225 185,220" fill="none" stroke="#8b7355" stroke-width="1" opacity="0.4" stroke-linecap="round"/>
<path d="M200,220 Q210,225 215,220" fill="none" stroke="#8b7355" stroke-width="1" opacity="0.4" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="160" y1="210" x2="120" y2="205" stroke="#5c4a3a" stroke-width="0.8" opacity="0.6"/>
<line x1="160" y1="220" x2="120" y2="220" stroke="#5c4a3a" stroke-width="0.8" opacity="0.6"/>
<line x1="240" y1="210" x2="280" y2="205" stroke="#5c4a3a" stroke-width="0.8" opacity="0.6"/>
<line x1="240" y1="220" x2="280" y2="220" stroke="#5c4a3a" stroke-width="0.8" opacity="0.6"/>
<!-- Fur texture overlay -->
<rect x="120" y="150" width="160" height="270" fill="url(#furStrokes)" opacity="0.5"/>
<!-- Additional shading -->
<ellipse cx="180" cy="280" rx="30" ry="40" fill="url(#shadow)"/>
<ellipse cx="220" cy="330" rx="25" ry="35" fill="url(#shadow)"/>
<ellipse cx="160" cy="380" rx="20" ry="25" fill="url(#shadow)"/>
<ellipse cx="240" cy="380" rx="20" ry="25" fill="url(#shadow)"/>
</svg>GLM-4.6 · realistic · attempt 4 · score 6.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
<defs>
<radialGradient id="bodyGrad" cx="50%" cy="40%">
<stop offset="0%" style="stop-color:#8B7355"/>
<stop offset="60%" style="stop-color:#6B5D4F"/>
<stop offset="100%" style="stop-color:#4A4035"/>
</radialGradient>
<radialGradient id="bellyGrad" cx="50%" cy="30%">
<stop offset="0%" style="stop-color:#D4C5B0"/>
<stop offset="70%" style="stop-color:#C4B5A0"/>
<stop offset="100%" style="stop-color:#A49580"/>
</radialGradient>
<linearGradient id="tailGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#7B6F5F"/>
<stop offset="50%" style="stop-color:#6B5D4F"/>
<stop offset="100%" style="stop-color:#5B4D3F"/>
</linearGradient>
<filter id="fur">
<feTurbulence type="fractalNoise" baseFrequency="0.02" numOctaves="3" result="furl"/>
<feColorMatrix in="furl" result="furdark" type="matrix" values="0 0 0 0 0.2 0 0 0 0 0.1 0 0 0 0 0 0 0 0 1 0"/>
<feBlend in="SourceGraphic" in2="furdark" mode="multiply"/>
</filter>
</defs>
<!-- Shadow base -->
<ellipse cx="200" cy="380" rx="80" ry="25" fill="#00000020"/>
<!-- Tail -->
<path d="M 280 320Q 320 310, 340 280 Q 355 255, 350 230 Q 345 210, 330 195"
fill="none" stroke="url(#tailGrad)" stroke-width="35" stroke-linecap="round" filter="url(#fur)"/>
<!-- Body -->
<ellipse cx="200" cy="300" rx="70" ry="80" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Chest/Belly -->
<ellipse cx="180" cy="310" rx="45" ry="60" fill="url(#bellyGrad)" filter="url(#fur)"/>
<!-- Head -->
<ellipse cx="150" cy="220" rx="55" ry="50" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Ears -->
<path d="M 110 195 L 105 165 L 125 180 Z" fill="url(#bodyGrad)" filter="url(#fur)"/>
<path d="M 125 185 L 122 165 L 138 175 Z" fill="#D4C5B0" opacity="0.7"/>
<path d="M 185 180 L 185 155 L 200 175 Z" fill="url(#bodyGrad)" filter="url(#fur)"/>
<path d="M 188 175 L 188 160 L 195 170 Z" fill="#D4C5B0" opacity="0.7"/>
<!-- Muzzle -->
<ellipse cx="125" cy="235" rx="20" ry="18" fill="#B4A590" filter="url(#fur)"/>
<!-- Nose -->
<path d="M 120 235 Q 125 230, 130 235 Q 125 238, 120 235" fill="#4A3A2A"/>
<!-- Eyes -->
<ellipse cx="125" cy="215" rx="8" ry="10" fill="#4A3A2A"/>
<ellipse cx="160" cy="215" rx="8" ry="10" fill="#4A3A2A"/>
<ellipse cx="127" cy="213" rx="3" ry="4" fill="#FFFFFF" opacity="0.8"/>
<ellipse cx="162" cy="213" rx="3" ry="4" fill="#FFFFFF" opacity="0.8"/>
<!-- Whiskers -->
<line x1="85" y1="225" x2="50" y2="220" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<line x1="85" y1="235" x2="50" y2="235" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<line x1="85" y1="245" x2="50" y2="250" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<line x1="165" y1="225" x2="200" y2="220" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<line x1="165" y1="235" x2="200" y2="235" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<line x1="165" y1="245" x2="200" y2="250" stroke="#4A4035" stroke-width="1.5" opacity="0.6"/>
<!-- Front legs -->
<ellipse cx="160" cy="350" rx="18" ry="35" fill="url(#bodyGrad)" filter="url(#fur)"/>
<ellipse cx="180" cy="350" rx="18" ry="35" fill="url(#bodyGrad)" filter="url(#fur)"/>
<!-- Paws -->
<ellipse cx="160" cy="370" rx="20" ry="15" fill="#5B4D3F"/>
<ellipse cx="180" cy="370" rx="20" ry="15" fill="#5B4D3F"/>
<!-- Fur texture overlay on body -->
<path d="M 150 270Q 170 265, 190 270 Q 210 275, 230 285"
fill="none" stroke="#6B5D4F" stroke-width="8" opacity="0.3" stroke-linecap="round"/>
<path d="M 145 290Q 165 285, 185 290"
fill="none" stroke="#6B5D4F" stroke-width="6" opacity="0.25" stroke-linecap="round"/>
<path d="M 155 310Q 175 305, 195 310"
fill="none" stroke="#6B5D4F" stroke-width="6" opacity="0.25" stroke-linecap="round"/>
<!-- Additional shadow for depth -->
<ellipse cx="200" cy="345" rx="50" ry="15" fill="#00000015"/>
</svg>action
“Draw a cat riding a bicycle as an SVG.”
GLM-4.6 · action · attempt 1 · score 8.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle frame -->
<path d="M150 200 L200 150 L250 200 M200 150 L220 100 M180 140 L210 130"
stroke="#2c3e50" stroke-width="4" fill="none" stroke-linecap="round"/>
<!-- Seat -->
<ellipse cx="220" cy="100" rx="25" ry="8" fill="#34495e"/>
<!-- Handlebars -->
<path d="M250 120 L260 100 L280 100"
stroke="#2c3e50" stroke-width="4" fill="none" stroke-linecap="round"/>
<circle cx="280" cy="100" r="4" fill="#2c3e50"/>
<!-- Rear wheel -->
<circle cx="150" cy="200" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="150" cy="200" r="28" fill="none" stroke="#2c3e50" stroke-width="1"/>
<circle cx="150" cy="200" r="3" fill="#2c3e50"/>
<path d="M150 200 L150 165 L175 200 L150 235 L125 200 Z"
stroke="#2c3e50" stroke-width="1" fill="none"/>
<!-- Front wheel -->
<circle cx="250" cy="200" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="250" cy="200" r="28" fill="none" stroke="#2c3e50" stroke-width="1"/>
<circle cx="250" cy="200" r="3" fill="#2c3e50"/>
<path d="M250 200 L250 165 L275 200 L250 235 L225 200 Z"
stroke="#2c3e50" stroke-width="1" fill="none"/>
<!-- Pedals -->
<circle cx="200" cy="200" r="5" fill="#2c3e50"/>
<rect x="185" y="198" width="30" height="4" rx="2" fill="#2c3e50"/>
<rect x="198" y="183" width="4" height="30" rx="2" fill="#2c3e50"/>
<!-- Cat body -->
<ellipse cx="210" cy="130" rx="35" ry="30" fill="#ff6b35"/>
<!-- Cat head -->
<circle cx="210" cy="105" r="22" fill="#ff6b35"/>
<!-- Cat ears -->
<path d="M190 100 L190 88 L195 95 Z" fill="#ff6b35"/>
<path d="M230 100 L230 88 L225 95 Z" fill="#ff6b35"/>
<!-- Cat face details -->
<circle cx="200" cy="103" r="2" fill="#2c3e50"/>
<circle cx="220" cy="103" r="2" fill="#2c3e50"/>
<path d="M210 108 Q205 112 210 114 Q215 112 210 108"
stroke="#2c3e50" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<!-- Cat tail -->
<path d="M175 135 Q155 140 150 155 Q148 165 155 168"
stroke="#ff6b35" stroke-width="14" fill="none" stroke-linecap="round"/>
<!-- Cat front paws gripping handlebars -->
<ellipse cx="240" cy="115" rx="6" ry="10" fill="#ff6b35" transform="rotate(-20 240 115)"/>
<ellipse cx="255" cy="110" rx="6" ry="10" fill="#ff6b35" transform="rotate(-15 255 110)"/>
<!-- Decorative whiskers -->
<path d="M188 105 L175 103 M188 108 L175 109" stroke="#2c3e50" stroke-width="1" stroke-linecap="round"/>
<path d="M232 105 L245 103 M232 108 L245 109" stroke="#2c3e50" stroke-width="1" stroke-linecap="round"/>
</svg>GLM-4.6 · 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">
<!-- Background -->
<rect width="400" height="300" fill="#e6f3ff"/>
<!-- Ground line -->
<line x1="0" y1="250" x2="400" y2="250" stroke="#95a99c" stroke-width="2"/>
<!-- Bicycle -->
<!-- Back wheel -->
<circle cx="120" cy="230" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="120" cy="230" r="30" fill="none" stroke="#34495e" stroke-width="2"/>
<circle cx="120" cy="230" r="4" fill="#2c3e50"/>
<!-- Front wheel -->
<circle cx="280" cy="230" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="280" cy="230" r="30" fill="none" stroke="#34495e" stroke-width="2"/>
<circle cx="280" cy="230" r="4" fill="#2c3e50"/>
<!-- Bicycle frame -->
<line x1="120" y1="230" x2="200" y2="180" stroke="#e74c3c" stroke-width="4"/>
<line x1="200" y1="180" x2="280" y2="230" stroke="#e74c3c" stroke-width="4"/>
<line x1="200" y1="180" x2="200" y2="140" stroke="#e74c3c" stroke-width="4"/>
<line x1="200" y1="180" x2="190" y2="210" stroke="#e74c3c" stroke-width="4"/>
<line x1="190" y1="210" x2="120" y2="230" stroke="#e74c3c" stroke-width="4"/>
<!-- Seat -->
<ellipse cx="200" cy="135" rx="25" ry="8" fill="#8b4513"/>
<!-- Handlebars -->
<line x1="280" y1="230" x2="270" y2="160" stroke="#34495e" stroke-width="3"/>
<path d="M 255 155 Q 265 145 285 155" fill="none" stroke="#2c3e50" stroke-width="3"/>
<!-- Pedals -->
<line x1="190" y1="210" x2="185" y2="225" stroke="#34495e" stroke-width="2"/>
<line x1="190" y1="210" x2="195" y2="195" stroke="#34495e" stroke-width="2"/>
<rect x="180" y="223" width="10" height="4" rx="2" fill="#34495e"/>
<rect x="190" y="193" width="10" height="4" rx="2" fill="#34495e"/>
<!-- Cat -->
<!-- Cat body -->
<ellipse cx="185" cy="115" rx="35" ry="25" fill="#ff8c69"/>
<!-- Cat head -->
<ellipse cx="145" cy="100" rx="25" ry="22" fill="#ff8c69"/>
<!-- Cat ears -->
<path d="M 125 85 L 120 70 L 135 78 Z" fill="#ff8c69"/>
<path d="M 155 78 L 170 70 L 165 85 Z" fill="#ff8c69"/>
<path d="M 125 77 L 123 72 L 133 76 Z" fill="#ffb3a1"/>
<path d="M 157 76 L 167 72 L 165 77 Z" fill="#ffb3a1"/>
<!-- Cat eyes -->
<ellipse cx="135" cy="98" rx="4" ry="6" fill="#2c3e50"/>
<ellipse cx="154" cy="98" rx="4" ry="6" fill="#2c3e50"/>
<ellipse cx="136" cy="97" rx="2" ry="3" fill="white"/>
<ellipse cx="155" cy="97" rx="2" ry="3" fill="white"/>
<!-- Cat nose -->
<path d="M 145 105 L 142 108 L 148 108 Z" fill="#d4625b"/>
<!-- Cat mouth -->
<path d="M 145 108 Q 140 112 138 108" fill="none" stroke="#d4625b" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 145 108 Q 150 112 152 108" fill="none" stroke="#d4625b" stroke-width="1.5" stroke-linecap="round"/>
<!-- Cat whiskers -->
<line x1="130" y1="105" x2="115" y2="103" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="130" y1="108" x2="115" y2="108" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="160" y1="105" x2="175" y2="103" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="160" y1="108" x2="175" y2="108" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<!-- Cat front paws holding handlebars -->
<ellipse cx="270" cy="150" rx="8" ry="12" fill="#ff8c69" transform="rotate(-30 270 150)"/>
<ellipse cx="260" cy="152" rx="8" ry="12" fill="#ff8c69" transform="rotate(-40 260 152)"/>
<!-- Cat tail -->
<path d="M 215 115 Q 240 100 245 120 Q 248 130 240 135" fill="none" stroke="#ff8c69" stroke-width="12" stroke-linecap="round"/>
<!-- Stripes on cat -->
<path d="M 165 110 Q 170 105 175 110" fill="none" stroke="#d4625b" stroke-width="2" opacity="0.5"/>
<path d="M 170 118 Q 175 113 180 118" fill="none" stroke="#d4625b" stroke-width="2" opacity="0.5"/>
<path d="M 175 125 Q 180 120 185 125" fill="none" stroke="#d4625b" stroke-width="2" opacity="0.5"/>
<!-- Motion lines -->
<line x1="90" y1="230" x2="60" y2="230" stroke="#95a99c" stroke-width="2" opacity="0.3"/>
<line x1="95" y1="220" x2="65" y2="220" stroke="#95a99c" stroke-width="2" opacity="0.3"/>
<line x1="95" y1="240" x2="65" y2="240" stroke="#95a99c" stroke-width="2" opacity="0.3"/>
</svg>GLM-4.6 · 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 frame -->
<g stroke="#333" stroke-width="3" fill="none">
<!-- Main frame triangle -->
<line x1="150" y1="200" x2="200" y2="120" stroke-width="4"/>
<line x1="200" y1="120" x2="280" y2="200" stroke-width="4"/>
<line x1="150" y1="200" x2="210" y2="200" stroke-width="4"/>
<!-- Fork and handlebars -->
<line x1="280" y1="200" x2="290" y2="100" stroke-width="3"/>
<line x1="280" y1="100" x2="320" y2="90" stroke-width="3"/>
<circle cx="280" cy="100" r="15" fill="none"/>
<line x1="265" y1="100" x2="295" y2="100" stroke-width="3"/>
<!-- Seat post and seat -->
<line x1="200" y1="120" x2="210" y2="100" stroke-width="3"/>
<ellipse cx="220" cy="95" rx="25" ry="8" fill="#8B4513" stroke="#333" stroke-width="2"/>
<!-- Pedals and crank -->
<circle cx="180" cy="200" r="12" fill="none"/>
<line x1="168" y1="200" x2="192" y2="200" stroke-width="2"/>
<line x1="180" y1="188" x2="180" y2="212" stroke-width="2"/>
</g>
<!-- Wheels -->
<g fill="none" stroke="#333" stroke-width="3">
<circle cx="150" cy="200" r="35"/>
<circle cx="280" cy="200" r="35"/>
<!-- Spokes -->
<g stroke="#666" stroke-width="1">
<line x1="150" y1="165" x2="150" y2="235"/>
<line x1="115" y1="200" x2="185" y2="200"/>
<line x1="125" y1="175" x2="175" y2="225"/>
<line x1="175" y1="175" x2="125" y2="225"/>
<line x1="280" y1="165" x2="280" y2="235"/>
<line x1="245" y1="200" x2="315" y2="200"/>
<line x1="255" y1="175" x2="305" y2="225"/>
<line x1="305" y1="175" x2="255" y2="225"/>
</g>
</g>
<!-- Cat -->
<g transform="translate(200, 80)">
<!-- Body -->
<ellipse cx="20" cy="20" rx="28" ry="22" fill="#FFA500"/>
<!-- Head -->
<ellipse cx="5" cy="10" rx="18" ry="16" fill="#FFA500"/>
<!-- Ears -->
<path d="M -8 2 L -12 -8 L -3 0 Z" fill="#FFA500"/>
<path d="M 18 2 L 14 -8 L 23 0 Z" fill="#FFA500"/>
<path d="M -7 0 L -10 -5 L -5 -2 Z" fill="#FFB6C1"/>
<path d="M 19 0 L 16 -5 L 21 -2 Z" fill="#FFB6C1"/>
<!-- Eyes -->
<ellipse cx="-2" cy="10" rx="3" ry="4" fill="#000"/>
<ellipse cx="8" cy="10" rx="3" ry="4" fill="#000"/>
<ellipse cx="-1" cy="9" rx="1" ry="1.5" fill="#FFF"/>
<ellipse cx="9" cy="9" rx="1" ry="1.5" fill="#FFF"/>
<!-- Nose -->
<path d="M 3 15 L 1 17 L 5 17 Z" fill="#FF69B4"/>
<!-- Mouth -->
<path d="M 3 17 Q 0 19 -2 17" stroke="#333" stroke-width="1" fill="none"/>
<path d="M 3 17 Q 6 19 8 17" stroke="#333" stroke-width="1" fill="none"/>
<!-- Whiskers -->
<line x1="-10" y1="13" x2="-20" y2="11" stroke="#333" stroke-width="0.5"/>
<line x1="-10" y1="16" x2="-20" y2="16" stroke="#333" stroke-width="0.5"/>
<line x1="10" y1="13" x2="20" y2="11" stroke="#333" stroke-width="0.5"/>
<line x1="10" y1="16" x2="20" y2="16" stroke="#333" stroke-width="0.5"/>
<!-- Front paws on handlebars -->
<ellipse cx="40" cy="25" rx="6" ry="8" fill="#FFA500" transform="rotate(-20 40 25)"/>
<ellipse cx="50" cy="22" rx="6" ry="8" fill="#FFA500" transform="rotate(-15 50 22)"/>
<!-- Stripes -->
<path d="M 5 5 Q 0 8 2 10" stroke="#FF6500" stroke-width="2" fill="none"/>
<path d="M 12 4 Q 17 8 14 10" stroke="#FF6500" stroke-width="2" fill="none"/>
<path d="M 10 15 Q 5 18 8 20" stroke="#FF6500" stroke-width="2" fill="none"/>
<!-- Tail -->
<path d="M -5 30 Q -15 35 -18 45 Q -20 55 -15 60" stroke="#FFA500" stroke-width="8" fill="none"/>
<path d="M -5 30 Q -15 35 -18 45 Q -20 55 -15 60" stroke="#FF6500" stroke-width="3" fill="none"/>
</g>
<!-- Motion lines for speed -->
<g stroke="#87CEEB" stroke-width="2" opacity="0.6">
<line x1="50" y1="180" x2="30" y2="180"/>
<line x1="50" y1="190" x2="25" y2="190"/>
<line x1="50" y1="200" x2="30" y2="200"/>
<line x1="50" y1="210" x2="25" y2="210"/>
</g>
</svg>GLM-4.6 · action · attempt 4 · 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 wheels -->
<circle cx="100" cy="210" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="100" cy="210" r="30" fill="none" stroke="#34495e" stroke-width="1"/>
<circle cx="260" cy="210" r="35" fill="none" stroke="#2c3e50" stroke-width="3"/>
<circle cx="260" cy="210" r="30" fill="none" stroke="#34495e" stroke-width="1"/>
<!-- Spokes -->
<g stroke="#7f8c8d" stroke-width="1" opacity="0.5">
<line x1="100" y1="175" x2="100" y2="245"/>
<line x1="65" y1="210" x2="135" y2="210"/>
<line x1="75" y1="185" x2="125" y2="235"/>
<line x1="125" y1="185" x2="75" y2="235"/>
<line x1="260" y1="175" x2="260" y2="245"/>
<line x1="225" y1="210" x2="295" y2="210"/>
<line x1="235" y1="185" x2="285" y2="235"/>
<line x1="285" y1="185" x2="235" y2="235"/>
</g>
<!-- Bicycle frame -->
<path d="M100 210 L180 130 L180 140 L260 210 L180 210 L180 140"
fill="none" stroke="#e74c3c" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<!-- Seat -->
<ellipse cx="180" cy="130" rx="25" ry="8" fill="#8e44ad"/>
<rect x="175" y="130" width="10" height="15" fill="#34495e"/>
<!-- Handlebars -->
<line x1="260" y1="210" x2="240" y2="140" stroke="#e74c3c" stroke-width="4"/>
<path d="M225 135 Q220 130 225 125" fill="none" stroke="#34495e" stroke-width="3" stroke-linecap="round"/>
<circle cx="225" cy="130" r="3" fill="#2c3e50"/>
<!-- Pedals -->
<ellipse cx="180" cy="210" rx="15" ry="5" fill="#95a5a6" transform="rotate(-30 180 210)"/>
<!-- Cat body -->
<ellipse cx="200" cy="120" rx="35" ry="40" fill="#ff8c42"/>
<!-- Cat head -->
<circle cx="170" cy="95" r="25" fill="#ff8c42"/>
<!-- Cat ears -->
<path d="M150 85 L145 70 L155 78 Z" fill="#ff8c42"/>
<path d="M190 85 L195 70 L185 78 Z" fill="#ff8c42"/>
<path d="M152 75 L147 73 L152 70 Z" fill="#ffbf80"/>
<path d="M188 75 L193 73 L188 70 Z" fill="#ffbf80"/>
<!-- Cat face details -->
<circle cx="160" cy="92" r="4" fill="#2c3e50"/>
<circle cx="180" cy="92" r="4" fill="#2c3e50"/>
<ellipse cx="175" cy="105" rx="3" ry="2" fill="#e67e22"/>
<!-- Stripes -->
<path d="M185 95 Q190 100 192 95" fill="none" stroke="#d35400" stroke-width="2" stroke-linecap="round"/>
<path d="M190 98 Q195 103 197 98" fill="none" stroke="#d35400" stroke-width="2" stroke-linecap="round"/>
<path d="M195 101 Q200 106 202 101" fill="none" stroke="#d35400" stroke-width="2" stroke-linecap="round"/>
<!-- cat arms on handlebars -->
<ellipse cx="235" cy="135" rx="8" ry="20" fill="#ff8c42" transform="rotate(-20 235 135)"/>
<ellipse cx="215" cy="140" rx="8" ry="20" fill="#ff8c42" transform="rotate(20 215 140)"/>
<!-- Cat paws -->
<circle cx="232" cy="125" r="6" fill="#ffbf80"/>
<circle cx="218" cy="125" r="6" fill="#ffbf80"/>
<!-- Cat tail -->
<path d="M220 115 Q250 100 240 80 Q235 70 230 75"
fill="none" stroke="#ff8c42" stroke-width="15" stroke-linecap="round"/>
<!-- Cat whiskers -->
<line x1="145" y1="95" x2="135" y2="92" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="145" y1="100" x2="135" y2="100" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="195" y1="95" x2="205" y2="92" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<line x1="195" y1="100" x2="205" y2="100" stroke="#2c3e50" stroke-width="1" opacity="0.6"/>
<!-- Cat legs positioned near pedals -->
<ellipse cx="165" cy="140" rx="8" ry="18" fill="#ff8c42" transform="rotate(10 165 140)"/>
<ellipse cx="195" cy="145" rx="8" ry="18" fill="#ff8c42" transform="rotate(-10 195 145)"/>
<!-- Cat paws on pedals -->
<ellipse cx="175" cy="155" rx="8" ry="5" fill="#ffbf80" transform="rotate(-30 175 155)"/>
<ellipse cx="185" cy="158" rx="8" ry="5" fill="#ffbf80" transform="rotate(30 185 158)"/>
<!-- Happy cat mouth -->
<path d="M165 107 Q170 110 175 107" fill="none" stroke="#2c3e50" stroke-width="1.5" stroke-linecap="round"/>
</svg>style
“Draw an origami-style cat with geometric folds as an SVG.”
GLM-4.6 · style · attempt 1 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="paperGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f8f5f0;stop-opacity:1" />
<stop offset="100%" style="stop-color:#e8ddc7;stop-opacity:1" />
</linearGradient>
<linearGradient id="shadowGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#d4c5b0;stop-opacity:1" />
<stop offset="100%" style="stop-color:#c4b5a0;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Body -->
<polygon points="200,250 120,400 160,420 240,420 280,400 200,250"
fill="url(#paperGrad)" stroke="#a8957f" stroke-width="2"/>
<!-- Body fold lines -->
<line x1="200" y1="250" x2="160" y2="400" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<line x1="200" y1="250" x2="240" y2="400" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<line x1="160" y1="400" x2="280" y2="400" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<!-- Head base -->
<polygon points="200,120 100,220 200,250 300,220 200,120"
fill="url(#paperGrad)" stroke="#a8957f" stroke-width="2"/>
<!-- Left ear -->
<polygon points="100,220 80,120 200,120 100,220"
fill="url(#shadowGrad)" stroke="#a8957f" stroke-width="2"/>
<polygon points="120,160 110,130 140,150 120,160"
fill="#f8f5f0" stroke="#a8957f" stroke-width="1"/>
<!-- Right ear -->
<polygon points="200,120 300,220 320,120 200,120"
fill="url(#shadowGrad)" stroke="#a8957f" stroke-width="2"/>
<polygon points="280,160 260,150 290,130 280,160"
fill="#f8f5f0" stroke="#a8957f" stroke-width="1"/>
<!-- Face folds -->
<line x1="200" y1="120" x2="100" y2="220" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<line x1="200" y1="120" x2="300" y2="220" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<line x1="200" y1="120" x2="200" y2="250" stroke="#a8957f" stroke-width="1.5" opacity="0.5"/>
<!-- Left eye triangle -->
<polygon points="150,170 165,190 135,190 150,170"
fill="#2c2416" stroke="#a8957f" stroke-width="1.5"/>
<!-- Right eye triangle -->
<polygon points="250,170 265,190 235,190 250,170"
fill="#2c2416" stroke="#a8957f" stroke-width="1.5"/>
<!-- Nose triangle -->
<polygon points="200,210 210,225 190,225 200,210"
fill="#d4a373" stroke="#a8957f" stroke-width="1.5"/>
<!-- Left whisker lines -->
<line x1="170" y1="215" x2="130" y2="210" stroke="#2c2416" stroke-width="1.5" opacity="0.7"/>
<line x1="170" y1="225" x2="130" y2="225" stroke="#2c2416" stroke-width="1.5" opacity="0.7"/>
<!-- Right whisker lines -->
<line x1="230" y1="215" x2="270" y2="210" stroke="#2c2416" stroke-width="1.5" opacity="0.7"/>
<line x1="230" y1="225" x2="270" y2="225" stroke="#2c2416" stroke-width="1.5" opacity="0.7"/>
<!-- Tail -->
<polygon points="120,380 60,340 40,380 80,400 120,380"
fill="url(#shadowGrad)" stroke="#a8957f" stroke-width="2"/>
<line x1="60" y1="340" x2="80" y2="400" stroke="#a8957f" stroke-width="1" opacity="0.5"/>
<!-- Fold highlights -->
<polygon points="200,120 200,180 250,210 200,120"
fill="#ffffff" opacity="0.2"/>
<polygon points="120,400 150,380 160,420 120,400"
fill="#ffffff" opacity="0.15"/>
</svg>GLM-4.6 · style · attempt 2 · score 9.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 350">
<defs>
<!-- Gradients for paper texturing -->
<linearGradient id="paperFront" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="100%" stop-color="#F0F0F0" />
</linearGradient>
<linearGradient id="paperMid" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#F0F0F0" />
<stop offset="100%" stop-color="#E0E0E0" />
</linearGradient>
<linearGradient id="paperBack" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#E0E0E0" />
<stop offset="100%" stop-color="#D0D0D0" />
</linearGradient>
<!-- Drop shadow for depth -->
<filter id="dropShadow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
<feOffset dx="0" dy="4" result="offsetblur"/>
<feComponentTransfer>
<feFuncA type="linear" slope="0.3"/>
</feComponentTransfer>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Background Circle -->
<circle cx="150" cy="180" r="140" fill="#546E7A" />
<!-- Main Group -->
<g transform="translate(150, 160)" filter="url(#dropShadow)">
<!-- Chest/Body -->
<polygon points="-40,50 40,50 60,160 -60,160" fill="url(#paperMid)" />
<!-- Back (Right side - in shadow) -->
<polygon points="0,-60 60,-90 50,20 10,40" fill="url(#paperBack)" />
<polygon points="0,-60 60,-90 80,10" fill="url(#paperMid)" opacity="0.8"/> <!-- Right Ear outer flap -->
<!-- Head Back (Right Face) -->
<polygon points="0,-60 50,20 80,60 0,80" fill="url(#paperBack)" />
<!-- Snout (Shadow side) -->
<polygon points="0,80 80,60 0,120" fill="url(#paperBack)" />
<!-- Front (Left side - in light) -->
<!-- Left Face -->
<polygon points="0,-60 -50,20 -80,60 0,80" fill="url(#paperFront)" />
<!-- Snout (Light side) -->
<polygon points="0,80 -80,60 0,120" fill="url(#paperFront)" />
<!-- Left Ear -->
<polygon points="0,-60 -60,-90 -50,20" fill="url(#paperFront)" />
<!-- Abstract Nose -->
<polygon points="-10,90 10,90 0,105" fill="#FF8A80" />
<!-- Geometric Eyes -->
<!-- Left Eye -->
<path d="M-40,20 L-10,20 L-25,40 Z" fill="#37474F" />
<!-- Right Eye -->
<path d="M10,20 L40,20 L25,40 Z" fill="#263238" />
<!-- Geometric Whiskers -->
<g stroke="#FFFFFF" stroke-width="1.5" stroke-opacity="0.6" stroke-linecap="round">
<line x1="-80" y1="60" x2="-120" y2="50" />
<line x1="-80" y1="70" x2="-120" y2="80" />
<line x1="80" y1="60" x2="120" y2="50" />
<line x1="80" y1="70" x2="120" y2="80" />
</g>
<!-- Contrast Fold Lines (Subtle) -->
<path d="M0,-60 L0,120" stroke="#000000" stroke-width="0.5" stroke-opacity="0.1" />
<path d="M0,-60 L-50,20" stroke="#000000" stroke-width="0.5" stroke-opacity="0.1" />
<path d="M0,-60 L50,20" stroke="#000000" stroke-width="0.5" stroke-opacity="0.1" />
</g>
</svg>GLM-4.6 · style · attempt 3 · score 9.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
<defs>
<filter id="softShadow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="5"/>
<feOffset dx="2" dy="4" result="offsetblur"/>
<feComponentTransfer>
<feFuncA type="linear" slope="0.2"/>
</feComponentTransfer>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- Background / Floor Shadow -->
<ellipse cx="250" cy="440" rx="120" ry="15" fill="#000" opacity="0.15"/>
<g filter="url(#softShadow)" transform="translate(0, 10)">
<!-- Tail -->
<path d="M340,380 Q400,360 420,300 L430,290 L415,310 Q390,370 340,400 Z" fill="#E65100"/>
<!-- Back Leg (Left) -->
<path d="M160,340 L130,430 L230,430 L210,340 Z" fill="#F57C00"/>
<!-- Body (Main Mass) -->
<!-- Left Side Shadow -->
<path d="M200,280 L130,430 L250,430 L240,260 Z" fill="#E65100"/>
<!-- Right Side Highlight -->
<path d="M300,280 L370,430 L250,430 L260,260 Z" fill="#FFB74D"/>
<!-- Chest/Center Fold -->
<path d="M230,280 L250,430 L270,280 Z" fill="#FFE0B2"/>
<!-- Head Base -->
<!-- Left Cheek (Shadow) -->
<path d="M190,150 L140,260 L250,260 L240,170 Z" fill="#EF6C00"/>
<!-- Right Cheek (Highlight) -->
<path d="M310,150 L360,260 L250,260 L260,170 Z" fill="#FF9800"/>
<!-- Forehead (Center Highlight) -->
<path d="M240,170 L260,170 L260,260 L240,260" fill="#FFCC80"/>
<!-- Ears -->
<!-- Left Ear Outer -->
<path d="M190,150 L150,60 L240,170 Z" fill="#FB8C00"/>
<!-- Left Ear Inner -->
<path d="M190,150 L170,90 L220,140 Z" fill="#FF3D00"/>
<!-- Right Ear Outer -->
<path d="M310,150 L350,60 L260,170 Z" fill="#FFB74D"/>
<!-- Right Ear Inner -->
<path d="M310,150 L330,90 L280,140 Z" fill="#D84315"/>
<!-- Face Details -->
<!-- Nose Tip (Small Triangle) -->
<path d="M250,260 L240,245 L260,245 Z" fill="#3E2723"/>
<!-- Eyes (Geometric Diamonds) -->
<g fill="#FFFFFF">
<path d="M210,200 L200,215 L210,230 L220,215 Z"/>
<path d="M290,200 L280,215 L290,230 L300,215 Z"/>
</g>
<!-- Pupils -->
<g fill="#212121">
<circle cx="210" cy="215" r="4"/>
<circle cx="290" cy="215" r="4"/>
</g>
<!-- Whiskers (lines) -->
<g stroke="#FFF3E0" stroke-width="2" stroke-linecap="round">
<line x1="140" y1="235" x2="190" y2="225"/>
<line x1="135" y1="250" x2="185" y2="245"/>
<line x1="360" y1="235" x2="310" y2="225"/>
<line x1="365" y1="250" x2="315" y2="245"/>
</g>
</g>
</svg>GLM-4.6 · style · attempt 4 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="paperGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#f4f1de;stop-opacity:1" />
<stop offset="100%" style="stop-color:#e8ddb7;stop-opacity:1" />
</linearGradient>
<linearGradient id="darkPaperGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#d4c5a5;stop-opacity:1" />
<stop offset="100%" style="stop-color:#c3b495;stop-opacity:1" />
</linearGradient>
</defs>
<!-- Body -->
<polygon points="200,300 120,280 100,220 120,180 180,160 220,160 280,180 300,220 280,280"
fill="url(#paperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<!-- Body crease lines -->
<line x1="200" y1="160" x2="200" y2="300" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<line x1="140" y1="180" x2="140" y2="260" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<line x1="260" y1="180" x2="260" y2="260" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<!-- Head -->
<polygon points="200,160 140,140 120,100 140,60 200,40 260,60 280,100 260,140"
fill="url(#paperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<!-- Left ear -->
<polygon points="120,100 100,60 140,60"
fill="url(#darkPaperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<polygon points="100,60 90,40 140,60"
fill="url(#paperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<!-- Right ear -->
<polygon points="280,100 300,60 260,60"
fill="url(#darkPaperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<polygon points="300,60 310,40 260,60"
fill="url(#paperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<!-- Face features using geometric shapes -->
<!-- Left eye -->
<polygon points="165,85 155,90 165,95 175,90"
fill="#3d2914" stroke="#8b7355" stroke-width="1.5" stroke-linejoin="miter"/>
<polygon points="165,88 162,89 165,91 168,89"
fill="#87ceeb" opacity="0.7"/>
<!-- Right eye -->
<polygon points="235,85 225,90 235,95 245,90"
fill="#3d2914" stroke="#8b7355" stroke-width="1.5" stroke-linejoin="miter"/>
<polygon points="235,88 232,89 235,91 238,89"
fill="#87ceeb" opacity="0.7"/>
<!-- Nose -->
<polygon points="200,105 190,110 200,115 210,110"
fill="#d4a574" stroke="#8b7355" stroke-width="1.5" stroke-linejoin="miter"/>
<!-- Whiskers (lines for origami style) -->
<line x1="190" y1="110" x2="120" y2="100" stroke="#8b7355" stroke-width="1.5" opacity="0.7"/>
<line x1="190" y1="115" x2="120" y2="115" stroke="#8b7355" stroke-width="1.5" opacity="0.7"/>
<line x1="210" y1="110" x2="280" y2="100" stroke="#8b7355" stroke-width="1.5" opacity="0.7"/>
<line x1="210" y1="115" x2="280" y2="115" stroke="#8b7355" stroke-width="1.5" opacity="0.7"/>
<!-- Tail -->
<polygon points="280,240 350,260 360,200 320,180 280,200"
fill="url(#paperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<line x1="280" y1="200" x2="350" y2="210" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<!-- Front left leg -->
<polygon points="140,260 130,320 150,330 160,280"
fill="url(#darkPaperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<line x1="150" y1="280" x2="145" y2="310" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<!-- Front right leg -->
<polygon points="260,260 270,320 250,330 240,280"
fill="url(#darkPaperGrad)" stroke="#8b7355" stroke-width="2" stroke-linejoin="miter"/>
<line x1="250" y1="280" x2="255" y2="310" stroke="#8b7355" stroke-width="1.5" opacity="0.5"/>
<!-- Fold accent triangles -->
<polygon points="160,140 180,150 180,120"
fill="#d4c5a5" opacity="0.3"/>
<polygon points="240,140 220,150 220,120"
fill="#d4c5a5" opacity="0.3"/>
<polygon points="160,220 180,230 180,200"
fill="#d4c5a5" opacity="0.3"/>
<polygon points="240,220 220,230 220,200"
fill="#d4c5a5" opacity="0.3"/>
</svg>constraint
“Draw a recognizable cat as an SVG using at most 12 SVG elements.”
GLM-4.6 · 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="140" rx="40" ry="35" fill="#4a4a4a"/>
<path d="M70 100 Q100 60 130 100 L125 80 Q110 70 100 72 Q90 70 75 80 Z" fill="#4a4a4a"/>
<circle cx="85" cy="95" r="4"/>
<circle cx="115" cy="95" r="4"/>
<circle cx="100" cy="105" r="2" fill="#ff69b4"/>
<path d="M100 105 Q90 110 85 105 M100 105 Q110 110 115 105" stroke="#333" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<path d="M60 100 Q40 100 40 110 M140 100 Q160 100 160 110" stroke="#333" stroke-width="1" stroke-linecap="round"/>
<ellipse cx="70" cy="160" rx="12" ry="8" fill="#4a4a4a"/>
<ellipse cx="130" cy="160" rx="12" ry="8" fill="#4a4a4a"/>
<path d="M140 150 Q180 140 170 180" stroke="#4a4a4a" stroke-width="8" fill="none" stroke-linecap="round"/>
<ellipse cx="90" cy="85" rx="3" ry="5" fill="#fff"/>
<ellipse cx="110" cy="85" rx="3" ry="5" fill="#fff"/>
</svg>GLM-4.6 · constraint · attempt 2 · score 8.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<path d="M100 50 q-30 0 -30 20 l0 40 q0 30 20 40 l10 5 l0 30 q0 10 10 10 t10 -10 l0 -20 l20 0 l0 20 q0 10 10 10 t10 -10 l0 -30 l10 -5 q20 -10 20 -40 l0 -40 q0 -20 -30 -20 z" fill="#4a4a4a"/>
<path d="M70 50 l-10 -15 l20 5 z M130 50 l10 -15 l-20 5 z" fill="#ff6b6b"/>
<circle cx="85" cy="70" r="5" fill="#333"/>
<circle cx="115" cy="70" r="5" fill="#333"/>
<path d="M100 80 l-3 3 l6 0 z" fill="#ff69b4"/>
<path d="M70 85 m-15 0 l30 0 M130 85 m-15 0 l30 0 M70 95 m-10 0 l20 0 M130 95 m-10 0 l20 0" stroke="#333" stroke-width="1.5" fill="none"/>
<path d="M140 120 q20 -10 30 0 q10 5 0 10 q-15 5 -30 0 z" fill="#6b6b6b"/>
<ellipse cx="80" cy="140" rx="8" ry="5" fill="#4a4a4a"/>
<ellipse cx="120" cy="140" rx="8" ry="5" fill="#4a4a4a"/>
</svg>GLM-4.6 · constraint · attempt 3 · 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="35" ry="30" fill="#333" />
<path d="M 75 105 L 65 85 L 80 95 Z" fill="#333" />
<path d="M 125 105 L 135 85 L 120 95 Z" fill="#333" />
<circle cx="85" cy="115" r="3" fill="white" />
<circle cx="115" cy="115" r="3" fill="white" />
<path d="M 100 118 L 98 122 L 102 122 Z" fill="white" />
<path d="M 100 122 Q 90 128 75 120" stroke="white" stroke-width="1.5" fill="none" />
<path d="M 100 122 Q 110 128 125 120" stroke="white" stroke-width="1.5" fill="none" />
<ellipse cx="100" cy="140" rx="25" ry="20" fill="#333" />
<path d="M 75 140 Q 60 130 55 140" stroke="#333" stroke-width="8" stroke-linecap="round" fill="none" />
<path d="M 70 125 L 65 125 M 70 130 L 65 130" stroke="white" stroke-width="1" stroke-linecap="round" />
<path d="M 130 125 L 135 125 M 130 130 L 135 130" stroke="white" stroke-width="1" stroke-linecap="round" />
</svg>GLM-4.6 · 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">
<circle cx="100" cy="100" r="50" fill="#4a4a4a"/>
<polygon points="60,70 50,50 75,60" fill="#4a4a4a"/>
<polygon points="140,70 150,50 125,60" fill="#4a4a4a"/>
<circle cx="85" cy="95" r="5" fill="#fff"/>
<circle cx="115" cy="95" r="5" fill="#fff"/>
<circle cx="85" cy="95" r="2" fill="#000"/>
<circle cx="115" cy="95" r="2" fill="#000"/>
<polygon points="100,105 95,112 105,112" fill="#ff69b4"/>
<line x1="70" y1="110" x2="50" y2="105" stroke="#fff" stroke-width="2"/>
<line x1="70" y1="115" x2="50" y2="115" stroke="#fff" stroke-width="2"/>
<line x1="130" y1="110" x2="150" y2="105" stroke="#fff" stroke-width="2"/>
<line x1="130" y1="115" x2="150" y2="115" stroke="#fff" stroke-width="2"/>
</svg>animation
“Draw a cat whose tail sways continuously, as an SVG using SMIL or CSS animation only (no JavaScript).”
GLM-4.6 · animation · attempt 1 · score 8.8
the actual svg, as the machine wrote it:
<svg width="300" height="250" viewBox="0 0 300 250" xmlns="http://www.w3.org/2000/svg">
<style>
@keyframes sway {
0% { transform: rotate(0deg); }
25% { transform: rotate(15deg); }
50% { transform: rotate(-5deg); }
75% { transform: rotate(12deg); }
100% { transform: rotate(0deg); }
}
.tail {
animation: sway 2.5s ease-in-out infinite;
transform-origin: 170px 160px;
}
.eye-blink {
animation: blink 3s infinite;
}
@keyframes blink {
0%, 90%, 100% { opacity: 1; }
95% { opacity: 0; }
}
</style>
<!-- Shadow -->
<ellipse cx="150" cy="230" rx="60" ry="15" fill="rgba(0,0,0,0.2)"/>
<!-- Body -->
<ellipse cx="150" cy="160" rx="50" ry="35" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<!-- Head -->
<circle cx="150" cy="110" r="35" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<!-- Ears -->
<path d="M 120 95 L 115 75 L 130 85 Z" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<path d="M 170 85 L 185 75 L 180 95 Z" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<!-- Inner ears -->
<path d="M 122 88 L 120 80 L 127 83 Z" fill="#FFB366"/>
<path d="M 173 83 L 180 80 L 178 88 Z" fill="#FFB366"/>
<!-- Eyes -->
<circle cx="135" cy="105" r="8" fill="#2C3E50"/>
<circle cx="165" cy="105" r="8" fill="#2C3E50"/>
<!-- Eye highlights -->
<circle cx="137" cy="103" r="3" fill="white"/>
<circle cx="167" cy="103" r="3" fill="white"/>
<!-- Eye lids for blinking -->
<rect class="eye-blink" x="128" y="100" width="14" height="10" fill="#FFA500"/>
<rect class="eye-blink" x="158" y="100" width="14" height="10" fill="#FFA500"/>
<!-- Nose -->
<path d="M 150 115 L 145 120 L 155 120 Z" fill="#E89500"/>
<!-- Mouth -->
<path d="M 150 120 Q 140 125 135 120" fill="none" stroke="#8B4513" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 150 120 Q 160 125 165 120" fill="none" stroke="#8B4513" stroke-width="1.5" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="90" y1="115" x2="120" y2="110" stroke="#8B4513" stroke-width="1" stroke-linecap="round"/>
<line x1="90" y1="125" x2="120" y2="120" stroke="#8B4513" stroke-width="1" stroke-linecap="round"/>
<line x1="180" y1="110" x2="210" y2="115" stroke="#8B4513" stroke-width="1" stroke-linecap="round"/>
<line x1="180" y1="120" x2="210" y2="125" stroke="#8B4513" stroke-width="1" stroke-linecap="round"/>
<!-- Front legs -->
<ellipse cx="125" cy="185" rx="12" ry="20" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<ellipse cx="175" cy="185" rx="12" ry="20" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
<!-- Paws -->
<ellipse cx="125" cy="200" rx="15" ry="10" fill="#FFB366" stroke="#E89500" stroke-width="1.5"/>
<ellipse cx="175" cy="200" rx="15" ry="10" fill="#FFB366" stroke="#E89500" stroke-width="1.5"/>
<!-- Animated Tail -->
<g class="tail">
<path d="M 170 160 Q 200 170, 220 150 Q 240 130, 230 100"
fill="none"
stroke="#FFA500"
stroke-width="20"
stroke-linecap="round"/>
<path d="M 170 160 Q 200 170, 220 150 Q 240 130, 230 100"
fill="none"
stroke="#E89500"
stroke-width="18"
stroke-linecap="round"/>
<!-- Tail tip -->
<circle cx="230" cy="100" r="10" fill="#FFA500" stroke="#E89500" stroke-width="2"/>
</g>
<!-- Stripes on body -->
<path d="M 130 150 Q 140 155, 150 150" fill="none" stroke="#E89500" stroke-width="2" opacity="0.6"/>
<path d="M 135 160 Q 145 165, 155 160" fill="none" stroke="#E89500" stroke-width="2" opacity="0.6"/>
<path d="M 140 170 Q 150 175, 160 170" fill="none" stroke="#E89500" stroke-width="2" opacity="0.6"/>
</svg>GLM-4.6 · animation · attempt 2 · score 8.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" width="300" height="300">
<style>
@keyframes tailSway {
0%, 100% { transform: rotate(-15deg); }
50% { transform: rotate(15deg); }
}
.tail-group {
transform-origin: 180px 210px;
animation: tailSway 2s ease-in-out infinite;
}
.whiskers {
animation: whiskerTwitch 3s ease-in-out infinite;
}
@keyframes whiskerTwitch {
0%, 100% { opacity: 0.8; }
50% { opacity: 1; }
}
</style>
<!-- Cat body -->
<ellipse cx="150" cy="200" rx="60" ry="45" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<!-- Cat head -->
<circle cx="150" cy="130" r="40" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<!-- Ears -->
<path d="M 120 120 L 110 95 L 130 110 Z" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<path d="M 180 120 L 190 95 L 170 110 Z" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<path d="M 120 110 L 115 100 L 125 105 Z" fill="#FFB6C1"/>
<path d="M 180 110 L 185 100 L 175 105 Z" fill="#FFB6C1"/>
<!-- Eyes -->
<ellipse cx="135" cy="125" rx="8" ry="12" fill="#2E2E2E"/>
<ellipse cx="165" cy="125" rx="8" ry="12" fill="#2E2E2E"/>
<ellipse cx="137" cy="123" rx="3" ry="4" fill="white"/>
<ellipse cx="167" cy="123" rx="3" ry="4" fill="white"/>
<!-- Nose -->
<path d="M 150 135 L 145 140 L 150 141 L 155 140 Z" fill="#FF69B4"/>
<!-- Mouth -->
<path d="M 150 141 Q 140 145 135 140" fill="none" stroke="#5C4A3A" stroke-width="1.5" stroke-linecap="round"/>
<path d="M 150 141 Q 160 145 165 140" fill="none" stroke="#5C4A3A" stroke-width="1.5" stroke-linecap="round"/>
<!-- Whiskers -->
<g class="whiskers">
<line x1="150" y1="138" x2="120" y2="135" stroke="#5C4A3A" stroke-width="1" stroke-linecap="round"/>
<line x1="150" y1="140" x2="120" y2="143" stroke="#5C4A3A" stroke-width="1" stroke-linecap="round"/>
<line x1="150" y1="138" x2="180" y2="135" stroke="#5C4A3A" stroke-width="1" stroke-linecap="round"/>
<line x1="150" y1="140" x2="180" y2="143" stroke="#5C4A3A" stroke-width="1" stroke-linecap="round"/>
</g>
<!-- Front legs -->
<ellipse cx="125" cy="230" rx="15" ry="25" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<ellipse cx="175" cy="230" rx="15" ry="25" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<!-- Paws -->
<ellipse cx="125" cy="250" rx="18" ry="12" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<ellipse cx="175" cy="250" rx="18" ry="12" fill="#8B7355" stroke="#5C4A3A" stroke-width="2"/>
<!-- Animated tail -->
<g class="tail-group">
<path d="M 180 210 Q 210 200 220 170 Q 225 150 215 130"
fill="none"
stroke="#8B7355"
stroke-width="20"
stroke-linecap="round"/>
<path d="M 180 210 Q 210 200 220 170 Q 225 150 215 130"
fill="none"
stroke="#5C4A3A"
stroke-width="2"
stroke-linecap="round"/>
</g>
<!-- Stripes on body -->
<path d="M 120 190 Q 125 185 130 190" fill="none" stroke="#5C4A3A" stroke-width="2" opacity="0.5"/>
<path d="M 170 190 Q 175 185 180 190" fill="none" stroke="#5C4A3A" stroke-width="2" opacity="0.5"/>
<path d="M 125 200 Q 130 195 135 200" fill="none" stroke="#5C4A3A" stroke-width="2" opacity="0.5"/>
<path d="M 165 200 Q 170 195 175 200" fill="none" stroke="#5C4A3A" stroke-width="2" opacity="0.5"/>
</svg>GLM-4.6 · animation · attempt 3 · score 9.0
the actual svg, as the machine wrote it:
<svg width="300" height="300" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<style>
@keyframes tail-sway {
0% { transform: rotate(-15deg); }
50% { transform: rotate(15deg); }
100% { transform: rotate(-15deg); }
}
.tail {
transform-origin: 180px 200px;
animation: tail-sway 2s ease-in-out infinite;
}
@keyframes blink {
0%, 90%, 100% { opacity: 1; }
95% { opacity: 0; }
}
.eye {
animation: blink 4s infinite;
}
</style>
<!-- Cat body -->
<ellipse cx="150" cy="200" rx="60" ry="45" fill="#4a4a4a"/>
<!-- Cat head -->
<circle cx="150" cy="150" r="40" fill="#4a4a4a"/>
<!-- Ears -->
<path d="M 120 130 L 110 105 L 130 120 Z" fill="#4a4a4a"/>
<path d="M 180 130 L 190 105 L 170 120 Z" fill="#4a4a4a"/>
<!-- Eye whites -->
<circle cx="135" cy="145" r="8" fill="white"/>
<circle cx="165" cy="145" r="8" fill="white"/>
<!-- Pupils (blinking) -->
<circle class="eye" cx="135" cy="145" r="5" fill="#2c2c2c"/>
<circle class="eye" cx="165" cy="145" r="5" fill="#2c2c2c"/>
<!-- Nose -->
<path d="M 150 155 L 145 160 L 155 160 Z" fill="#d4a574"/>
<!-- Mouth -->
<path d="M 150 160 Q 140 165 135 160" fill="none" stroke="#2c2c2c" stroke-width="2" stroke-linecap="round"/>
<path d="M 150 160 Q 160 165 165 160" fill="none" stroke="#2c2c2c" stroke-width="2" stroke-linecap="round"/>
<!-- Whiskers -->
<line x1="100" y1="150" x2="80" y2="145" stroke="#2c2c2c" stroke-width="1.5"/>
<line x1="100" y1="160" x2="80" y2="160" stroke="#2c2c2c" stroke-width="1.5"/>
<line x1="200" y1="150" x2="220" y2="145" stroke="#2c2c2c" stroke-width="1.5"/>
<line x1="200" y1="160" x2="220" y2="160" stroke="#2c2c2c" stroke-width="1.5"/>
<!-- Paws -->
<ellipse cx="120" cy="235" rx="15" ry="20" fill="#4a4a4a"/>
<ellipse cx="180" cy="235" rx="15" ry="20" fill="#4a4a4a"/>
<!-- Animated tail -->
<g class="tail">
<path d="M 180 200 Q 220 210 240 180 Q 260 160 250 140"
fill="none"
stroke="#4a4a4a"
stroke-width="25"
stroke-linecap="round"/>
</g>
<!-- Tail tip -->
<circle class="tail" cx="245" cy="135" r="12" fill="#4a4a4a"/>
</svg>GLM-4.6 · animation · attempt 4 · score 9.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200">
<defs>
<style>
.tail {
transform-origin: 130px 110px;
animation: sway 2.5s ease-in-out infinite;
}
@keyframes sway {
0% { transform: rotate(-15deg); }
50% { transform: rotate(15deg); }
100% { transform: rotate(-15deg); }
}
.eye {
transform-origin: center;
animation: blink 4s infinite;
}
@keyframes blink {
0%, 48%, 52%, 100% { transform: scaleY(1); }
50% { transform: scaleY(0.1); }
}
</style>
</defs>
<!-- Background -->
<rect width="200" height="200" fill="#f4f4f9"/>
<!-- Tail (Grouped for animation) -->
<g class="tail">
<path d="M 130,110 Q 170,140 175,90 Q 180,50 160,40"
fill="none"
stroke="#e67e22"
stroke-width="12"
stroke-linecap="round" />
</g>
<!-- Body -->
<ellipse cx="100" cy="125" rx="40" ry="50" fill="#e67e22" />
<!-- Head -->
<circle cx="100" cy="80" r="35" fill="#e67e22" />
<!-- Left Ear -->
<path d="M 70,60 L 80,30 L 95,60 Z" fill="#e67e22" />
<path d="M 75,55 L 82,35 L 90,55 Z" fill="#fab1a0" />
<!-- Right Ear -->
<path d="M 130,60 L 120,30 L 105,60 Z" fill="#e67e22" />
<path d="M 125,55 L 118,35 L 110,55 Z" fill="#fab1a0" />
<!-- Eyes -->
<ellipse class="eye" cx="85" cy="75" rx="3" ry="4" fill="#2d3436" />
<ellipse class="eye" cx="115" cy="75" rx="3" ry="4" fill="#2d3436" />
<!-- Nose -->
<path d="M 100,80 L 96,86 L 104,86 Z" fill="#fab1a0" />
<!-- Mouth -->
<path d="M 100,86 L 100,92 M 100,92 Q 90,98 85,92 M 100,92 Q 110,98 115,92"
fill="none"
stroke="#2d3436"
stroke-width="2"
stroke-linecap="round" />
<!-- Whiskers -->
<g stroke="#2d3436" stroke-width="1" opacity="0.6">
<line x1="60" y1="85" x2="80" y2="88" />
<line x1="60" y1="92" x2="80" y2="92" />
<line x1="140" y1="85" x2="120" y2="88" />
<line x1="140" y1="92" x2="120" y2="92" />
</g>
<!-- Paws -->
<ellipse cx="80" cy="170" rx="12" ry="8" fill="#e67e22" />
<ellipse cx="120" cy="170" rx="12" ry="8" fill="#e67e22" />
</svg>