Lerp a flat RGBA color array from toward to. Inputs are 0..1
floats (the renderer's color space); outputs are 0..1 floats too.
Alpha is always linearly lerped; RGB channels are lerped in the
requested color space. OKLab / OKLCh paths bounce through u8 because
the gamma-correction LUT and gamut-clip routines are byte-keyed —
the round-trip is lossy at <1% per channel, well under the visible
threshold for these animations.
Lerp a flat RGBA color array
fromtowardto. Inputs are 0..1 floats (the renderer's color space); outputs are 0..1 floats too. Alpha is always linearly lerped; RGB channels are lerped in the requested color space. OKLab / OKLCh paths bounce through u8 because the gamma-correction LUT and gamut-clip routines are byte-keyed — the round-trip is lossy at <1% per channel, well under the visible threshold for these animations.