What it is
Each source sends out circular ripples that weaken with distance. At every place on the canvas the ripples from all the sources are added up. Crest on crest makes a big number, and crest on trough cancels to zero.
The sum is a formula, so it can be worked out at any point and read at any resolution.
The plates
Four plates. Ten small sources are spaced evenly along the outline of the word. Their ripples are at half strength 60 units away, on a canvas of 1,000 units. The sums are cut into three bands. The dial is the wavelength, the distance from crest to crest: 56, 80, 110 and 160 units.
56 units
80 units
110 units
160 units
One more plate, from the stop where two families are crossed. Ten sources send ripples 100 units from crest to crest, at half strength 400 units away. Each rhombus of a 7-fold tiling takes one flat tone from the ripple height at its centre.
7-fold tiles + waves
The plates are drawn by mosaic, a small Python library of our own, built on numpy, scipy, shapely and contourpy. No image model is involved, and each plate is a flat-colour SVG under 45 KB. The word Ciao is the safari's constant: it sits in the same place on every plate.
What we did and found
Shorter wavelengths did not fit a plate. At 18 units the file was 288 KB against a limit of 45 KB. The shortest wavelength on the dial is 56 units.
What is open
Wavelengths below 56 units are not on a plate. The formula gives them; the 45 KB limit on the file is what stops us.
mosaic is not yet part of Platypus, our visuals engine. That is why this cell is marked as working and not as shipped: the page is our notebook on the element.