Skateboarding astronaut catOne-line
Dots3-Note Preview (free)
by Dots StudioReasoningClean
Running live in a sandboxed frame. Click inside it before using the keyboard.
How it went
- Total time
- 1 min 2 s
- Cost
- $0
- Output tokens
- 5,947
- Spent thinking
- 3,047 tokens
- Speed
- 96.3 tok/s
- Console errors
- 0
- First token after
- 547 ms
- First visible text after
- 44.4 s
- Prompt tokens
- 347
- Code size
- 4.5 KB
- Finish reason
- stop
- Served by
- AtlasCloud
- Model id
dots-studio/dots-3-note-preview:free- Reasoning sent
model default- Max output
- 32,000 tokens
- Generated
- Nov 9, 2026
What it was asked
The prompt
“draw me an SVG of an astronaut cat skateboarding on the moon”
System prompt, sent with every prompt
You are generating a self-contained web demo. It will be rendered automatically in a sandboxed iframe and compared side by side with the output of other AI models given the exact same task. Output rules: - Reply with exactly ONE fenced code block containing the complete file: ```html (or ```svg when the task asks for an SVG). No text before or after the code block. - Everything must be inline: CSS in <style>, JavaScript in <script>. No external files, images, fonts or network requests, except the CDN URLs explicitly allowed by the task. - Do not use localStorage, sessionStorage, cookies, IndexedDB, alert(), confirm(), prompt() or window.open(): they are blocked in the sandbox and will throw. - The page must look right in a 1280×800 viewport and adapt gracefully down to 375px wide. No horizontal scrollbar. - Something meaningful must be visible on first paint: a screenshot is taken automatically about 3 seconds after load, without any interaction. - Everything that makes the demo interesting must be visible within the first seconds: nothing hidden behind a high score, a later level or a long play session. - Games must start in a self-playing demo mode (a simple AI plays) behind a "Click or press a key to start" message, so the game can be judged in action without playing. - The iframe only receives keyboard events after the user clicks it: if the demo uses the keyboard, display a clear "Click or press a key to start" message. - The code must run with zero errors in the console of the latest Chrome.
Code run-1.svg · 118 lines
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
<defs>
<radialGradient id="spaceGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#000022"/>
<stop offset="100%" stop-color="#000"/>
</radialGradient>
<radialGradient id="moonGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#aaa"/>
<stop offset="100%" stop-color="#666"/>
</radialGradient>
<linearGradient id="deckGrad" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#777"/>
<stop offset="100%" stop-color="#333"/>
</linearGradient>
<radialGradient id="earthGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#4a90e2"/>
<stop offset="100%" stop-color="#003366"/>
</radialGradient>
</defs>
<!-- Background space -->
<rect width="800" height="600" fill="url(#spaceGrad)"/>
<!-- Stars -->
<g fill="#fff">
<circle cx="50" cy="80" r="1.5"/>
<circle cx="120" cy="40" r="1"/>
<circle cx="200" cy="120" r="1.2"/>
<circle cx="300" cy="60" r="1.5"/>
<circle cx="400" cy="30" r="1"/>
<circle cx="500" cy="90" r="1.2"/>
<circle cx="600" cy="50" r="1.5"/>
<circle cx="700" cy="100" r="1"/>
<circle cx="750" cy="30" r="1.2"/>
<circle cx="50" cy="200" r="1"/>
<circle cx="150" cy="250" r="1.5"/>
<circle cx="250" cy="200" r="1"/>
<circle cx="350" cy="250" r="1.2"/>
<circle cx="450" cy="200" r="1"/>
<circle cx="550" cy="250" r="1.5"/>
<circle cx="650" cy="200" r="1"/>
<circle cx="750" cy="250" r="1.2"/>
</g>
<!-- Earth in the distance -->
<circle cx="700" cy="120" r="40" fill="url(#earthGrad)"/>
<!-- Moon surface -->
<circle cx="400" cy="350" r="250" fill="url(#moonGrad)"/>
<!-- Craters -->
<g fill="#555" opacity="0.4">
<circle cx="300" cy="300" r="30"/>
<circle cx="500" cy="280" r="20"/>
<circle cx="350" cy="420" r="25"/>
<circle cx="450" cy="450" r="15"/>
<circle cx="250" cy="400" r="20"/>
<circle cx="550" cy="400" r="18"/>
</g>
<!-- Skateboard -->
<g transform="translate(400,450)">
<!-- deck -->
<rect x="-60" y="-10" width="120" height="20" rx="10" fill="url(#deckGrad)"/>
<!-- wheels -->
<circle cx="-40" cy="15" r="8" fill="#000"/>
<circle cx="40" cy="15" r="8" fill="#000"/>
<!-- trucks -->
<rect x="-45" y="0" width="10" height="5" fill="#888"/>
<rect x="35" y="0" width="10" height="5" fill="#888"/>
</g>
<!-- Astronaut Cat -->
<g transform="translate(400,350)">
<!-- body -->
<ellipse cx="0" cy="40" rx="40" ry="30" fill="#fff"/>
<!-- head -->
<circle cx="0" cy="-10" r="30" fill="#fff"/>
<!-- ears -->
<polygon points="-20,-30 -10,-50 0,-30" fill="#fff"/>
<polygon points="20,-30 10,-50 0,-30" fill="#fff"/>
<!-- tail -->
<path d="M30,40 Q60,20 50,0" stroke="#fff" stroke-width="10" fill="none"/>
<!-- arms -->
<rect x="-45" y="20" width="10" height="30" rx="5" fill="#fff"/>
<rect x="35" y="20" width="10" height="30" rx="5" fill="#fff"/>
<!-- legs on skateboard -->
<rect x="-15" y="60" width="10" height="20" fill="#fff"/>
<rect x="5" y="60" width="10" height="20" fill="#fff"/>
<!-- face details -->
<!-- eyes -->
<circle cx="-10" cy="-15" r="4" fill="#000"/>
<circle cx="10" cy="-15" r="4" fill="#000"/>
<!-- nose -->
<path d="M0 -5 Q5,0 0,5 Q-5,0 0,-5" fill="#f9c"/>
<!-- mouth -->
<path d="M0 5 L5,10 M0 5 L-5,10" stroke="#000" stroke-width="2"/>
<!-- whiskers -->
<line x1="-20" y1="-5" x2="-40" y2="-10" stroke="#000" stroke-width="1"/>
<line x1="-20" y1="0" x2="-40" y2="0" stroke="#000" stroke-width="1"/>
<line x1="-20" y1="5" x2="-40" y2="10" stroke="#000" stroke-width="1"/>
<line x1="20" y1="-5" x2="40" y2="-10" stroke="#000" stroke-width="1"/>
<line x1="20" y1="0" x2="40" y2="0" stroke="#000" stroke-width="1"/>
<line x1="20" y1="5" x2="40" y2="10" stroke="#000" stroke-width="1"/>
<!-- astronaut helmet -->
<circle cx="0" cy="-10" r="35" fill="none" stroke="#fff" stroke-width="5"/>
<circle cx="0" cy="-10" r="38" fill="none" stroke="#fff" stroke-width="2" stroke-dasharray="5,5"/>
<!-- visor -->
<ellipse cx="0" cy="-10" rx="25" ry="15" fill="#0a0f" stroke="#0ff" stroke-width="2"/>
<!-- reflection on visor -->
<ellipse cx="-8" cy="-15" rx="5" ry="3" fill="#fff" opacity="0.6"/>
<!-- antenna -->
<line x1="0" y1="-45" x2="0" y2="-60" stroke="#fff" stroke-width="2"/>
<circle cx="0" cy="-62" r="3" fill="#fff"/>
</g>
</svg>Reasoning trace (3,047 tokens)
We need to output an SVG (the task says "draw me an SVG of an astronaut cat skateboarding on the moon"). So we must output a single fenced code block with the SVG. The SVG should be self-contained, no external references. It can include CSS and maybe JavaScript, but likely just static SVG. The output must be exactly one fenced code block containing the complete file. So we need to output ```svg ... ```.
We need to draw an astronaut cat skateboarding on the moon. So we need to create an SVG illustration. It should be suitable for a 1280x800 viewport? The instruction says the page must look right in a 1280×800 viewport and adapt down to 375px. But we are outputting an SVG, not an HTML page. However the task says "draw me an SVG of an astronaut cat skateboarding on the moon". The system expects an SVG file. Probably they want a standalone SVG. We can include viewBox and maybe style.
We need to output exactly one fenced code block with the SVG. No extra text. So we will output:
```svg
<svg ...>...</svg>
```
We need to make it look good. We can include shapes, maybe use paths, gradients, etc.
We need to include an astronaut cat (cat with helmet), skateboarding (skateboard), on the moon (craters, maybe Earth in background). Should be an illustration.
We can use SVG elements: circle for moon, ellipse for craters, path for cat, etc. Could use filters.
We need to ensure it's valid SVG.
We'll create a scene: a large circle for the moon surface, some craters (circles with lower opacity), a background (maybe black space with stars). Then a cat wearing an astronaut helmet (a circle for helmet, cat ears, etc.) riding a skateboard (rectangle with wheels). Possibly with motion lines.
We can use simple shapes.
We'll set viewBox="0 0 800 600" maybe.
We need to output only the SVG code, no extra text.
We'll produce something like:
```svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
<!-- background space -->
<rect width="800" height="600" fill="#000"/>
<!-- stars -->
<circle cx="50" cy="50" r="2" fill="#fff"/>
...
<!-- moon -->
<circle cx="400" cy="350" r="250" fill="#888"/>
<!-- craters -->
<circle cx="300" cy="300" r="30" fill="#666" opacity="0.5"/>
...
<!-- skateboard -->
<rect x="350" y="420" width="100" height="20" rx="10" fill="#555"/>
<circle cx="370" cy="445" r="10" fill="#000"/>
<circle cx="470" cy="445" r="10" fill="#000"/>
<!-- cat -->
<!-- body -->
<ellipse cx="400" cy="380" rx="40" ry="30" fill="#fff"/>
<!-- head -->
<circle cx="400" cy="340" r="25" fill="#fff"/>
<!-- ears -->
<polygon points="380,320 390,300 400,320" fill="#fff"/>
<polygon points="420,320 410,300 400,320" fill="#fff"/>
<!-- eyes -->
<circle cx="390" cy="335" r="3" fill="#000"/>
<circle cx="410" cy="335" r="3" fill="#000"/>
<!-- nose -->
<path d="M400 345 Q405 350 400 355 Q395 350 400 345" fill="#f9c"/>
<!-- mouth -->
<path d="M400 355 L405 360 M400 355 L395 360" stroke="#000" stroke-width="2"/>
<!-- helmet -->
<circle cx="400" cy="340" r="30" fill="none" stroke="#fff" stroke-width="5"/>
<circle cx="400" cy="340" r="32" fill="none" stroke="#fff" stroke-width="2" stroke-dasharray="5,5"/>
<!-- visor -->
<rect x="380" y="330" width="40" height="20" rx="10" fill="#0a0f" stroke="#0ff" stroke-width="2"/>
<!-- arms -->
<rect x="370" y="380" width="10" height="30" fill="#fff"/>
<rect x="420" y="380" width="10" height="30" fill="#fff"/>
<!-- legs on skateboard -->
<rect x="390" y="410" width="10" height="20" fill="#fff"/>
<rect x="410" y="410" width="10" height="20" fill="#fff"/>
</svg>
```
But we need to make it more detailed and appealing.
We could include a background Earth, some stars, maybe a rocket trail.
But the main requirement is an SVG of an astronaut cat skateboarding on the moon.
We can use a more stylized approach.
We need to output only the SVG code.
We can include <style> for gradients.
We should ensure it's self-contained.
We'll create a nice scene.
Potential elements:
- Background: black space with stars (small circles)
- Moon: large circle with gradient gray, craters as circles with lower opacity.
- Skateboard: a deck (path or rect) with wheels (circles). Maybe a simple shape.
- Cat: body, head, ears, tail, eyes, whiskers, helmet with visor.
- Possibly motion lines (curves) behind skateboard.
We can also add a small Earth in the corner.
We'll use viewBox maybe 800x600.
We'll include a style block with CSS for animations? Not required but could add subtle motion. But we must ensure no external files.
We can include simple animation for stars twinkling or skateboard moving, but it's optional.
The output must be exactly one fenced code block containing the complete file. So we need to output:
```svg
...svg...
```
No extra text.
Thus we will produce a single code block with the SVG.
We'll design something.
Plan:
- Set xmlns and viewBox.
- Define gradients: for moon surface (radial gradient), for space (maybe black).
- Background rect black.
- Stars: several small circles with random positions, maybe white with slight opacity.
- Moon: use a circle with fill="url(#moonGrad)".
- Craters: circles with fill="#555" opacity=0.3.
- Skateboard: deck as a path (like a rounded rectangle) with fill="#444", wheels as circles.
- Cat: use shapes.
We can also include a helmet with a glass visor that reflects.
We'll draw cat with simple shapes: body ellipse, head circle, ears triangles, tail curved path, arms and legs.
Add helmet: a circle outline, maybe a glass visor as a semi-transparent ellipse.
Add details: eyes, nose, whiskers.
We can also add a scarf or something.
But must be an astronaut cat, so helmet is essential.
Maybe include a small antenna on helmet.
We can also include a rocket trail behind skateboard.
But keep it simple.
We'll produce something like:
```svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
<defs>
<radialGradient id="spaceGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#000022"/>
<stop offset="100%" stop-color="#000"/>
</radialGradient>
<radialGradient id="moonGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#aaa"/>
<stop offset="100%" stop-color="#666"/>
</radialGradient>
<linearGradient id="deckGrad" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#777"/>
<stop offset="100%" stop-color="#333"/>
</linearGradient>
</defs>
<!-- Background -->
<rect width="800" height="600" fill="url(#spaceGrad)"/>
<!-- Stars -->
<g fill="#fff">
<circle cx="50" cy="80" r="1.5"/>
<circle cx="120" cy="40" r="1"/>
<circle cx="200" cy="120" r="1.2"/>
<circle cx="300" cy="60" r="1.5"/>
<circle cx="400" cy="30" r="1"/>
<circle cx="500" cy="90" r="1.2"/>
<circle cx="600" cy="50" r="1.5"/>
<circle cx="700" cy="100" r="1"/>
<circle cx="750" cy="30" r="1.2"/>
<circle cx="50" cy="200" r="1"/>
<circle cx="150" cy="250" r="1.5"/>
<circle cx="250" cy="200" r="1"/>
<circle cx="350" cy="250" r="1.2"/>
<circle cx="450" cy="200" r="1"/>
<circle cx="550" cy="250" r="1.5"/>
<circle cx="650" cy="200" r="1"/>
<circle cx="750" cy="250" r="1.2"/>
</g>
<!-- Moon -->
<circle cx="400" cy="350" r="250" fill="url(#moonGrad)"/>
<!-- Craters -->
<g fill="#555" opacity="0.4">
<circle cx="300" cy="300" r="30"/>
<circle cx="500" cy="280" r="20"/>
<circle cx="350" cy="420" r="25"/>
<circle cx="450" cy="450" r="15"/>
<circle cx="250" cy="400" r="20"/>
<circle cx="550" cy="400" r="18"/>
</g>
<!-- Skateboard -->
<g transform="translate(400,450)">
<!-- deck -->
<rect x="-60" y="-10" width="120" height="20" rx="10" fill="url(#deckGrad)"/>
<!-- wheels -->
<circle cx="-40" cy="15" r="8" fill="#000"/>
<circle cx="40" cy="15" r="8" fill="#000"/>
<!-- trucks (optional) -->
<rect x="-45" y="0" width="10" height="5" fill="#888"/>
<rect x="35" y="0" width="10" height="5" fill="#888"/>
</g>
<!-- Cat -->
<g transform="translate(400,350)">
<!-- body -->
<ellipse cx="0" cy="40" rx="40" ry="30" fill="#fff"/>
<!-- head -->
<circle cx="0" cy="-10" r="30" fill="#fff"/>
<!-- ears -->
<polygon points="-20,-30 -10,-50 0,-30" fill="#fff"/>
<polygon points="20,-30 10,-50 0,-30" fill="#fff"/>
<!-- tail -->
<path d="M30,40 Q60,20 50,0" stroke="#fff" stroke-width="10" fill="none"/>
<!-- arms -->
<rect x="-45" y="20" width="10" height="30" rx="5" fill="#fff"/>
<rect x="35" y="20" width="10" height="30" rx="5" fill="#fff"/>
<!-- legs on skateboard -->
<rect x="-15" y="60" width="10" height="20" fill="#fff"/>
<rect x="5" y="60" width="10" height="20" fill="#fff"/>
<!-- face details -->
<!-- eyes -->
<circle cx="-10" cy="-15" r="4" fill="#000"/>
<circle cx="10" cy="-15" r="4" fill="#000"/>
<!-- nose -->
<path d="M0 -5 Q5,0 0,5 Q-5,0 0,-5" fill="#f9c"/>
<!-- mouth -->
<path d="M0 5 L5,10 M0 5 L-5,10" stroke="#000" stroke-width="2"/>
<!-- whiskers -->
<line x1="-20" y1="-5" x2="-40" y2="-10" stroke="#000" stroke-width="1"/>
<line x1="-20" y1="0" x2="-40" y2="0" stroke="#000" stroke-width="1"/>
<line x1="-20" y1="5" x2="-40" y2="10" stroke="#000" stroke-width="1"/>
<line x1="20" y1="-5" x2="40" y2="-10" stroke="#000" stroke-width="1"/>
<line x1="20" y1="0" x2="40" y2="0" stroke="#000" stroke-width="1"/>
<line x1="20" y1="5" x2="40" y2="10" stroke="#000" stroke-width="1"/>
<!-- astronaut helmet -->
<circle cx="0" cy="-10" r="35" fill="none" stroke="#fff" stroke-width="5"/>
<circle cx="0" cy="-10" r="38" fill="none" stroke="#fff" stroke-width="2" stroke-dasharray="5,5"/>
<!-- visor -->
<ellipse cx="0" cy="-10" rx="25" ry="15" fill="#0a0f" stroke="#0ff" stroke-width="2"/>
<!-- reflection on visor -->
<ellipse cx="-8" cy="-15" rx="5" ry="3" fill="#fff" opacity="0.6"/>
<!-- antenna -->
<line x1="0" y1="-45" x2="0" y2="-60" stroke="#fff" stroke-width="2"/>
<circle cx="0" cy="-62" r="3" fill="#fff"/>
</g>
</svg>
```
This is a decent SVG. However we need to ensure it's valid and self-contained. The code includes <defs> with gradients. It's fine.
But we must output exactly one fenced code block. So we need to output:
```svg
...svg...
```
No extra text.
We should check if any external references: none.
We used xmlns, which is fine.
We might want to include a viewBox.
We used 800x600.
We can also add some animation for skateboard movement, but not necessary.
The instruction says "draw me an SVG of an astronaut cat skateboarding on the moon". So we need to output an SVG.
We'll output the SVG code.
But we must ensure it's exactly one fenced code block. So we will output:
```svg
<svg ...>...</svg>
```
We can include line breaks.
We'll produce a nicely formatted SVG.
We'll also include a style block? Not necessary.
We'll output.
But we need to be careful: The output must be exactly one fenced code block. No extra text before or after. So we should output:
```svg
... (the SVG)
```
We'll include the SVG.
We can also include a small Earth in background.
But keep it simple.
We'll produce final answer.
Potential improvements: add a Earth circle in top right.
Add some stars.
We'll include a small Earth: circle with blue gradient.
But ensure it's within SVG.
We'll add:
<circle cx="700" cy="100" r="40" fill="url(#earthGrad)"/>
But need define gradient.
We can add a linear gradient for Earth.
But optional.
We'll include maybe.
But keep it not too complex.
We'll output.
We'll produce final answer with SVG.
We need to ensure it's valid.
We'll include xmlns, viewBox.
We'll use CDATA? Not needed.
We'll output.
Now write final answer.