Sort of refactoring, but significant enough that it warrants a feature tag.
As I begin to transition out of the fordyca project and into my next project
involving robotic construction, I need to pull out everything that is fordyca
specific, and possibly do some refactoring of the "core" sierra so that it is
more project agnostic.
My idea is to create a plugins/ directory in the root of sierra, with subdirs
for each project. During start up, sierra will search the plugins/ directory and
load the module(s) specified on the command line (probably would only be
accessible outside their plugin directory if prefixed with the directory name
plus a '.' to ensure no namespace collisions). The structure of each plugin
directory would be:
batch_criteria - Specifying what criteria are valid for the project, beyond
the core criteria that sierra provides which can be used on
all projects (eg swarm size)
variables - Which variables can be used in the specified scenario+controller
generators.
generators - Specifying what generators are valid for the project.
config - The confguration files for the project (same structure/naming/etc as
what I currently have in config/)
Some of these (like config) are going to need to have very specific
structures/files/contents, but that is something I will have to figure out as I
go.
Sort of refactoring, but significant enough that it warrants a feature tag.
As I begin to transition out of the fordyca project and into my next project involving robotic construction, I need to pull out everything that is fordyca specific, and possibly do some refactoring of the "core" sierra so that it is more project agnostic.
My idea is to create a plugins/ directory in the root of sierra, with subdirs for each project. During start up, sierra will search the plugins/ directory and load the module(s) specified on the command line (probably would only be accessible outside their plugin directory if prefixed with the directory name plus a '.' to ensure no namespace collisions). The structure of each plugin directory would be:
batch_criteria - Specifying what criteria are valid for the project, beyond the core criteria that sierra provides which can be used on all projects (eg swarm size)
variables - Which variables can be used in the specified scenario+controller generators.
generators - Specifying what generators are valid for the project.
config - The confguration files for the project (same structure/naming/etc as what I currently have in config/)
Some of these (like config) are going to need to have very specific structures/files/contents, but that is something I will have to figure out as I go.