gradient flowing color ramp
A slow-flowing, seamlessly looping multi-stop color gradient, optionally with a rotating axis.

Default stops are [[0.10, 0.16, 0.42], [0.38, 0.12, 0.48], [0.05, 0.36, 0.44]].
Fewer than 2 valid stops falls back to that default palette. speed is clamped to
0 to 30 cycles per minute.
Properties
| key | type | default | meaning |
|---|---|---|---|
colors | array of [r,g,b] | indigo, purple, teal | 2 to 4 ramp stops; extras beyond 4 are ignored. |
angle_deg | float | `45.0` | Gradient axis. `0` is left-to-right, positive rotates clockwise. |
speed | float | `0.25` | Ramp loop speed in cycles per minute (`0.25` is one loop every 4 minutes). `0` freezes it. |
rotate_deg_per_min | float | `0.0` | Axis rotation in degrees per minute. `0` keeps the axis fixed. Clamped to plus or minus 360. |
scale | float | `0.75` | Ramp lengths per screen height. Smaller means broader, softer bands. Clamped to 0.05 to 10. |
every key is optional; omit it and the default applies. misspelled keys are silently ignored, so if a setting seems to do nothing, check the spelling against this table. colors are 0.0–1.0 float arrays.