About this artifact — it is its own documentation
Everything you see is one HTML file. The per-pixel escape-time math runs in a 267-byte WebAssembly module, hand-written in WAT, compiled once, and embedded below as base64 — no CDN, no fetch, no build pipeline. A pure-JavaScript engine ships alongside it so you can benchmark the two on your own machine.
- WebAssembly: the kernel fills linear memory with iteration counts; JS only maps counts to colors. Run the benchmark — on a kernel this simple, a warmed-up JS JIT often keeps pace, and an honest demo should show you that. WASM's edge is predictability: no warmup, no deopts, same speed on the thousandth frame as the first.
- Canvas + ImageData: zero-copy-ish pixel painting at device resolution.
- URL state: the view (center, zoom, iterations, palette) lives in the hash — every deep zoom is a shareable link.
- Pointer events: drag-pan and wheel-zoom, mobile-friendly.
WebAssemblycanvasURL statezero dependenciesbenchmark
The entire compute kernel (WAT source)