This release focuses on performance improvements of Jiminy Viewer for 'Panda3d' backend. Firstly, most of the redundant computations and unnecessary rendering refresh have been removed. Secondly, 'av' video writer library is used in place of 'cv2', which supports 'h264' codec, resulting in faster generation (~40s for 1min simulation duration), smaller file (~15MB for 1min instead of ~50MB), and web-compatibility. In addition, a new rendering backend 'panda3d-qt' is now available, enabling to embed Jiminy Viewer in custom Qt graph, allowing complex interactions.
New features
* [python/viewer] Initial support of 'panda3d-qt' rendering backend.
* [python/viewer] Add method to update robot color on-the-fly (only supported by panda3d).
* [python/dynamics] Add XYZQuat to XYZRPY position and velocity converters.
Improvements
* [python/viewer] Use 'av' package instead of 'cv2' to export 'panda3d'/'gepetto-gui' video: faster, smaller, and support 'h264'.
* [python/viewer] Improve video recording speed even further by disabling panda3d framerate limit during recording.
* [python/viewer] Update collision geometry placement only once and only if necessary.
* [python/viewer] Improve frame capture speed (and thereby video recording) by refreshing 'panda3d' scene only if needed.
* [python/viewer] 'capture_frame' as raw data is now available for 'panda3d'.
Bug fixes
* [python/viewer] Fix panda3d screenshot wrongly removing alpha channel for '.png'.
* [gym/common/envs] Fix opening onscreen window at env reset if offscreen window is already available.
* [misc] Fix support of Ninja Cmake generator.
* [misc] Fix support of Cmake 3.20 on windows.
Breaking API changes
* [python/viewer] Reorder and remove some keyword arguments of `Viewer.__init__` and 'play_trajectories'.
* [python/viewer] Rename 'urdf_rgba' to 'robot_color' for clarity. Add 's' suffix to list arguments.
* [python/viewer] Replace 'window_name' argument by static 'Viewer' attribute.
Miscellaneous
* [python/viewer] Raise warning if 'enable_clock' is true and 'panda3d' backend is not used.
* [python/viewer] Raise helpful exception if 'replay' called with wrong urdf color.
* [misc] Avoid copying irrelevant files when build wheels.
* [misc] Clearer Cmake warnings for Ubuntu 18 legacy mode.
* [misc] To need to install wheels twice anymore thanks to new pip dependency resolver.
* [misc] Update dependencies to latest version available.