So I have been thinking about a new shader/material editor for blender and now I’ve made a small sketch of how it could look.
Here are the main features of the shadertree:
1.) You access the tree just like you access for example the IPO window.
2.) For each material you create a new tree, and you can switch between these trees using buttons on the bottom of the shadertree window (not shown in picture yet)
3.) There will be a separate editor to link the shaders/materials to the geometry objects in the scene. Basically it will be a window with a list of the materials to the left and a list of the objects in the scene to the right. If you want to assign a shader/material to any object(s) you simply drag the material to the desired object(s). Once you have assigned the shader/material to the object(s) the shader/material will show up as a child to the object in the shader/material linking editor. Think of it as the explorer in for example windows, the objects would be represented by a folder and the objects assigned shader/material would be represented as its one subfolder. I will get back to you with a more detailed sketch of this.
This approach for linking might seem a bit complicated at first, but its really a good way when dealing with a large number of shaders/materials.
4.) As shown in the picture there will be a menu that appears when you right-click in the workspace that you will use when creating new nodes. If you right-click when hovering over one of the connection lines it will insert the desired node and link it up with the two other nodes that were previously connected to eachother. You can also insert a link this way by moving it over the connection line while holding shift.
5.) When you click on any node in the tree the properties for this node will show up for example where you previously edited all the materials in blender. For example if you click on a texture node you will be able to change the path for the texture etc.
Note that this is only a sketch so far, nothing have been coded yet, so its up to you to come up with comments for this. If you like it then there is a chance that we might be able to take this idea further and start implementing it.
Finally, here is the sketch: