# Combine some nodes in functon group of nodes. # Goals: If node can be reused in multiple a node editors, there is no real reason to duplicate this for multiple ones. Function nodes is virtual editor, used for unified all such nodes for all other editors. ## Way to do that: 1. Need to implement a functional version of the node. 2. Its identifiers must be new and not linked to other editors. 3. The node execution implementation should be copied over from other versions. 4. The versioning code must be able to change the type code of the old node to the new one (string type identifier). 5. Old nodes can be removed. It is best to do this separately for each node in an individual PR. Nodes to unified: 1. `CMP_NODE_RGB`, `SH_NODE_RGB` -> `FN_NODE_INPUT_COLOR`. 2. `CMP_NODE_VALUE`, `SH_NODE_VALUE` -> need new node. 3. `SH_NODE_COMBINE_COLOR`, `CMP_NODE_COMBINE_COLOR` -> `FN_NODE_COMBINE_COLOR`. 4. `SH_NODE_SEPARATE_COLOR`, `CMP_NODE_SEPARATE_COLOR` -> `FN_NODE_SEPARATE_COLOR`. 5. `SH_NODE_COMBXYZ`, `CMP_NODE_COMBINE_XYZ` -> need new node. 6. `SH_NODE_SEPXYZ`, `CMP_NODE_SEPARATE_XYZ` -> need new node.