FractalJS is a realtime fractal exporer.
It lets you explore different fractal sets with different color palettes, and share your best discoveries with others. It is a progressive web app running on all your devices. The rendering, which is computationally intensive, is entirely done in multi-threaded Javascript (hence JS in the name).
Click here to Start FractalJS
This is the third iteration of FractalJS
- V1 (June 2015) used Grunt and jQuery
- V2 (April 2017) moved to Webpack and Vue.js, and a Material interface
- V3 (April 2020) is a mobile-first PWA application, using React and Typescript
- The UX is written with React and Redux, project is set up using create-react-app
- Widgets and mobile capabilities are provided by Material UI
- Touch interface works thanks to Hammer.js
- Both UX and Engine are written in Typescript
- Fractal are drawn on a canvas, using mere Javascript code, multi-threaded with web workers
- ...plus lots of code, and lots of ❤️
$ git clone https://github.com/solendil/FractalJS.git
$ cd FractalJS
$ npm install
$ npm run start
Do you want to implement a new fractal set in FractalJS? It couldn't be easier. After the project is set up, just head to /src/engine/fractals/
copy example.ts
and write your own fractal function.