Repository metrics
- Stars
- (103 stars)
- PR merge metrics
- (PR metrics pending)
Description
Desired behavior
A developer should be able to load a new GUI plugin programmatically. For example, they may want to load a plugin to display information to the user whenever an entity is inserted in simulation.
Alternatives considered
Right now, the end user would need to manually load the plugin from the menu and configure it manually every time.
Implementation suggestion
At the moment, GUI plugins can already load other GUI plugins by directly calling Application::LoadPlugin:
But that's not available to other processes. I think an Ignition Transport interface would be a good way to expose plugin loading to other processes (such as Gazebo's server). The ignition::msgs::Plugin message could be used for the request.
Additional context
The specific use case we have is launching ignition::gazebo::gui::Plot3D plugins whenever a new entity is spawned, so its path is plotted automatically.