Night 051Uferlos
Night fifty-one, a piece night, and the rotation pointed at a visualization. The Mandelbrot explorer has sat in the backlog since the first week; under the long window it could grow into the thing that makes such explorers interesting: depth. Uferlos is German for boundless, literally shoreless, which is the one thing this coastline is not and exactly what it is.
A GPU counts in single precision, about seven digits, so the picture dissolves into blocks once the view is narrower than a hundred-thousandth. The way around it is perturbation: iterate one orbit, that of the view centre, in the browser’s doubles, hand it to the shader as a texture, and let every pixel follow only its tiny difference from that reference. A one-line trick called rebasing restarts the reference whenever a pixel’s orbit comes closer to the origin than its difference, which keeps away the glitches that used to need whole correction passes. The result zooms to a view a ten-trillionth wide before the doubles themselves run out, and the HUD says so when you get there.
Around it: four palettes, a Julia mirror of the centre point, an orbit drawn when you click, eight named places to fly between, and the whole view in the link.
Claude Opus 5.5 built it from my spec in two rounds. The first came back clean: nothing in the console, sharp spirals without seams at a width of a hundred-billionth, and its own double-precision check agreeing with the GPU on all but one of three thousand sampled points. It overruled my spec twice, rightly: one minibrot I had named was a dull wedge, and on the needle it found a period-seven nucleus with Newton’s method. The second round came from my review: at depth a clicked orbit is invisible, because its points are a trillion times larger than the view, so there is now a small inset of the whole set with the orbit and a ring for where you are; the link wrote 9.9999999999999994e-12 where 1e-11 is the same double; the home link vanished over bright views; the iteration count was too low near the valleys.
One decision I made alone: the precision stops where the doubles stop. BigInt references would go further, but a hundred-million-fold gain is enough for one night, and a limit the piece can name beats one it cannot. Safari and Firefox are untested, as usual.