No description
- C++ 90.6%
- Python 4.9%
- CMake 3.4%
- Shell 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
CI / package (ubuntu-latest) (push) Has been skipped
CI / style (clang-format + clang-tidy) (push) Failing after 10s
CI / asan (Linux) (push) Failing after 10s
CI / build-test (ubuntu-latest) (push) Failing after 14s
CI / package (windows-latest) (push) Has been cancelled
CI / package (macos-latest) (push) Has been cancelled
CI / build-test (windows-latest) (push) Has been cancelled
CI / build-test (macos-latest) (push) Has been cancelled
The schemas are the contract with the backend, so they now live in ssh://git@git.janke.biz:2222/flyg/proto.git and are consumed here as the proto/ submodule. Schema changes are made upstream and land as a pointer bump. The generate call moved out of proto/CMakeLists.txt, which cannot live inside the submodule, into cmake/FlygProto.cmake. |
||
| .github/workflows | ||
| cmake | ||
| core | ||
| docs | ||
| proto@826b704855 | ||
| src | ||
| test | ||
| third_party | ||
| tools | ||
| .clang-format | ||
| .clang-format-ignore | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| README.md | ||
flyg — X-Plane 12 plugin
flyg is the in-simulator client of the flyg platform (virtual aircraft rental/ownership, jobs, economy). It records verifiable flight tracks, streams them live with a crash-safe offline buffer, and applies platform actions (such as purchased fuel) inside X-Plane 12.
Status: pre-alpha.
What it does
- Records every flight to a crash-safe, append-only journal on disk — no flight is lost to a network drop, backend outage, or sim crash.
- Streams live over a WebSocket with ack-based trimming, falling back to HTTPS and resuming cleanly after interruptions.
- Derives flight intelligence — phases (taxi → takeoff → … → shutdown), touchdown rate, and anomaly flags (pause, time acceleration, teleport, fuel jumps, replay, clock drift) — so nothing about a flight is a surprise.
- Applies platform fuel while parked (engines off, brake set), verifying the write and flagging aircraft that ignore it.
- Pairs to your account with a device-code flow, all from a minimal in-sim status window; everything else lives on the website.
Milestones
| Milestone | Scope | Status |
|---|---|---|
| M0 | Skeleton: build, schemas, CI, style gate, ImGui window | ✅ |
| M1 | Recorder: sampler → crash-safe journal, trackdump | ✅ |
| M2 | Auth: device-code flow + mock server | ✅ |
| M3 | Live tracking: WS streaming + offline re-upload | ✅ |
| M4 | Flight intelligence: phases, events, anomalies | ✅ |
| M5 | Fuel + jobs: set_fuel, job display |
✅ |
| M6 | Release readiness: update check, docs, packaging | ✅ |
Build
cmake --preset dev && cmake --build --preset dev # -> build/dev/flyg/lin_x64/flyg.xpl
ctest --preset dev
See docs/INSTALL.md to install and pair, and to develop against the bundled mock backend.
Documentation
- docs/PLUGIN_PLAN.md — architecture and milestones.
- docs/IMPLEMENTATION_PLAN.md — the build plan and the authoritative wire/journal schemas.
- docs/adr/ — architecture decision records.
Contributing
First-party C++ follows docs/guides/cpp-style.md,
enforced by ./tools/check-style.sh (clang-format is the hard gate). Commits use
:gitmoji: (scope): Imperative subject with no trailers. Run the full green
check — configure + build + ctest + check-style.sh — before every commit.