t — draft: true #
Why are there so many different libraries? #
Road Runner is really a set of libraries.
-
corehas the base types and math. It only depends on the Kotlin standard library, and there’s nothing tying it to FTC. Most users will probably want to interact with RR throughactions, though this is available for users that only need to integrate at a low level. -
actionsbuilds an asychronous programming system on top ofcorethat’s designed to run with FTC Dashboard. However, it only depends on the dashboardcorelibrary and not the full dashboard board module (with its transitive dependence on the FTC SDK). This is the best target for GUIs and other tools that interact with RR offline (not in the Robot Controller app). -
ftcbundles together all of the code that depends on the FTC SDK, including tuning utilities and (transitively) full FTC dashboard. This is target to depend on inTeamCode. -
playground(TODO: anything to say here?)
The libraries are hosted in separate repositories. core and actions are in
the [main repo](TODO: link), while ftc is in its own [FTC SDK project](TODO:
link).