Files
OpenSquawk/shared/utils
itsrubberduck cadc0aefb6 fix(websim): keep bridge connected in background tabs, fix PFD clipping and layout
- Move physics and telemetry/status ticking from requestAnimationFrame/setInterval
  to a Web Worker (new shared/utils/intervalWorker.ts) — the intended usage is
  WebSim in one tab and /live-atc in another, so the WebSim tab is almost always
  backgrounded, and rAF stops entirely / setInterval throttles to ~1/min in that
  state, dropping the bridge connection after a few minutes.
- Surface bridge failures in the header badge (connecting/error/connected) instead
  of showing "verbindet…" forever when telemetry POSTs are failing.
- Replace the PFD's hardcoded 0.85 scale with a ResizeObserver-driven fit so it
  no longer clips the VS tape/altitude readout at typical panel widths.
- Give the sidestick pad the same panel shell as the FCU/radio panels and stretch
  all three to equal height.
- ExteriorView: camera height now reacts to altitude, the runway renders at its
  real distance/lateral offset (was a fixed spot only shown under 3 NM) with
  centerline/threshold markings, widened for visibility from the 12 NM range
  it's now shown from, plus fog and a gradient sky.

Verified live: bridge badge stays green, PFD fits inside its panel at 1280x720,
and the runway becomes visible on approach for all four spawn presets.
2026-07-16 23:48:18 +02:00
..