cannonHelper
cannonHelper copied to clipboard
Convert to worker
Now that I've thought about it, whole thing should be converted to a worker. Workers provide amazing performance enhancement over single-threaded app.
Problem with using Cannon.js with a worker is the same as in every worker. There are plenty of things I'd like to be able to do from my main thread using the same syntax as usual, but the world object resides in the worker.
I have a worker in which identifies the meshes with uuid and that solution works great. It has to cycle through bodies, but in a separate thread this is acceptable. Still, if I want to add a contact material or a constraint to the world, I'd need to create separate methods to do all this. I've used a workaround in which worker.addBody returns a dummy body object which has position and quaternion but nothing else. For my purposes it works. It gets updated by the worker so anything relying on body position will still work.
Adding methods for creating constraints etc. is doable but what about asynchronous collisions? If anyone has some insights on this, I'd appreciate them very much!