The Node Graph
The Node Graph shows your groom as a network of connected nodes rather than a single linear list. Each node corresponds to an operator, and the connections between nodes describe how data flows from one to the next. The graph and the The Operator Stack are two views of the same groom: a change made in one is reflected in the other.
When to use the graph
For most grooms the linear Operator Stack is the quickest way to work. The Node Graph becomes valuable when your setup is not a straight line, for example when you want to:
- Branch a result so it feeds into more than one operator.
- Merge several inputs into one groom.
- Reuse the output of one part of the network in several places.
These arrangements are awkward to express as a single stack but natural as a graph.
Working in the graph
In the Node Graph you can add nodes, connect an output of one node to an input of another, and select a node to edit its parameters in the Editing Operator Properties panel. Selecting a node in the graph selects the corresponding operator in the stack, and vice versa, so you can move between the two views freely as you build and refine a groom.
Dragging a connection from a port and releasing it over empty space opens a menu of the operators that connection can be made to, listing only those which accept what the port carries. Choosing one creates that node and connects it in a single step. When the connection is dragged from an input which is already connected, the menu also offers to disconnect it.
Connections can also be cut in bulk. Turn on the cutting mode with the scissors button in the graph's top right corner, or with its shortcut, and drag with the left mouse button: a stroke follows the cursor, every connection it crosses is highlighted as it is taken, and all of them are cut when you release the button, as a single undo step. Tapping the shortcut key turns the mode on and leaves it on, so you can make several cuts in a row; holding the key keeps the mode only for as long as it is down, which is the quickest way to make a single cut. Escape abandons a stroke in progress, or leaves the mode when there is none.
Seeing which stack you are working on
The Scene panel and the Operator Stack each show one kind of node, but the Node Graph shows every node of the groom at once. To make it clear which of them the rest of the application is working on, the graph draws the current operator stack - the operators of the object selected in the Scene panel, the object's own node at the end of them, and the connections between them - at full strength, and fades everything else. The connections belonging to that stack are drawn slightly thicker as well, so the stack reads as a path through the graph.
On a groom with a single object this changes nothing, since every node belongs to that object's stack. On a groom with several objects, selecting one in the Scene panel brings its part of the graph forward and pushes the others back. When no object is selected there is no stack to show, and the whole graph is drawn evenly.
This can be turned off with "Highlight the current operator stack" on the Interface tab of the settings dialog. See Settings and Preferences.
Narrowing the graph down
A groom of several objects is a single network: the objects usually share a base mesh, and often a hair card atlas or a texture map as well, so the graph of a finished groom can be much larger than the part you are editing. The filter bar in the graph's top left corner narrows it down to that part. It is a single small icon until you click it, which opens a row of three filters; clicking the icon again closes the row. The icon is drawn filled whenever a filter is on, so a narrowed graph is never mistaken for a groom that has lost nodes.
- Current operator stack shows the Operators the Operator Stack lists for the selected object, the object's own node at the end of them, and the maps and grooms which feed them and are used nowhere else. Anything belonging to another object is left out, including a map both objects draw on.
- Focused node's tree shows the selected Operator together with everything it takes its input from and everything which depends on its output, and nothing else.
- The name box shows only the nodes whose name or Operator type contains what you type. Both the type as written and its words separated are matched, so "surfacecomb" and "surface comb" find the same nodes.
The three are independent, and a node has to pass every one that is on. Unlike the stack highlighting above, which only fades what is not in the current stack, a filter removes a node from the graph: its connections go with it, and the remaining nodes are arranged into the space it leaves, so a filtered graph reads as a graph in its own right. Positions you have pinned are kept, whether the node is shown or hidden.
The state of the bar is saved with the groom, so reopening it shows the same part of the graph you left.
Relationship to the stack
Think of the Operator Stack as the simple, linear face of your groom and the Node Graph as its full, branching form. Simple grooms look the same in both. As soon as a groom branches or merges, the graph is the clearer place to see and edit its structure.


