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

+2 -2
View File
@@ -1,6 +1,6 @@
// src/contactsDetectionPolicy.js — Contacts-scoped detection policy.
//
// Field test 2026-08-18: "when you click on Contacts, detections should just
// Owner playtest 2026-08-18: "when you click on Contacts, detections should just
// turn on, and they should stay on in Cockpit or in third-person tracking inside
// Contacts or inside Cockpit, both… when I leave the Cockpit, detections go off"
// — that last part being the bug.
@@ -88,7 +88,7 @@ export function contactsDetectionExitPlan(restore, current, styleOwnsDetection =
*
* The engine is injected so this is the SAME code the UI runs and the tests
* exercise, driven against the real `src/data/detection.js` in both. Turning on
* applies the TACTICAL PRESET the military styles use — field test: "I want
* applies the TACTICAL PRESET the military styles use — owner playtest: "I want
* that as the default. It should just happen" — rather than restoring whatever
* profile the operator last left detection at.
*