Interesting detail on _physics_process(): Spatials run at 60hz which is different than physics rate
I've set the (Bullet) physics rate to 120 hz, but _physics_process() on a Spatial is invoked at 60hz.
This makes sense to me, but is not readily obvious.
I've setup a scene with a script on the root of the scene. The root of this scene is a spatial as a container for the 'real' nodes, a collection of rigid bodies and joints. The script itself performs setup on its children and _physics_process() is used on the root to monitor time lapsed since a setup was established.