The interactive mode of `gym_jiminy`, allowing to play with a robot during a simulation using mouse and keyword input, has been greatly improvement in terms of features, reliability, and computational efficiency. Besides, every minor framerate drops of the viewer using Panda3d has been addressed to make the experience more enjoyable. It is now possible to replay more than 10 log files using integrated graphics at solid 30fps.
New features
* [python/viewer] Add option to not lock camera pose but only look-at point when travelling is enabled using Panda3d.
Improvements
* [python/viewer] Display freeflyer external forces by default.
* [python/viewer] Add getter for camera pose.
* [python/viewer] Improve viewer refresh efficientcy by only forcing display update whenever necessary.
* [python/viewer] Add support of frame index to define relative lookup and camera pose.
* [python/viewer] Add repeat capability to 'jiminy_replay' entrypoint.
* [gym/common/envs] More versatile interactive loop helper.
* [gym/common/envs] Add support of gym.wrappers to 'play_interactive'.
* [gym/common/envs] Add 'pause' key to play interactive mode.
Patches and bug fixes
* [python/robot] Fix external forces not properly shared with viewer.
* [python/viewer] Fix interactive loop CPU throttle by adding short sleep in deamon reading stdin.
* [python/viewer] Mix busy loop and timer sleep in precise sleep to release the GIL.
* [gym/common/envs] Fix simulation not stopped when playing ends in play interactive mode.
Miscellaneous
* [gym/examples/rllib] Provide helper to wrap policy as callable[[observation, reward], action].