probabilistic color palette
Hand-picked color set where each color carries a selection probability, so shapes are colored by weighted random draw rather than a fixed rule.
Run it
What it looks like when it goes wrong (3)
- At skew 0 every colour carries the same weight, so the weighted panel collapses onto the uniform one — a busy swatch chart with no colour chosen to dominate. The whole point of weighting disappears.
- Pushed this hard, the first colour takes over 90% of the probability mass. With a 12-colour palette and only a few hundred draws, most of the other eleven colours never land at all — they stop reading as rare accents and start reading as absent.
- With only a few dozen shapes per panel, sampling noise is the same size as the signal: realised counts swing far from the weights that produced them, and the panel reads as speckle rather than a stable, composed field.
Clean-room implementation — written from the described algorithm, not from source. Reuse policy
What it is
A probabilistic color palette is a small, hand-picked set of colors where every color also carries a probability. Coloring a shape is a weighted random draw against that set, not a uniform pick and not a fixed rule — some colors are meant to turn up often, others rarely, by design.
How it works
- Hand-pick a set of colors that read well together, by eye, not from a formula.
- Assign each color a probability weight.
- To color one shape, draw a random number and walk the weighted list: build a running total of the weights and see which color’s slice it lands in. Ordinary weighted sampling — nothing here is specific to color.
- Repeat per shape. Within one output the palette and its weights are held fixed; only which colour comes up changes, draw to draw.
Parameters & tuning
The weights are doing as much work as the colours. Flatten them — every color equally likely — and the result reads as a swatch chart: busy, and centerless, because no color has been chosen to dominate. Skew them and the palette starts to look composed instead of merely used: a handful of colors carry most of the picture and the rest surface only as accents, landing exactly as often as the weights say they should. That is what weighted sampling buys you over a uniform draw.
Palette size is the other lever. Luxe, Fidenza’s most common palette, runs to sixteen colors — the largest of its fourteen .
Where it’s been used
Tyler Hobbs shipped Fidenza with fourteen of these palettes; Luxe, the most common of them, is also the biggest at sixteen colors. The palette’s job in that piece is separate from tracing the shapes themselves, which is the flow field’s job .
Variants & neighbours
This one is specifically about color, distinct from a few things it sits next to in the same essay. Super Blocks and Soft Shapes are alternate fill treatments for a shape’s interior — a block mosaic and a noise-perturbed line fill — they change how a color is laid down, not which color gets picked. Rounding each vector angle to a multiple of π/10 quantizes curve direction and has nothing to do with color at all. And a cosine palette is a different mechanism entirely: a continuous formula evaluated at any parameter value, smooth and deterministic, where a probabilistic palette is discrete, hand-picked, and built to be uneven on purpose.
Go deeper
- Tyler Hobbs — Fidenza — states the mechanism and the Luxe palette’s colour count directly.
Connected to
Used in: Fidenza
Contrast with: Simple color palettes
Try it yourself
Build a five-color palette. Run it once with all five weights equal, then again with one color at 60% and the rest splitting the remainder equally. Compare the two fills side by side.
Equal weights read as a swatch chart: every color shows up about as often as every other, and the eye has nowhere to rest. Skew one color to 60% and the same five colors, drawn onto the same shapes, produce a dominant field with the rest reading as accents. Nothing changed but the weights — that is what it means to say the weights are the composition.
Take a palette with 16 colors, most of them at very low weight, and shrink it to 4 colors at the same low weight each. What feels different?
At 16 colors there are enough rare draws for the eye to group them as 'the accent set.' At 4, the same low weight per color means a rare hit is isolated rather than part of a visible group, so it reads more like a stray pixel than a deliberate accent. Palette size and weight are not independent knobs to tune one at a time.