stashed nodes?

references to them seem to be speckeled everywhere in the api…
what are they and what are they useful for?

nodePath.stash() is the interface to “stash” a node. It is similar to hiding a node via nodePath.hide(), but it has more far-reaching effects.

An ordinary hidden node will not be rendered, but it is still a part of the scene graph. It will be listed by ls(), it can be found by a NodePath.find() operation, and it will be tested for collisions. Its volume is still included in the bounding volume of its parent.

A stashed node, on the other hand, is not really part of the scene graph any more (although it remembers what its parent was). It won’t be rendered, and it also will not be listed by ls(), it won’t be found by an ordinary NodePath.find() operation, and it will not be tested for collisions. Its volume is no longer included in the bounding volume of its parent.

nodePath.unstash() reverses the effect of a previous stash operation, restoring the node to the scene graph in the same place it was before.

David