Open
Description
Just putting this here as a meta-ish/scratchpad issue, since this is something that is really missing from the documentation.
Related issues/PR:
Things to cover:
- Command Factories (partially done in Add discussion of command organization #1828 )
- Handling subsystem dependencies (either via a Add Superstructure article #1841-style, or otherwise (lambdas or dependency injection?); discussion of differences)
- What goes where? (What encapsulates a single subsystem or command. I have seen some teams making subsystems for navigation/autonomous features (e.g. sticking all the encoders in there) which makes integration with simulation/inbuilt path planning more difficult than it needs to be))
- Probably more things (I can't think of specifics off the top of my head, but I have seen it come up multiple times in help channels).
Reference discord discussion: https://discord.com/channels/176186766946992128/368993897495527424/992645487280783471