CoolFace
Datasetpublic

damiavicens/mandelbrot-deep-zoom

Mandelbrot deep zoom — GPU renderer and 4K60 film A single continuous, uncut 4K60 zoom into the boundary of the Mandelbrot set, rendered on one NVIDIA RTX PRO 6000 Blackwell with rescaled-delta perturbation theory. 180.000 s, 10 800 frames, 3840×2160 @ 60 fps, HEVC 10-bit Final radius 1e-24 — magnification 1.60e24, 80.4 doublings Centred on a minibrot nucleus of period 10 589 (|Z_p| = 1e-219.6) Method Perturbation theory with Zhuoran rebasing around one… See the full description on the dataset page: https://huggingface.co/datasets/damiavicens/mandelbrot-deep-zoom.

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes108downloads
Dataset Card

Mandelbrot deep zoom — GPU renderer and 4K60 film

A single continuous, uncut 4K60 zoom into the boundary of the Mandelbrot set, rendered on one NVIDIA RTX PRO 6000 Blackwell with rescaled-delta perturbation theory.

  • —180.000 s, 10 800 frames, 3840×2160 @ 60 fps, HEVC 10-bit
  • —Final radius 1e-24 — magnification 1.60e24, 80.4 doublings
  • —Centred on a minibrot nucleus of period 10 589 (|Z_p| = 1e-219.6)

Method

Perturbation theory with Zhuoran rebasing around one arbitrary-precision reference orbit, with every pixel iterated as a float delta. Because the card measures FP64:FP32 = 1:38.4, the deltas are float32 — which only works with rescaled arithmetic: a mantissa plus a shared power-of-two exponent per pixel, so nothing underflows at depth (unscaled f32 dies below a view radius of ~1e-16).

Colour is authored as closed loops in Oklch, gamut-mapped by reducing chroma at fixed lightness and hue, baked to a 16 384-entry LUT, and combined over three octaves as Oklab vectors. Relief shading comes from the distance estimate. Output is dithered with a triangular PDF before 10-bit encoding.

Contents

pathwhat
*.py, cuda/*.cuthe renderer, explorer, palette system, validation suite
report.mdfull write-up: measured device numbers, all eight validations, known issues
stills/nine 4K PNGs at 0/10/25/40/55/70/85/95/100% of the film
video/1080p60 H.264 viewing copy
results/run config, validation JSON, palette validation, camera-path target

Notes worth reading before reusing this

Three things cost real time to discover and are documented in report.md:

  1. 1.dps >= -log10(radius) + 30 is a floor, not the binding precision constraint. What binds is that the reference orbit must survive max_iter.
  2. 2.BLA is a net loss above ~1e-40 on this hardware (0.78× over the path to 1e-24), because every loop iteration that finds no valid level still pays the level scan. It is 60× at 1e-200. Depth-gate it.
  3. 3.Colour normalisation must be a deterministic function of depth, not a stateful EMA, or block-parallel rendering leaves a visible colour seam at every block boundary.