t — draft: true #
Why are there so many different libraries? #
Road Runner is really a set of libraries.
-
core
has 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. -
actions
builds an asychronous programming system on top ofcore
that’s designed to run with FTC Dashboard. However, it only depends on the dashboardcore
library 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). -
ftc
bundles 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).