I've tried to add spatials to a node and lock the spatial. What I would expect by doing this, is that the child would be unmodifiable withing the parent node, and move with the node whenever it moves. The result of doing a transformation on the node does not result in this, but the spatial is locked in its current position in the world. The reason I want to do this, is because of performance issues. As a test example, TestScenegraph.java can be modified by adding the following line at the end of the simpleInitGame() method:
Lock does exactly do performance optimization by assuming nothing will change - even translation and rotation. If you want to lock textures and geometry only, do just that (there are more lock methods with longer names - you can most likely lock everything but transformations).
Sorry for the diversion, but wouldn't a "dirty" flag be able to take the place of locking, thus giving a performance increase like it is locked when it has not changed?