Randomness
random, Perlin noise, and the scatter helpers. All of them take a seed, so a run can be repeated exactly.
| Example | What it shows |
|---|---|
| Gaussian | 2000 dots a frame, placed by randomGaussian, so the bell curve becomes visible |
| NoiseField | an 80×80 grid shaded by 3D Perlin noise, and the mouse scrubs through the field |
| NoiseKinds | the noise kinds side by side on one seeded field: simplexNoise, signedSimplexNoise split at zero, worley with its feature and jitter exposed as parameters, and turbulence |
| NoiseWave | a wave of dots offset by signedNoise, which is smooth, as the noise counterpart to RandomBand |
| TilingNoise | one tile laid down nine times, once from fbm and once from tilingFbm, so you can see the seams and where they disappear |
| RandomBand | a band of dots jittered by random, which is jagged, and the mouse re-rolls it |
| Ring | dots scattered in an annulus by randomVector(innerRadius:outerRadius:), relative to scale, so the ring keeps its proportion |
| Variations | a whole composition per seed, which you explore from the inspector's Variation card and proof as a range with --export-grid |
| Walk | a seeded random walk that the clock reveals over time, and a click starts a fresh walk in a randomChoice color |
Run one with swift run Example-Randomness-<Name>, for example swift run Example-Randomness-NoiseField.








