Almondbread: a Mandelbrot set explorer

Mandelbrot is German for almond bread, hence the name. Almondbread is a Mandelbrot set renderer that runs in the browser, on an HTML5 canvas. You can explore the set’s endless detail until you hit the limits of JavaScript floating point numbers.

Features

  • Mouse and keyboard controls: drag a rectangle to zoom into it, and stretch the view horizontally or vertically.
  • Colour palettes, picked at random from coolors.co and linearly interpolated across iteration counts.
  • Shareable views: the render configuration lives in the query string, so the URL in the address bar takes anyone to the same view.
  • Parallel rendering: the image is split across web workers to squeeze out some extra performance.
  • Download the current view as an image.

What’s missing

It’s a work in progress. On purpose, it refuses to run on mobile and shows a blocking screen there instead of an unusable experience, so touch support is the next priority. Very heavy renders can still crash the browser tab, although reloading the page produces the right result. I’d also like to try an arbitrary-precision math library to zoom past the point where 64-bit floats give up. And the palettes could use some more thought, since some of them produce much nicer images than others.

Try it at https://almondbread.ticklemynausea.net/. The code is at https://github.com/ticklemynausea/almondbread.