Plugin architecture
MaxwellRebo opened this issue · comments
We'll need a clean, modular, extensible Plugin
architecture. In particular these will be used to interface with third party tools, databases, other simulators (e.g. Gazebo), or provide custom data logging.
TODOs:
- Define plugin architecture and interfaces with other components/classes
- Define
Plugin
class - Define sensible subclasses, e.g.
LoggingPlugin
,DBPlugin
Note that in these issues I use the terms "class" and "subclass" loosely with respect to Rust's particular flavor of OOP. They may simply be traits, or some other way of accomplishing the same thing.
Also (maybe this should be a separate issue) but some kind of Python interop for plugins would be really nice.
(edit: nvm, see that this is already covered by #2)
It should be relatively straightforward to create bindings that way. A simple sklearn example would be a good place to start, clustering agent behaviors or something.