From 5a3f8bc7f355afa0eda30811461c82fdf88adc85 Mon Sep 17 00:00:00 2001 From: Copilot Date: Wed, 5 Aug 2026 20:41:22 +0000 Subject: [PATCH 1/4] Add standalone Mandelbrot set HTML/JS renderer Adds a dependency-free canvas-based Mandelbrot set renderer under examples/mandelbrot/. Supports click/drag-to-zoom, scroll-to-zoom, palette cycling, and adaptive iteration counts as you zoom in. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- examples/mandelbrot/README.md | 22 +++ examples/mandelbrot/index.html | 258 +++++++++++++++++++++++++++++++++ 2 files changed, 280 insertions(+) create mode 100644 examples/mandelbrot/README.md create mode 100644 examples/mandelbrot/index.html diff --git a/examples/mandelbrot/README.md b/examples/mandelbrot/README.md new file mode 100644 index 000000000..ac8a24966 --- /dev/null +++ b/examples/mandelbrot/README.md @@ -0,0 +1,22 @@ +# Mandelbrot Set Renderer + +A single-file, dependency-free HTML/JavaScript renderer for the Mandelbrot +set, using the `` element and the 2D rendering context. + +## Usage + +Open `index.html` directly in any modern web browser (no build step or +server required). + +### Controls + +- **Click** a point to zoom in on it. +- **Shift+Click** a point to zoom out. +- **Drag** to select a rectangular region to zoom into. +- **Scroll** to zoom in/out under the cursor. +- **Reset View** button restores the initial view. +- **Cycle Palette** button switches between color schemes (classic, fire, + grayscale). + +Iteration count automatically increases as you zoom in, to keep detail +sharp at deeper zoom levels. diff --git a/examples/mandelbrot/index.html b/examples/mandelbrot/index.html new file mode 100644 index 000000000..01c921347 --- /dev/null +++ b/examples/mandelbrot/index.html @@ -0,0 +1,258 @@ + + + + +Mandelbrot Set Renderer + + + + +
+ +
+ Mandelbrot Set
+ Click to zoom in · Shift+Click to zoom out
+ Drag to select a zoom region
+ + +
iterations: 0
+
+
+ + + + From d310a272b262a076b1a875efae7be51a7947b7a1 Mon Sep 17 00:00:00 2001 From: Copilot Date: Wed, 5 Aug 2026 21:00:26 +0000 Subject: [PATCH 2/4] Expand Mandelbrot example README with screenshot and details Adds a screenshot, file listing, algorithm explanation, and browser support notes to examples/mandelbrot/README.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- examples/mandelbrot/README.md | 38 ++++++++++++++++++++++++++++- examples/mandelbrot/screenshot.png | Bin 0 -> 78507 bytes 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 examples/mandelbrot/screenshot.png diff --git a/examples/mandelbrot/README.md b/examples/mandelbrot/README.md index ac8a24966..1405d205f 100644 --- a/examples/mandelbrot/README.md +++ b/examples/mandelbrot/README.md @@ -3,10 +3,23 @@ A single-file, dependency-free HTML/JavaScript renderer for the Mandelbrot set, using the `` element and the 2D rendering context. +![Mandelbrot set screenshot](./screenshot.png) + +## Files + +- `index.html` - the entire renderer: markup, styling, and JavaScript logic + all live in this one file. +- `screenshot.png` - a preview of the default view, shown above. + ## Usage Open `index.html` directly in any modern web browser (no build step or -server required). +server required). It also works fine served statically, e.g.: + +```sh +python3 -m http.server -d examples/mandelbrot 8000 +# then visit http://localhost:8000/ +``` ### Controls @@ -20,3 +33,26 @@ server required). Iteration count automatically increases as you zoom in, to keep detail sharp at deeper zoom levels. + +## How it works + +The renderer maps every pixel on the canvas to a point `c = (cx, cy)` in the +complex plane, then runs the classic escape-time algorithm: starting from +`z = 0`, it repeatedly applies `z = z^2 + c` and counts how many iterations +it takes for `|z|` to exceed 2 (escape), up to a maximum iteration count. +Points that never escape are considered part of the Mandelbrot set and are +colored black; points that escape are colored based on how quickly they did, +using one of a few gradient palettes. + +Two early-out checks (the main cardioid and period-2 bulb formulas) skip the +iteration loop entirely for points already known to be in the set, which +noticeably speeds up rendering of the interior "blob" regions. + +As you zoom in, the maximum iteration count is increased automatically so +that finer detail near the fractal's boundary stays visible instead of +washing out. + +## Browser support + +Works in any modern browser with `` 2D context support (Chrome, +Firefox, Safari, Edge). No external dependencies or build tooling required. diff --git a/examples/mandelbrot/screenshot.png b/examples/mandelbrot/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e8815fc17fb94a4bb5a4f06958f76b87675702 GIT binary patch literal 78507 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 XgL+fCJ^9}C9}Qhi0}MgkF5>?IVj`)P literal 0 HcmV?d00001 From 64bf3204d57f2ae390f434464c5709aa03298aa6 Mon Sep 17 00:00:00 2001 From: Copilot Date: Wed, 5 Aug 2026 21:02:03 +0000 Subject: [PATCH 3/4] Trim Mandelbrot example README for conciseness Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- examples/mandelbrot/README.md | 58 ++++++++--------------------------- 1 file changed, 13 insertions(+), 45 deletions(-) diff --git a/examples/mandelbrot/README.md b/examples/mandelbrot/README.md index 1405d205f..7a273c142 100644 --- a/examples/mandelbrot/README.md +++ b/examples/mandelbrot/README.md @@ -1,58 +1,26 @@ # Mandelbrot Set Renderer -A single-file, dependency-free HTML/JavaScript renderer for the Mandelbrot -set, using the `` element and the 2D rendering context. +A single-file, dependency-free HTML/JavaScript Mandelbrot set renderer using +``. ![Mandelbrot set screenshot](./screenshot.png) -## Files - -- `index.html` - the entire renderer: markup, styling, and JavaScript logic - all live in this one file. -- `screenshot.png` - a preview of the default view, shown above. - ## Usage -Open `index.html` directly in any modern web browser (no build step or -server required). It also works fine served statically, e.g.: +Just open `index.html` in a browser - no build step or server needed. -```sh -python3 -m http.server -d examples/mandelbrot 8000 -# then visit http://localhost:8000/ -``` +## Controls -### Controls +- **Click** to zoom in, **Shift+Click** to zoom out +- **Drag** to select a zoom region, or **scroll** to zoom under the cursor +- **Reset View** / **Cycle Palette** buttons -- **Click** a point to zoom in on it. -- **Shift+Click** a point to zoom out. -- **Drag** to select a rectangular region to zoom into. -- **Scroll** to zoom in/out under the cursor. -- **Reset View** button restores the initial view. -- **Cycle Palette** button switches between color schemes (classic, fire, - grayscale). - -Iteration count automatically increases as you zoom in, to keep detail -sharp at deeper zoom levels. +Iteration count auto-increases as you zoom in for sharper detail. ## How it works -The renderer maps every pixel on the canvas to a point `c = (cx, cy)` in the -complex plane, then runs the classic escape-time algorithm: starting from -`z = 0`, it repeatedly applies `z = z^2 + c` and counts how many iterations -it takes for `|z|` to exceed 2 (escape), up to a maximum iteration count. -Points that never escape are considered part of the Mandelbrot set and are -colored black; points that escape are colored based on how quickly they did, -using one of a few gradient palettes. - -Two early-out checks (the main cardioid and period-2 bulb formulas) skip the -iteration loop entirely for points already known to be in the set, which -noticeably speeds up rendering of the interior "blob" regions. - -As you zoom in, the maximum iteration count is increased automatically so -that finer detail near the fractal's boundary stays visible instead of -washing out. - -## Browser support - -Works in any modern browser with `` 2D context support (Chrome, -Firefox, Safari, Edge). No external dependencies or build tooling required. +Each pixel maps to a point `c` in the complex plane. The classic escape-time +algorithm (`z = z^2 + c`, starting from `z = 0`) counts iterations until +`|z| > 2`; points that never escape are in the set (colored black), others +are colored by escape speed. Cardioid/bulb checks skip iterating on points +already known to be in the set, speeding up rendering of the interior. From e572e399842519aee5fda83ab7068bb32aaf173a Mon Sep 17 00:00:00 2001 From: Copilot Date: Wed, 5 Aug 2026 21:06:25 +0000 Subject: [PATCH 4/4] Add a lighter, wittier tone to Mandelbrot example README Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- examples/mandelbrot/README.md | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/examples/mandelbrot/README.md b/examples/mandelbrot/README.md index 7a273c142..09297dd4d 100644 --- a/examples/mandelbrot/README.md +++ b/examples/mandelbrot/README.md @@ -1,26 +1,34 @@ # Mandelbrot Set Renderer -A single-file, dependency-free HTML/JavaScript Mandelbrot set renderer using -``. +A single-file, dependency-free HTML/JavaScript renderer for everyone's +favorite infinitely-zoomable blob of math: the Mandelbrot set. ![Mandelbrot set screenshot](./screenshot.png) ## Usage -Just open `index.html` in a browser - no build step or server needed. +Open `index.html` in a browser. That's it - no `npm install`, no build +step, no bundler to configure. Just double-click the file and go stare +into the fractal abyss. ## Controls -- **Click** to zoom in, **Shift+Click** to zoom out -- **Drag** to select a zoom region, or **scroll** to zoom under the cursor -- **Reset View** / **Cycle Palette** buttons +- **Click** to zoom in, **Shift+Click** to zoom back out +- **Drag** to lasso a region and zoom into it +- **Scroll** to zoom in/out under the cursor +- **Reset View** when you get lost (you will get lost) +- **Cycle Palette** to switch up the vibe (classic / fire / grayscale) -Iteration count auto-increases as you zoom in for sharper detail. +Iteration count quietly ramps up the deeper you zoom, so the edges stay +crisp instead of turning into a blurry mess. ## How it works -Each pixel maps to a point `c` in the complex plane. The classic escape-time -algorithm (`z = z^2 + c`, starting from `z = 0`) counts iterations until -`|z| > 2`; points that never escape are in the set (colored black), others -are colored by escape speed. Cardioid/bulb checks skip iterating on points -already known to be in the set, speeding up rendering of the interior. +Every pixel becomes a point `c` on the complex plane. Starting from +`z = 0`, we repeatedly compute `z = z^2 + c` and count how many +iterations it survives before `|z|` blows past 2 and "escapes." Points +that never escape belong to the set and get colored black; everything +else gets shaded by how fast it fled. A couple of early-out checks +(the main cardioid and period-2 bulb formulas) let us skip the math +entirely for points we already know are staying put, which is the +closest thing this renderer has to a shortcut.