generate texture atlas from colors
rename material functions to be distinct, still buggy

next step is to make connectors mutable to be able to replace the function inside the connector instead the connector itself. This preserves the connections and makes sure that the preview has access to the most recent function updates.