My experience in developing LED drives has given me some insights that could be of benefit in your lighting project. Most of that experience is in full color light output with the rest in adjustable white lighting. In addition to the drive hardware I have also developed fixture application software and communications stacks.
When designing electronics capable of accurate full color light output there are a number of things I consider. First I want to know how colors are designated. A common method is to pick red, green, and blue reference points that are convenient for the light sources in the fixture then linearly scale between them. This results in perceptually non-linear color transitions and problems in color matching between different light models. The method of designating color that appeals most to me is using the same color translation method as computers and portable devices. The advantages are that the differences in color codes are perceptually linear and colors will match between fixtures using this method and the devices that control them.
Another method I like to apply to color translation is extending the color set point into the color space of the fixture. Full color LED fixtures are always capable of generating more saturated color than computers or portable devices. The color set point can be extended by determining the absolute hue and saturation value of the color code then applying that hue and saturation value to the full color space that the fixture is able to produce. This way the fixture will make colors as fully saturated as it is capable when fully saturated color codes are entered and the hue will still match other devices using this method.
Selection of LEDs effects the range of color that can be generated and how objects illuminated by that light will look. For a full-color light a minimum of three LEDs are required; red, green, and blue. For a three LED system the main compromise is between the range of color that can be displayed and the brightness of the fixture. If a deeper red and blue are used a wider range of color can be generated at the expense of lower perceived brightness since the human eye is not as responsive to light at the wavelength extremes. When a three color system is set to white illuminated objects may appear color shifted since the light contains such a narrow spectrum of light. A way to improve color range and light spectrum is to add LEDs to the system. Adding a white LED will broaden the spectral content of the light and make object render more naturally. Adding color LEDs like amber and cyan will increase the range of color that can be produced.
When the color target is known the ratio at which the LEDs must be driven can be calculated. Most basically the intensity ratios can be calculated at the typical output colors and drive levels of the LED sources. This will result in some color error since LED intensity does not vary linearly with drive current. Applying an intensity correction for drive level reduces the amount of color error. LED temperature will effect intensity as well so an additional intensity correction can be applied for temperature. It is not only the intensity that can vary over temperature and drive level but color as well. Green LEDs in particular will change color with temperature and drive level. Another correction can be applied for color drift.
Individual LEDs of the same part number will vary as well. LEDs within a lot will vary little but lot to lot variance can be significant. Data from calibrating a fixture at a few points allows for gain and offset correction that will account for most of this variance. If more accuracy is needed calibration data can be collected over a wider range of operating conditions but most applications do not need this level of accuracy.
For the driver to be able to attain all the color points and transition smoothly between colors and brightnesses it has to be able to source current over a wide range. To have a light that will transition without perceptible steps the drive should cover a range from 100% current to 0.001%. This is not possible with a constant current drive when driving at currents much less than 1% LEDs will stop making light. Another problem with driving LEDs at low constant currents is that they can significantly shift in color. In my designs, I will either use pulsed dimming exclusively or use a hybrid analog and pulsed drive. When implementing an analog drive I will not run currents below 1% of the rated current to avoid the problems with color shift and light cut-off.
Adjustable white lights will have many of the same issues as color lighting but possibly not to the same degree. Since the fixture will be operating over a much smaller color range the LEDs will also need to operate over a smaller intensity range. The color source intensity will be small relative to the white source intensity so variations in color will be less noticeable.