oneshotlm
Compare all models on this prompt →

Mandelbrot explorer · glm-4.7

Render the Mandelbrot set with a smooth color gradient on a full-screen canvas, with click-and-drag to pan and mouse-wheel to zoom.

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

Render the Mandelbrot set with a smooth color gradient on a full-screen canvas, with click-and-drag to pan and mouse-wheel to zoom.

assistant
thinking
The user wants me to create a single-page web application that renders the Mandelbrot set with the following features:
1. Full-screen canvas
2. Smooth color gradient
3. Click-and-drag to pan
4. Mouse-wheel to zoom

I need to create this as a single index.html file with inline CSS and JavaScript, no external resources or CDNs.

Let me plan the implementation:

1. HTML: Just a canvas element that fills the screen
2. CSS: Make the canvas full-screen, remove scrollbars
3. JavaScript:
   - Set up canvas context
   - Handle resize events
   - Implement Mandelbrot rendering algorithm
   - Create smooth color gradients
   - Implement click-and-drag panning
   - Implement mouse-wheel zooming

For the Mandelbrot set:
- The formula is z = z² + c
- c is the complex number corresponding to each pixel
- We iterate until |z| > 2 or max iterations reached
- Color based on iteration count

For smooth coloring, I'll use a technique like renormalization or smooth iteration count:
- Use the formula: smooth_iter = iteration + 1 - log(log(|z|)) / log(2)

For colors, I'll create a smooth gradient using HSL or a custom palette.

For panning and zooming:
- Track mouse down/up/move events
- Track wheel events
- Maintain offset (pan) and scale (zoom) state

Let me write this code:

I'll create a full-screen Mandelbrot set renderer with smooth gradients, panning, and zooming. Let me build this single-file web app:

write index.html (12367 bytes)
toolResult

Successfully wrote 12367 bytes to index.html

assistant
thinking
I've created a complete single-page Mandelbrot set renderer with all the requested features:

1. Full-screen canvas - The canvas fills the entire viewport
2. Smooth color gradient - I implemented smooth coloring using renormalization technique and a multi-color palette
3. Click-and-drag to pan - Mouse drag events update the center coordinates
4. Mouse-wheel to zoom - Scroll events adjust zoom level while keeping the mouse position fixed

The implementation includes:
- Pre-computed color palette for performance
- Smooth iteration count calculation using log-log renormalization
- Linear interpolation between palette colors for smooth gradients
- Touch support for mobile devices
- Reset view with 'r' key
- Info display showing center coordinates and zoom level
- Instructions at the bottom
- Optimized using Uint8ClampedArray and direct pixel manipulation

The file is completely self-contained with inline CSS and JavaScript, no external resources or network requests.

Done! I've created a complete Mandelbrot set explorer in `index.html` with: **Features:** - **Full-screen canvas** that adapts to window size - **Smooth color gradient** using renormalization technique (log-log smoothing) for beautiful color transitions - **Click-and-drag panning** - drag anywhere on the canvas to move around the fractal - **Mouse-wheel zooming** - scroll up/down to zoom in/out (zoom is centered on mouse position) - **Touch support** for mobile devices - **Info display** showing current center coordinates, zoom level, and iteration count - **Reset** - press 'r' to reset to the default view **Technical details:** - Pre-computed color palette with smooth multi-color gradient - Direct pixel manipulation using `Uint8ClampedArray` for performance - 512 max iterations for detailed rendering - Smooth iteration count formula: `iteration + 1 - log(log(|z|)) / log(2)` - Linear interpolation between palette colors for ultra-smooth gradients - Zoom limited between 0.5x and 1e12x to prevent floating-point precision issues The app runs completely offline with no external dependencies - just open `index.html` in any modern browser!

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

modelglm-4.7
vendorZ.ai · GLM
harnesspi-agent
generated2026-07-22

EVALUATION

3/5 working

Mandelbrot renders with blue gradient; drag pans and wheel zooms correctly, but color gradient is dull/mostly black and dark blue.

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.0%
on drag6.0%
on wheel3.6%
on enter + space0.0%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread8.3 / 255
console errors0
js errors none

METRICS

runtime205.8s
tokens in1.5k
tokens out3.6k
cached4.6k
cost / run$0.0072