A colour variable can generate a whole ramp — color/red/50 through color/red/950 — from one base colour and three curves.
Open it from the Shades button on any ungrouped colour row or colour group header, or by clicking the fx row of a shader card in the graph.
The controls
- Base Color — the colour the ramp is built from, as a swatch or a hex field.
- Shades — how many steps, between 2 and 20. Default is 11.
- Curve Property — Lightness, Saturation or Hue. Each has its own curve, and each segment shows a reset badge when its curve has been moved away from the default.
- The curve editor — drag the end nodes vertically and the four control handles to shape how that property moves across the ramp. The nodes are filled with the colour they produce.
- Preview — the finished ramp, with a dot marking where your base colour sits.
Lightness and saturation are offsets from −100 to 100; hue shifts from −180 to 180 degrees.
What it produces
Names follow the shade count: 5 shades give 100, 300, 500, 700, 900; 10 give 50 to 900; 11 give 50 to 950. Other counts are interpolated across the same range.
Your base colour is written into the ramp exactly. Which slot it lands in is decided by its own lightness, not chosen by you — a light base sits near the top of the ramp, a dark one near the bottom.
Managed shades
A generated ramp is managed: the source variable remembers its settings and the list of shades it owns.
That has one consequence worth understanding. Change the source colour and every shade regenerates automatically, within a few seconds, without asking. Rename the source and the shades are renamed to follow it. This is the point of the feature, but it means hand-editing a generated shade is temporary — the next regeneration overwrites it.
When the plugin notices the shades no longer match their source — the source changed, a shade was edited, or one is missing — the button on the group changes to Refresh.
Remove Shades deletes the generated variables, keeps the source, and forgets the settings.
Limits
Shade generation targets the first collection in the file. If the colour you are generating from lives in a different collection, the result is unreliable — generate it in the first collection, or move the variables afterwards.