Access is now through GetColourGradient, which ensures parameters are in range.
Lookups are calculated on demand and caches in a 256KB in-memory table.