> Troy, I was looking through your (amazing) example, and the only part that I didn't recognize was the matrix you used to go from RGB to XYZ based on srgb d65 primaries.
I didn't do much other than read Doug's post and force myself to re-read the CIE L*a*b* formula.
The matrices to XYZ are Illuminant C adapted from D65. Feel free to replace that component as required.