No description
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| flyg/v1 | ||
| .gitignore | ||
| README.md | ||
flyg-proto
The wire contract between the flyg X-Plane plugin and the flyg backend. Protobuf 3,
optimize_for = LITE_RUNTIME, package flyg.v1.
Both sides consume this repository as a git submodule:
flyg-plugin-xplane12generates C++ withprotocand the lite runtime.flyg-backendgenerates Rust withprost.
Layout
| File | Holds |
|---|---|
flyg/v1/common.proto |
Timestamp, LatLonAlt, AircraftIdentity, Airport, JobState, the Schema version enum |
flyg/v1/telemetry.proto |
TrackRecord, EngineSample, SimState |
flyg/v1/events.proto |
FlightEvent and FlightEventType |
flyg/v1/journal.proto |
JournalHeader, JournalFooter, JournalRecord |
flyg/v1/auth.proto |
Device-code pairing messages and Session |
flyg/v1/transport.proto |
Envelope and everything it carries |
Compatibility rules
Field numbers are contractual. The journal on a pilot's disk and the plugin binary in the sim both outlive any single backend deploy, so:
- Add fields with new numbers. Never renumber, never reuse a retired number.
- Never change a field's type or its meaning.
- Never remove a field. Mark it
reservedinstead. - Bump
Schema.SCHEMA_VERSION_CURRENTonly for a break that the additive rules cannot cover.
SCHEMA_VERSION_CURRENT is 1.