I removed some of yesterdays code and did it in a slightly different way. The reason is, that I had a, I think, good idea. Yesterday I stored the assignment of storage to the pins directly in the pins, but that means, I can have only one mapping (or it gets very ugly). But when thinking about how to continue I found out, that I will soon want to have the ability to see, what an arbitrary channel will create. And for that I need to be able to evaluate the operators. For example I would like to have an operator which mixes two images using a third one, so that the first image is superimposed with the second whenever the control images intensity is over for example 0.9.
But that will be much easier if I can actually see the images. So I would want the UI of the operator doing the mixing to be able to display the three input images and the output image. That way I can visually change some settings. In general I will probably not put the images into the operator UI, but into some other place so that changing operators doesn't close them. E.g. if the control image is done by some procedural noise function I would probably like to see, what happens to the output if I change the settings of the noise.