Repository Layout
racing-drone/├── apps/ # harness sources (flight_stack, replay, sitl, sitl_batch, precision_sweep) built per baseline and per graph build, and the score / log_dump tools├── baselines/ # one YAML per baseline: slot composition, the graph's class and bodies, parameters├── cmake/ # deps, warnings, slot and operator registries, baseline target generation├── courses/ # course files (gates, sequence, laps, geofence)├── docs/ # requirements, assessments, architecture, plans, ADRs: the source of this site├── docs-site/ # the Starlight site generated from docs/, published to GitHub Pages├── scenarios/ # SITL scenarios (course + vehicle + duration + seed)├── sdk/ # branes::racing: data contracts, slots, Stack, the graph (flow/), config loaders, log, harness pieces├── sim/ # SITL: the simulator on the reflex dynamics, the simulated FC and sensors, the scoreboard├── tests/ # Catch2 unit tests, baseline tests, phase gates, graph gates└── vehicles/ # vehicle files (mass, inertia, rotors, drag, IMU, camera)The mission-neutral framework (the data contracts, slots and composition, configs, the log, the harness, the reflex glue, and the closed-loop simulator) is not in this repo: it is anatomy, fetched at a pinned release (cmake/deps.cmake). sdk/include/branes/racing/anatomy*.hpp bring its names into branes::racing (plan).
Each baseline with a graph: also builds as a graph: sdk/include/branes/racing/flow/ describes racing’s stack as a graph of seven composites, which anatomy checks and runs on its CPU stack. Its builds are replay_<name>_graph, sitl_<name>_graph and sitl_batch_<name>_graph, and the gate.<name>.graph tests hold them equal to the slot builds (plan).
Two baselines exist to test the graph beyond that equality (anatomy’s plan, T5). b0-shaped-pid is a scoreboard baseline whose controller is a body of two operators, a setpoint shaper and CascadedPid (flow/shaped_pid.hpp). b0-shaped-research places the same operators in a research graph, ShapedPidResearch, outside the mission’s composites, so it isn’t on the scoreboard. The slot build of each, ShapedPid (slots/shaped_pid.hpp), wires the two operators by hand, and its logs are the oracle for both graphs. gate.trace checks that b0-gt-pid’s and b0-shaped-pid’s traces first differ on an edge inside the controller, and that the two shaped baselines’ logs are equal but for their names and hashes.
Where the documents are
Section titled “Where the documents are”| Folder | Contents |
|---|---|
requirements/ | The mission profile, the reference vehicle, the requirements, and the derived budgets |
assessments/ | The history of the field, the state of the art, and the mixed-precision study |
arch/ | The framework architecture |
plan/ | The implementation and test plans, and one plan per issue |
guides/ | Walkthroughs |
adr/ | Architecture decision records |
The documentation map lists every document.