This is a post to generalize the discussion from this pull request.
The main question: what kinds of strategies can we use to send a plugin some information and then generate a plot with output from the plugin?
We could put the burden of plotting on the plugin itself, but it would be repetitious to have every plugin using its own plotting software and generating plots on its own.
Since we are planning on making VTK a dependency of Avogadro2, I think it makes sense for us to use VTK to generate the plots, and come up with some kind of method for a plugin to communicate to Avogadro2 what to plot and how to plot it.
We could potentially make some kind of general API in Avogadro2 with which plugins can generate plots. Or perhaps the plugin could send plotting information to Avogadro2 via json-rpc.
The method of communication may also differ depending on how the plugin is designed (i. e., does the plugin consist of python scripts, shared object libraries, etc.).
Let me know what you all think!