Files
xplane-cockpit/plugins
karim 9aba24978b Auto-install Lua, smooth all panels, airspace overlay + launcher region picker
FlyWithLua auto-install: bridge drops fms-sync/ui-sync/terrain-probe into
X-Plane's FlyWithLua Scripts dir on startup and self-updates (content-compare).
Graceful when no X-Plane / no FlyWithLua. /api/lua/install + status in health.
Desktop app bundles the scripts and passes LUA_SRC_DIR to the sidecar.

Smoothing: shared useEased/useEasedAngle hook (api/ease.js) with render-bail on
settle. VFR steam gauges now interpolate to 60fps instead of stepping at the
~10Hz value stream. MFD ownship no longer vibrates — position/heading eased in a
single rAF loop, follow-pan without animated-panTo pile-up (pauses on range zoom).

Airspace overlay: server/airspace.js loads per-region GeoJSON, classifies
(B/C/D/TMA/CTR/MOA/Restricted/Prohibited/Danger), bbox query, and downloads
regions on demand — FAA (US, key-free) and OpenAIP (Europe, user key). New
AIRSPACE softkey draws chart-coloured boundaries (B blue, C magenta, D dashed),
non-interactive so map-clicks still drop waypoints. Launcher gains a "Lufträume"
section to pick/download regions via the running bridge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 13:57:50 +02:00
..

FlyWithLua companion — FMS two-way sync

X-Plane's Web API can't write a flight plan into the FMS. fms-sync.lua runs inside X-Plane (via FlyWithLua, which has the FMS SDK) and syncs the shared cockpit plan ↔ the in-sim FMS through two files in Output/fms-sync/.

Install (sim PC only)

  1. Install FlyWithLua NG+ (free): copy its plugin folder into <X-Plane>/Resources/plugins/FlyWithLua/.
  2. Start the bridge (desktop app or node server/bridge.js) on the same PC as X-Plane. On startup it auto-copies these three scripts into <X-Plane>/Resources/plugins/FlyWithLua/Scripts/ and keeps them up to date on every launch (it only writes changed/missing files):
    • fms-sync.lua — flight-plan two-way sync
    • ui-sync.lua — G1000 UI state (page / range / inset)
    • terrain-probe.lua — terrain-awareness elevation grid for the MFD
  3. In X-Plane: FlyWithLua → Reload all Lua script files (or restart). The log shows [glass-cockpit] FMS sync active.

No manual copying needed. If you install FlyWithLua after the bridge is already running, trigger a re-install without restarting via POST /api/lua/install. The current install state is reported under lua in GET /api/health. The bridge must run on the same PC as X-Plane so both see <X-Plane>/Output/fms-sync/. (The auto-install honours LUA_SRC_DIR — the desktop app sets it to the bundled scripts; otherwise it finds plugins/ itself.)

What you get

  • App → Sim: load/build a plan in the web cockpit → it appears in the 3-D G1000 and the autopilot can fly it.
  • Sim → App: build/edit the plan in the real FMS → it shows on every tablet.
  • Terrain: the MFD TERRAIN map colours real scenery elevation red/yellow relative to your altitude (probed live by terrain-probe.lua).

A 3-decimal lat/lon signature de-dupes the round-trip, so the two sides never loop. Waypoints are pushed as lat/lon legs (exact route; in-sim idents are generic — route accuracy over cosmetics).