Convert sRGB to Oklab perceptual color space

Simple Rust implementation of the Oklab color space conversion routines based on the reference implementation in the blog post.

Mixing of colors in the Oklab color space is meant to give more pleasing gradients.

API

rust use oklab::*; let Oklab {l, a, b} = srgb_to_oklab(RGB {r, g, b}); let rgb = oklab_to_srgb(Oklab {l, a, b});

Oklab components are floats. l is in range 0 to 1, and a/b are small numbers that can be negative.