Skip to main content

Crate aerocontext_core

Crate aerocontext_core 

Source
Expand description

Domain model and pluggable provider contract for aeronautical context.

This crate defines the provider-neutral types (model) and the ContextProvider trait that every context-provider adapter implements (aviationweather.gov, Leidos Flight Service, future European sources). The assembled context serves a human pilot as a briefing and an AI agent as grounded, attributable context.

§Capabilities

Every provider implements the ContextProvider identity trait, then one capability trait per kind of context it serves:

Splitting by capability (not by provider) lets a new source — a future European service, or a datalink source like FIS-B — implement only the capabilities it offers, and lets each consumer depend only on the context it needs. The weather data it returns (Briefing, Product, model::ProductKind) is #[non_exhaustive], so it grows without breaking existing adapters.

Re-exports§

pub use aircraft::AircraftProfile;
pub use command::CommandAck;
pub use command::ControlCommand;
pub use command::ControlCommandProvider;
pub use compare::Agreement;
pub use compare::ComparisonReport;
pub use compare::ProductComparison;
pub use compare::ProductKey;
pub use compare::SourcedValue;
pub use compare::compare;
pub use metar::CloudCover;
pub use metar::CloudLayer;
pub use metar::FlightCategory;
pub use metar::MetarObservation;
pub use model::Area;
pub use model::AreaBriefingRequest;
pub use model::Briefing;
pub use model::GeoPoint;
pub use model::Product;
pub use model::ProductKind;
pub use model::ValidPeriod;
pub use navdata::AIRAC_CYCLE_DAYS;
pub use navdata::Airspace;
pub use navdata::AirspaceKind;
pub use navdata::Airway;
pub use navdata::AirwayLocation;
pub use navdata::AirwayPoint;
pub use navdata::AltitudeDatum;
pub use navdata::AltitudeLimit;
pub use navdata::ControlledClass;
pub use navdata::FAA_NASR_CYCLE_DAYS;
pub use navdata::FAA_NASR_SUBSCRIPTION_URL;
pub use navdata::NavDataAuthority;
pub use navdata::NavDataCycle;
pub use navdata::NavDataError;
pub use navdata::NavDataSnapshot;
pub use navdata::NavPoint;
pub use navdata::NavPointKind;
pub use navdata::RestrictiveKind;
pub use navdata::Runway;
pub use navdata::RunwayEnd;
pub use ownship::OwnshipStatus;
pub use ownship::OwnshipStatusProvider;
pub use provider::ContextProvider;
pub use provider::ProviderError;
pub use route_request::FlightRules;
pub use route_request::RouteBriefingRequest;
pub use route_request::RouteWaypoint;
pub use weather::WeatherBriefingProvider;

Modules§

aircraft
Pilot-supplied aircraft performance, the input a route brief needs to turn distance into time, altitude, and fuel.
command
The control-command capability.
compare
Cross-source reconciliation of briefings with per-source attribution.
geo
Spherical geodesy on GeoPoints.
metar
Decoded METAR observation fields and the FAA flight-rules category.
model
Provider-neutral briefing domain types.
navdata
Cycle-aware navigation-point data.
ownship
The ownship-status capability.
provider
The shared context-provider identity contract.
route_request
The route-shaped briefing request: a corridor along an ordered set of waypoints, the seam that lets a provider answer for a whole flight instead of one area.
weather
The weather-briefing capability.