# aerocontext-planning

Flight-route planning over `aerocontext`: the single engine that turns a route or
a flight plan into usable geometry. Every frontend — the `aerocontext` CLI, the
MCP `route_brief` tool, a GUI or iOS host — composes this crate rather than
reimplementing it.

The hub is the `FlightPlan` domain model; Garmin `.fpl` is one codec beside it,
not a privileged format. The pieces:

- `flightplan` — the `FlightPlan` model and its `.fpl` import/export codec.
- `route` — expand a route (idents, airways, DCT, lat/lon, SID/STAR tokens)
  against a `NavDataSnapshot` into ordered geometry.
- `corridor` — a width-bounded corridor around a route, with leg-wise spatial
  association.
- `crosssection` — the vertical profile (climb/cruise/descent, time en route,
  fuel) from an `AircraftProfile`.

This crate consumes the cycle-stamped snapshot that `aerocontext-navdata`
produces; it never fetches or distributes data itself.

```rust
let route = expand_str("KSFO DCT OAK V334 SAC", &snapshot)?;
```

Part of the [aerocontext](https://github.com/luofang34/v99n62) workspace — see
the workspace README.

Licensed under AGPL-3.0-only.
