How a run gets here
Runs recorded at testing sessions are archived in the car workspace's
data/ folder on GitHub. Two exporters turn one into a page here.
A gap_follow run recorded with race_diagnostics, after
tools/run_analysis/analyze_run.py has cached its bag, becomes a decision
replay. It needs numpy, PyYAML and a checkout of the car workspace:
python3 scripts/export-decision-run.py <workspace>/data/<id>/racerbot_runs/<run-dir> \
--workspace <workspace> --yaml <gap_follow.yaml the car ran> --car 2 --site .
A mapping run with a saved map and raceline needs only Python 3:
python3 scripts/export-run.py <workspace>/data/<id>/racerbot_auto/<run-dir> --site . --title "..."
Each writes its data to static/runs/<run-id>/ and a page under
content/resources/runs/. Commit both and push, and the replay is live.