Hello, pi3d people! Just wanted to say hello, but also had some info that might be helpful.
One of the issues with pi3d, if I recall correctly, is that openGL needs the main thread.
I'm dealing with "yet another thing that needs the main thread" - and went to using Python's multiprocessing.
We're not quite done yet but it's going very well, and it's extremely powerful and not too difficult to use.
In particular, it's easy to write proxies that control one object from another process, so you could actually be running pi3d that way as a "normal" Python program from the command line...