# gps-denied-onboard

Companion onboard system for GPS-denied UAV navigation. Detailed design and architecture documentation lives under [`_docs/`](_docs/).

## Quick links

- Problem statement: [`_docs/00_problem/problem.md`](_docs/00_problem/problem.md)
- Architecture: [`_docs/02_document/architecture.md`](_docs/02_document/architecture.md)
- Module layout (file ownership): [`_docs/02_document/module-layout.md`](_docs/02_document/module-layout.md)
- Component docs: [`_docs/02_document/components/`](_docs/02_document/components/)
- Test specs: [`_docs/02_document/tests/`](_docs/02_document/tests/)
- Deployment: [`_docs/02_document/deployment/`](_docs/02_document/deployment/)

## Local development

```bash
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -q tests/unit/
```

For full Tier-1 integration via Docker, see [`_docs/02_document/deployment/containerization.md`](_docs/02_document/deployment/containerization.md).

## Build matrix

Four binaries built from this codebase: **airborne**, **research**, **operator-tooling**, **replay-cli**. CMake `BUILD_*` flags gate component inclusion per binary — see [`cmake/build_options.cmake`](cmake/build_options.cmake) and [`_docs/02_document/module-layout.md` § Build-Time Exclusion Map](_docs/02_document/module-layout.md#build-time-exclusion-map-adr-002).
