Async Simulation and Visualization + Data-Export system

Idea: Run the simulations in another thread.

Advantages:

  • Some performance improvement since one thread can run the simulation full speed, the other render the visualization.
  • (Re-)develop the simulation data exporting. The relevant simulation data-points are saved per frame (can be a different rate then the simulation rate). The simulation "client" would register which data-points should be exported (to save bandwidth).
  • The basic-sim can store the frames for a simulation. This allows to watch a simulation as it is simulated, but also to watch back/navigate the simulation using a timeline.
  • This simplifies the time control logic between visualization and simulation.
  • The data-export system can also directly be used to save simulation results.
  • The data-export system could also be used to watch simulations remotely (would update the visualization project)
  • A solid data-export system would make exporting any data (also inspection data for plotting, ...) cleaner and more generic.