I worked through the problem a bit and I think I came up with something that might work. There were a few gotchyas that I found. I had to resign to the fact that there would be no way to directly and reactively push state to threejs. So, instead I opted for a series of queues that add synchronizers to make threejs update its objects.
Here’s a sample of the idea. Would love to get your thoughts on it. Again, I’m aiming to go with the least code, the most flexible, and to keep things really really simple.