Section 10 of 14

Full pipeline

The pipeline has three parts, each covered on its own page. Finding good locations walks each fractal family and keeps the places the location judge thinks are likely to be good. Finding good wallpapers draws each of those places many ways, across rendering modes and palettes, and keeps the best few. Gallery curation picks whole galleries out of everything mined so far. Between them sit two pools, one of locations and one of candidate pictures. The location pool only ever grows, and the candidate pool keeps only the best few pictures at each place and mode.

Finding locations

about 570,000 places walked

A location the walk found, drawn in one neutral palette.
A location the walk found, drawn in one neutral palette.
A location the walk found, drawn in one neutral palette.
A location the walk found, drawn in one neutral palette.

Location pool

about 81,000 locations

Finding wallpapers

about 570,000 candidates mined

A candidate mined at the same location, in smooth.
A candidate mined at the same location, in stripe over smooth.
A candidate mined at the same location, in triangle-inequality average.
A candidate mined at the same location, in orbit itinerary.

Candidate pool

about 520,000 candidates, 19,000 passing the judges

Gallery curation

1,000 seats in the general gallery, 8,000 across the 19 collections

The wallpaper the general gallery seated at the same location, in stripe average.
The wallpaper the general gallery seated at the same location, in triangle-inequality average.
The wallpaper the general gallery seated at the same location, in screened trap.
The wallpaper the general gallery seated at the same location, in smooth.
The three parts of the pipeline and the two pools between them, with rounded counts.

How I ran it

Over several weeks I cycled between three tasks: finding new locations, finding better wallpaper candidates at the locations I had, and running quick solves to see how complete and balanced the galleries were across the axes I cared about. Whenever I noticed a deficiency, I aimed the next task at filling it.

Color was the most interesting case. Some color classes just don't make great wallpapers, and the pool showed it. So I added more palettes in those colors, relabeled pictures that used them to retrain the wallpaper judge once I had enough, and then ran targeted mining that hunted for locations and palettes the judges scored well. The chart below shows how often each main hue passes the judges, and the figure after it shows the five best and five worst shades.

A bar chart with one bar for each of the twelve main hues, rose through magenta, each bar drawn in its own hue. A bar's height is the share of that hue's candidates that pass the judges, and the small number above it is how many candidates were drawn in that hue.
How often candidates in each main hue pass the judges. The small number on each bar is how many candidates were drawn in that hue.

Most often

The best-scoring candidate whose dominant shade is dark vivid red: trap spread angle over smooth, in the Phoenix family.

dark vivid red9.9% pass

The best-scoring candidate whose dominant shade is dark vivid rose: stripe average, in the Multibrot d = 5 family.

dark vivid rose8.6% pass

The best-scoring candidate whose dominant shade is dark vivid orange: stripe average, in the Julia family.

dark vivid orange7.4% pass

The best-scoring candidate whose dominant shade is dark vivid purple: triangle-inequality average, in the Multibrot d = 4 family.

dark vivid purple7.3% pass

The best-scoring candidate whose dominant shade is dark vivid magenta: curvature over smooth, in the Multibrot d = 4 family.

dark vivid magenta6.7% pass

Least often

The best-scoring candidate whose dominant shade is light vivid lime: cross trap over smooth, in the Julia d = 4 family.

light vivid lime0.7% pass

The best-scoring candidate whose dominant shade is light muted lime: triangle-inequality average, in the Multibrot d = 5 family.

light muted lime0.7% pass

The best-scoring candidate whose dominant shade is dark vivid lime: stripe average, in the Phoenix family.

dark vivid lime0.9% pass

The best-scoring candidate whose dominant shade is dark muted lime: trap spread angle over smooth, in the Julia family.

dark muted lime1.3% pass

The best-scoring candidate whose dominant shade is light vivid green: stripe average, in the Julia family.

light vivid green1.5% pass

The five shades whose candidates pass the judges most often (top) and least often (bottom), each shown by its best-scoring picture.

More mining kept paying off even after a gallery could be filled. When I re-solve on the pool cut down to a range of sizes, every seat is already filled at a quarter of the pool, and the quality of what's seated rises at every doubling after that. Quality here is the gallery judge's reading. I could push it higher still, say by mining ten times as long, but I expect that past some point the extra gains would come from exploiting the judge's blind spots rather than from better pictures, a form of reward hacking.

A box-and-whisker chart of the gallery judge's scores over the seats of a 1,000-seat gallery, at seven fractions of the pool from one sixty-fourth to the whole. The seats filled climb from 183 to 978 over the first four fractions, and the boxes sit level there, with a median near 0.18. From a quarter of the pool on, all 1,000 seats fill, and the box rises at each doubling, to a median near 0.59 over the whole pool.
The gallery judge's scores over the seated pictures, re-solving the pool cut to each fraction of its size. The number above each box is how many seats filled.

Everything here stays within double precision. Going below that is the subject of Deep zoom rendering, and Fractal atlases shows where in each family the locations ended up.