Don't depend on camera inheritance; set the mask in the traverse() method.
I thought that this would fix the "black hole in the sky" problem, which turned out to be caused by an OpenSceneGraph bug. Nevertheless it is a simplification.
ViewPartitionNode addresses Z-fighting issues by rendering near and far parts of the scene seperately.