https://fractal-visualizer.ggouzi.com/index.html
Fractal Visualizer is a browser-based fractal exploration tool for:
It focuses on fast interactive rendering, palette exploration, presets, and shareable URLs.
- Smooth Interactive Rendering: Adaptive interaction model with 420ms trailing-idle debouncing—interact freely without visual lag
- Parallel Computation: Multi-worker Web API architecture for fast fractal generation
- Local Cache Optimization: MRU-based cache (8-entry limit) for instant revisits to recent viewport configurations
- Precomputed Data System: Optional cached binaries for popular presets and resolutions (faster cold starts)
- Smooth Zoom & Pan: Click to zoom in, right-click to zoom out, pinch-to-zoom on touch devices
- Zoom Constraints: Zoom minimum clamped to 1.0 (no infinite zoom-out; preserves visual coherence)
- Multi-touch Gestures: Pan with finger drag, zoom with pinch, full mobile support
- Multiple Fractal Types: Mandelbrot, Julia, Lyapunov, and Newton fractals
- Fractal-Specific Parameters: Iteration counts, exponents, complex constants (Julia), and custom sequences (Lyapunov)
- Presets Per Type: Curated fractal configurations for quick exploration
- Palette System: Color scheme switching with gamma and saturation adjustment
- High-Resolution Rendering: Up to 4K output with adjustable canvas resolution
- Image Download: Export renders as PNG with current canvas resolution
- URL State Sharing: "Copy Link" button encodes full fractal configuration—share discoveries as clickable links
- Automatic URL Updates: Browser URL refreshes after render completion for instant shareability
- Mobile-Friendly Controls: Touch-optimized UI with responsive layout
- Keyboard & Touch Support: Full interaction across desktop and mobile devices
index.html: main app entry pageassets/css/lyapunov.css: app stylesassets/js/lyapunov.js: app logic and rendering engineassets/css/landing.css: styles for dedicated SEO pagespages/mandelbrot/index.html,pages/julia/index.html,pages/lyapunov/index.html,pages/newton/index.html: route pagesprecomputed/: optional precomputed data generation and binaries
The precomputed/ folder contains tooling to generate cached base renders for presets/resolutions.
If you use it, regenerate manifest/data before release and deploy both:
precomputed/manifest.jsonprecomputed/data/*
Use a local HTTP server (recommended). Loading via file:// disables some precomputed fetch features.
Example with Python:
python3 -m http.server 8080Then open:
http://localhost:8080/index.html
MIT License. See LICENSE.



