fractal-svg v0.3.0: Escape-Time Fractals and Multi-Band Contours

Fractal SVG v0.3.0 is here! This update brings a major enhancement to the library's rendering engine, focusing on escape-time fractals like the Mandelbrot and Julia sets.

The Mandelbrot set rendered at 500 iterations with multi-band contour SVG paths
The Mandelbrot set at 500 iterations

Multi-Band Contour Rendering

Previously, rendering escape-time fractals in SVG format was challenging due to the pixel-based nature of these mathematical sets. In v0.3.0, we've implemented a multi-band contour rendering algorithm. Instead of generating thousands of individual pixel rects, the engine now calculates continuous contour paths for different iteration bands.

This approach produces clean, scalable, vector-based SVG paths that look stunning at any resolution and keep the file size manageable.

Interactive Playground Upgrades

The interactive demo has received a significant upgrade to support these new features:

  • New Controls: You can now tweak Mandelbrot and Julia parameters directly in the UI, including center coordinates, zoom level, max iterations, and the number of contour bands.
  • PWA Support: The playground is now a Progressive Web App! You can install it on your device for offline access and a native-like experience.
  • Gradient Presets: We've added new gradient presets specifically designed to highlight the intricate details of escape-time fractals.

Core Engine Improvements

Under the hood, we've also improved the coordinate transformation and centering logic for all fractal types, ensuring that your generated SVGs are perfectly framed regardless of the parameters you choose. The CLI has also been updated to support the new generator parameters.

Try It Out

You can try out the new features in the interactive playground, or install the latest version of the library via npm:

pnpm add @cbnsndwch/fractal-generator

Check out the GitHub repository for full documentation and CLI usage examples. Happy rendering!