The TRAFFIC and NEXRAD map keys were dead. Now: TRAFFIC draws TCAS diamonds
(threat-coloured other/proximate/TA/RA, relative altitude + climb/descend arrow);
NEXRAD draws green/yellow/red precip cells. Both toggle from the MAP softkeys and
light when active. Driven by values.traffic / values.wxCells, which the demo
synthesizes so they're demonstrable; the live-sim binding (TCAS/weather datarefs)
is the part that still needs a sim session to wire+verify.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
D — NRST page: each nearest entry can now load its tower/CTAF into COM1 standby
(→COM) or a VOR into NAV1 standby (→NAV), and fly Direct-To it (D→). Nearest now
takes xp; com/nav standby datarefs made writable.
C — Direct-To with VNAV descent: the DTO dialog's ALT (MSL/AGL) and OFFSET fields
are now editable; entering an altitude makes the target a designated VNAV fix
(alt+dsgn) and arms VNAV, so the descent profile + PFD chevrons compute.
B — VNAV control: shared vnav config (enabled/fpa/offsetNm) threaded to PFD +
FplPage. The CURRENT VNV PROFILE panel gains ENBL/CNCL VNV, FPA ±, along-track
ATK ± and VNV-D→ keys; the profile + PFD chevrons honour the chosen FPA/offset
and hide when cancelled.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A — Fuel totalizer (SYSTEM key, renamed from ENGINE): DEC/INC/RST FUEL had no
handler. Now adjust the fuel_totalizer_sum_kg dataref (±1 gal, RST→max fuel) and
the EIS shows the calculated remaining/used. cdiSrc-style writable + demo echo.
E — AIRWAYS: was a single on/off. earth_awy.dat field 8 (airway layer) is now
parsed (1=Victor/low, 2=Jet/high; name-prefix fallback), the bbox returns it, and
the AIRWAYS softkey cycles off→all→Victor→Jet with an AIRWY-LO/-HI label.
F — CURRENT VNV PROFILE now shows TIME TO BOD (bottom of descent) once past the
top of descent, instead of only TIME TO TOD.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
PROC menu actions were empty stubs. Now: procedures.js tags approach legs with
seg ('approach'|'missed' — everything past the runway threshold = missed,
previously dropped); Proc.jsx flags loaded legs appr/missed (preserved by
flightplan.setPlan) and the ACTIVATE APPROACH / MISSED APPROACH / VECTOR-TO-FINAL
items set the active (magenta) leg to the matching segment, with a hint when
nothing is loaded. Missed legs shown dimmed in the preview.
DCLTR-2 now hides the airspace (SUA) overlay, matching the manual (p.56), in
addition to the existing nav-symbol declutter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The CDI softkey was in the PFD root row but had no handler — it never cycled the
HSI/CDI source (GPS↔VLOC1↔VLOC2). Wire it to write cdiSrc
(HSI_source_select_pilot, now writable), cycling GPS→NAV1→NAV2.
Also fix a latent demo bug: the 'needs a live sim socket' guard sat above the
setDataref/command handlers, so in DEMO (no sim socket) every dataref write
(transponder code, baro, AP bugs, CDI) was silently dropped. Reflect writes
locally before that guard so cockpit controls respond without a sim.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
- electrical readout now shows M (main) and E (essential) bus volts from
bus_volts[0]/[1], M (alternator generator_amps) and S (battery_amps) separately,
and ENG hours from flight time — replacing the hardcoded duplicate volts / +0.0
amps / 0.0 HRS placeholders (manual S.54 C172 layout)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- PFD VNAV: magenta flight-plan target altitude on the alt scale (S.110), V DEV
deviation scale + chevron (left, shown in VNAV when not on an ILS), VS TGT
chevron on the VSI (S.113)
- GPS phase annunciation is now dynamic: APR (approach leg) / TERM (<30 nm to
destination) / ENR, instead of a fixed label
- flight-plan ALT can be toggled designated(blue) <-> reference(white) by clicking
the cell (S.106); only designated altitudes drive the VNAV profile
- setPlan now preserves the dsgn/appr waypoint flags across the shared plan
- AFCS vertical mode labelled VPTH (manual) instead of VNV
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Aligned to the official X-Plane 1000 manual:
- NAV radio: active RIGHT / standby LEFT (boxed) per S.12 (COM already correct)
- ALT UNIT softkey (IN / HPA) in the PFD submenu, baro readout converts (S.20)
- DCLTR cycles 3 levels (land / +NDB / flight-plan only) with DCLTR-n label (S.56)
- TOPO and TERRAIN are now independent toggles (relief vs awareness overlay) (S.57)
- Barometric MINIMUMS: BARO MIN bug + readout on the altimeter, amber "MINIMUMS"
annunciation at/below the decision altitude; set via TMR/REF (lifted to App)
- OBS mode: HSI course follows the CRS knob (magenta "OBS"), sequencing suspended
- New Audio Panel tab (COM mic/receive, MKR/DME/ADF, intercom, Display Backup) (S.91)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>