Config files should use some file type that will allow a nested structure, similar to the class structure of the keyboard
This could be dictionaries and lists only, that are converted to yaml, or it could be a more complex config class that has serialize/deserailize functions built in
In a perfect world, a user could request the default config of a keyboard, and it would return the entire config file for all parts of the keyboard. The config would have comments that describe what each parameter controls. I think this will require a config class
Requirements
Each class has a function that allows the user to request the default config.
Any tunable parameter in a class should be configurable with the config file
A class should be able to accept an incomplete config, and will pull missing values from the default config
The user only needs to specify values that they want to change
User only needs to pass a single config into each class.
ex. Assembly config should have the config for each part nested within it
Goals
Requirements