@hackage gruff0.4

fractal explorer GUI using the ruff library

Mandelbrot Set fractal explorer using the ruff library.

Requires GTK, OpenGL, and GLSL fragment shader support; lots of RAM and multiple CPU cores recommended.

If you want to explore very deep zooms, you'll need hmpfr which currently requires GHC to be compiled with integer-simple instead of the default integer-gmp. To install with MPFR support, use cabal install gruff -fmpfr. Note that the default setting for this flag has changed since gruff-0.2.

gruff-0.4 updates for ghc-8.0.

gruff-0.3.4 updates dependencies for ghc-7.8. Colouring is improved.

gruff-0.3.3 relaxes dependencies for ghc-7.6.

gruff-0.3.1 is a bugfix release, fixing a performance problem wherein offscreen tiles were needlessly calculated. The performance gain is much less (and in many cases is in fact a performance loss) when using integer-simple.

gruff-0.3 includes a small library to allow external programs to create diagrams and animations with gruff. See the gruff-examples package. The interface has been remodelled to simplify it and add informative feature overlays.

gruff-0.2.1 was a bugfix release. Changes since gruff-0.2:

  • Supersampling bugs are fixed (no more undocumented quantization leading to inconsistent appearance at different zoom levels).

  • Race condition bugs in cache management are fixed (no more incompletely rendered images).

  • Internal changes/refactoring to make future additions easier.

Features in this version include:

  • Interactive fractal browser display with mouse controls:

  • Left click to zoom in (press shift for bigger jumps).

  • Right click to zoom out (press shift for bigger jumps).

  • Middle click to center.

  • Shift middle click to auto-focus.

  • Control left click to label with period.

  • Control right click to label with angled internal address (slow!).

  • Session persistance (stored in ~/.gruff/state.gruff - states can also be loaded from and saved to other files, including labels and rays). Note that the file format is incompatible with previous releases of gruff.

  • Tile cache (by default in ~/.gruff/cache - symlink it somewhere with a few GB of space if you plan on exploring a lot).

  • Can use MPFR if desired for higher precision, allowing deeper zooms and locating high period nucleii.

  • Limited amount of customizable colouring (colours for interior, border, and exterior points, as well as labels and rays).

  • Supersampling for more detailed images (useful range is 1 to 16).

  • Rudimentary scripting support (see the gruff-examples package).

Future versions will focus on enhancing the scripting support.