Current Status:
Just a simple threeJS scene is initialized and connected to a Python backend using WebSocket. On the other hand, the Python backend is managing a SmartBody scene and handling WebSocket requests*

Near future

  • Use Tornado as Python framework to serve WebSocket
  • Send SmartBody scene updates upstream to threeJS scene (especially create characters)
  • Remove threading from SmartBody scene worker and use it in completely separate process, while still using ZMQ for synchronization with WebSocket

Future

  • Integrate with WebTundra
  • Synchronize WebTundra scene and SmartBody
  • Implement Users Avatars (create new characters from threeJS)
  • When implementing multiple users, use one skeleton and just different meshes for different users. SmartBody engine doesn't need to be aware of how Brads actually look like
  • Implement NodeJS module wrapping SmartBody API
  • Compile bare SmartBody engine with minimal dependencies and prepare it for possible emscripten trip
  • Try to compile the inevitably required Boost libraries into AsmJS using emscripten