jiminy
jiminy copied to clipboard
[python/viewer] Split the notions of view and Viewer.
-
panda3d-sync
andmeshcat
backends should run simultaneously to avoid having to rely on dirty hack based onpyppeteer
. It makes sense sincepanda3d-sync
is always available and is computationally very cheap since the image is only rendered when needed.meshcat
is still relevant for remote display and embedded views in notebooks. -
View
(s) andViewer
should be separated more clearly. A view is associated with a unique robot, while the viewer is shared between them. The parent Viewer must be provided to the view. The view can only delete its own state and not the whole Viewer at it is currently the case. Both must be managed separately. It is not an issue since current simulator is already hiding the management of the viewer to the user. And for power user it is quite easy to get the distinction and handle them manually. -
It must be decided if it is still relevant to enforce having a single Viewer (backend) running at the same time. It is useful for meshcat that connects to any running server since it is supposed to be unique. This way, a persistent server can be started from outside and viewers from different sessions just connect to it simultaneously. The usefulness of this feature is questionable as it seems to have no real use case.