release: v0.1.0 — one-click install, keyless boot, in-app Provider Settings (#142)

The first formal release.

- One-click install via Pinokio; keyless boot lands on a live Esri World
  Imagery satellite globe with keyless terrain, with automatic OSM fallback
  and graceful degradation when terrain is unavailable.
- Provider Settings (the POWER UP panel): add, replace, or remove API keys
  inside the app; credential files made owner-only before any secret is
  written; external keys shown read-only; the panel refuses shared or proxied
  servers.
- Keyless capability responses for the optional HUD summary and place search.
- Aircraft-identity voice answers cover operator, type, and route, and say so
  plainly when enrichment is unavailable.
- README rewritten keyless-first; concise 0.1.0 changelog section; CI
  workflow included.

Gates: 2,672 unit tests pass / 0 fail, build clean, tracking regression
108/108, map-source tray QA pass, setup doctor ready.
This commit is contained in:
Bilawal Sidhu authored and GitHub committed 2026-08-31 17:49:45 -05:00
1 parent 6d83bb6008
commit b6da93b8ac
170 files changed
+5800 -853

No files matched your search

+4 -4
View File
@@ -885,13 +885,13 @@ test('display floor: the cached output is dropped when the floor changes under i
// --- F8: hold the last known floor through a floor-data gap ----------------
//
// Field incident 2026-08-21: four `[terrain-heights-proxy] refresh incomplete`
// Owner incident 2026-08-21: four `[terrain-heights-proxy] refresh incomplete`
// events in a row (Re:Earth timing out), and a parked contact at a Texas field
// popped BELOW the photoreal mesh for a few seconds. A cold cell used to mean
// "no clamp", which is only safe if the un-clamped height is a real reading —
// and for a grounded contact reporting no altitude it is the geoid, tens of
// metres under the mesh inland. The product must hold the last known altitude
// until fresh floor evidence arrives.
// metres under the mesh inland. Owner: "hold the last known altitude until a
// fresh one comes in. Never render otherwise."
test('display floor: a cold cell HOLDS the last floor that resolved for this contact', () => {
_clearDisplayFloorStateForTest();
@@ -1052,7 +1052,7 @@ test('display floor: an on_ground FLAP mid-takeoff-roll never dips below the run
// from the resolved surface to baro + geoid N — which at a sea-level field IS
// the geoid. Deleting the hold on the airborne poll made that switch visible:
// the contact came back grounded with no prior, outrunning its own floor
// cells at 23 m/s, and sat under the runway (field observation, VIR138M).
// cells at 23 m/s, and sat under the runway (owner sighting, VIR138M).
const GROUND = -28.5, GEOID = -32.5, LON = -73.78;
reportMeshFloorCell(40.64, LON, GROUND); // only the cell it STARTED on is warm
let lat = 40.64;