Watch
1
0
Fork
You've already forked proto
0
No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-03 06:48:38 +02:00
flyg/v1 🎉 (proto): Add the flyg.v1 wire contract shared by the plugin and the backend 2026-08-03 06:48:38 +02:00
.gitignore 🎉 (proto): Add the flyg.v1 wire contract shared by the plugin and the backend 2026-08-03 06:48:38 +02:00
README.md 🎉 (proto): Add the flyg.v1 wire contract shared by the plugin and the backend 2026-08-03 06:48:38 +02:00

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-xplane12 generates C++ with protoc and the lite runtime.
  • flyg-backend generates Rust with prost.

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 reserved instead.
  • Bump Schema.SCHEMA_VERSION_CURRENT only for a break that the additive rules cannot cover.

SCHEMA_VERSION_CURRENT is 1.