Things have come a long way since the first demo! Here are some highlights:
Having access to all the internal Godot classes means there are several things I could do to improve my code, mostly for readability, but maybe for some extra performance too. CPU usage isn't too bad, the game is using 20-30% of one core in the demo. This boat hull is 850 polys, and usually ~250-500 of them are evaluated for underwater forces each physics step, depending on whether you're planed out.
I've got a bunch of other polish work to make this more generally usable as well, but I think things are coming together nicely! Next demo will include more objects in the scene, maybe push the physics interactions a little harder. If anyone's got other potential use cases for me to try, let me know!