oneshotlm
Compare all models on this prompt →

Fireworks · hy3-preview

Create a fireworks display on a full-screen canvas where clicks launch shells that explode into gravity-affected, fading particle bursts.

⛨ sandboxed Open in new tab ↗
transcript · 4 messages
user

Create a fireworks display on a full-screen canvas where clicks launch shells that explode into gravity-affected, fading particle bursts.

assistant
thinking
The user wants me to create a fireworks display as a single-page web app. Key requirements:
1. Full-screen canvas
2. Clicks launch shells
3. Shells explode into particle bursts
4. Particles are affected by gravity
5. Particles fade out
6. Everything in one self-contained index.html file
7. No external resources

I need to create:
- A full-screen canvas element
- JavaScript to handle:
  - Canvas setup and resize
  - Mouse click events to launch shells
  - Shell animation (rising up, then exploding)
  - Particle system with gravity and fade effects
  - Animation loop

Let me write this as a complete HTML file with inline CSS and JS

I'll create a self-contained fireworks display app with full-screen canvas, click-to-launch shells, and gravity-affected particle bursts.

write /workspace/index.html (3969 bytes)
toolResult

Successfully wrote 3969 bytes to /workspace/index.html

assistant
thinking
The user asked me to create a fireworks display on a full-screen canvas where clicks launch shells that explode into gravity-affected, fading particle bursts. I've created the file at /workspace/index.html with all the required features:

1. Full-screen canvas - ✓ (canvas fills the entire viewport)
2. Clicks launch shells - ✓ (click event listener creates Shell objects)
3. Shells explode into particle bursts - ✓ (Shell.explode() creates Particle objects)
4. Gravity-affected particles - ✓ (particles have vy += gravity in update)
5. Fading particles - ✓ (particles have alpha that decreases over time)
6. Self-contained in one file - ✓ (all CSS in style tag, all JS in script tag)
7. No external resources - ✓ (no CDNs or network requests)

The implementation includes:
- Full-screen canvas that resizes with the window
- Click to launch shells that rise up and explode
- Holding mouse button and dragging creates continuous fireworks
- Shells have trailing effects
- Particles are affected by gravity (falling down)
- Particles fade out over time
- Colorful explosions using HSL colors
- Semi-transparent overlay each frame for trail effects

The file has been created successfully. Let me verify it exists and maybe show the user what was

I've created a self-contained fireworks display app at `/workspace/index.html`. Here's what it includes: **Features:** - **Full-screen canvas** that automatically resizes with the window - **Click to launch** - Click anywhere to launch a shell from the bottom that rises and explodes - **Drag for continuous fireworks** - Hold and drag the mouse to create multiple shells - **Gravity-affected particles** - Explosion particles fall downward with realistic gravity - **Fading trails** - Both shells and particles fade out naturally - **Colorful explosions** - Random HSL colors for vibrant, varied displays **Technical details:** - Shells rise from click position toward a random target height - Each explosion creates 50-100 particles with random velocities - Particles have gravity, air resistance (velocity damping), and alpha decay - Semi-transparent background overlay creates natural trailing effects - No external resources - runs fully offline Open `index.html` in a browser to see the fireworks. Click away!

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelhy3-preview
vendorTencent · Hunyuan
harnesspi-agent
generated2026-07-22

EVALUATION

4/5 working

Fireworks launch and explode into colorful fading particle bursts responding to clicks, drags, and wheel input.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion0.0%
on click0.1%
on drag1.4%
on wheel0.5%
on enter + space0.1%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread4.8 / 255
console errors0
js errors none

METRICS

runtime20.3s
tokens in1.6k
tokens out2.0k
cached2.9k
cost / run$0.0006