Experimentations with modern browsers, html5, performance, and the beauty of fractals.
- switch between Mandelbrot and julia sets easily
- use web workers with Transferable objects to speed it up (http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast)
- profile optimal number of workers
- add pretty color schemes
- switch to use BigDecimal intelligently when zooming in and numbers become close together
- animated transitions??
- more fractals! 3d fractals?
- use pushState() to track zoom level and allow history navigation.
- I think we can speed up the selection-drawing by only doing a clearRect() on the region we
need to. That should eliminate the gap between mouse and rectangle when dragging. - add “slow-mo” view, to show the Mandelbrot set being constructed one iteration at a time.
- draw Mandelbrot set off the UI thread, so it does not block loading of the whole page
- dashed selection line
- draw Julia set more accurately, cf. wikipedia
- do not do colorization in compute(), so that it is possible to change color schemes without re-computing
- fix rectangle-drawing code, sometimes it ‘sticks’ and does not work
- make zoom do something sensible when there is no selection
- show a ‘waiting’ cursor on blur/sharpen/etc., so it is obvious when done.
- anti-alias to smooth out color transition (average of 9 pixels)