I done that with materials. You submit materials and colors then script makes array of every possible combination of material and color. And i think i have almost what you described. I recreated project under 4.20, and it is cleaner than yesterday.
There is no really advanced stuff inside. Just communication, some basic things with widgets, and creating dynamic materials.
I will update when i finish widgets.
EDIT:
It is done : https://www.dropbox.com/s/3sqv2uukc2…s_420.rar?dl=0
user interface needs more work, but this is simplest version of what you tried to make, should be good starting point.
stuff it has:
- creating variants of material for given colors and base materials, it makes colors * materials array
- two basic widgets to display single material information
- detecting proximity of furniture and changing those 2 small widgets
- one grid widget that can display whole created collection
There is plenty of work to do with user interface, grid widget is really dumb, etc.