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

+1 -1
View File
@@ -75,7 +75,7 @@ const PAINT_LANE_INDEX = new Map(WORLD_OVERLAY_PAINT_LANES.map((lane, index) =>
*
* The list therefore holds only chrome dense enough to swallow a card. The
* cockpit's thin translucent line art — rims, arcs, rails, tapes, toplines,
* readouts — is deliberately ABSENT under the AR-HUD ruling:
* readouts — is deliberately ABSENT under the owner's AR-HUD ruling:
* world-space overlay content renders beneath the cockpit's screen-space HUD,
* which paints over it by z-order. Those elements are also enormous (the
* altitude rim is keyhole-tall, the topline viewport-wide), and excluding them
+2 -2
View File
@@ -60,7 +60,7 @@ export const CARD_PLATE_ALPHA = 0.82;
* Ambient detection callouts carry a LIGHTER member of the card's backing
* family: enough plate to hold small mono text against sunlit imagery, not so
* much that a field of them reads as a wall of boxes. `calloutPlate` sits at
* ~58% of `CARD_PLATE_ALPHA`; `calloutPlateSpace` is the requested
* ~58% of `CARD_PLATE_ALPHA`; `calloutPlateSpace` is the owner-requested
* "slightly higher opacity so the text pops" for space-tier (satellite)
* contacts, which sit over the high-albedo lit Earth disc more often than
* aircraft do.
@@ -80,7 +80,7 @@ export const DETECTION_PLATE_BAND = Object.freeze({ min: 0.5, max: 0.62 });
* horizon it has no job to do — there is nothing bright and busy to separate
* the text from — and at full strength it reads as a row of dark boxes pasted
* on an empty sky, which is the one place the pre-plate bare-text look was
* already better (field finding, 2026-08-21).
* already better (owner field call, 2026-08-21).
*
* So the plate is SCALED here rather than replaced: every theme keeps its own
* hue and its own relative weight, and the sky case lands at a whisper that is