mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
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:
1 parent
6d83bb6008
commit
b6da93b8ac
170 files changed
+5800
-853
No files matched your search
@@ -1,4 +1,4 @@
|
||||
// Contacts-scoped detection (field test 2026-08-18: "when you click on
|
||||
// Contacts-scoped detection (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").
|
||||
//
|
||||
@@ -87,7 +87,7 @@ test('the snapshot carries every field activation mutates, not just the mode', (
|
||||
assert.equal(getDetectionMode(), 'OFF');
|
||||
assert.equal(getDetectionTuning().densityPct, 25, 'deactivation puts the density back');
|
||||
|
||||
// The pin the user would notice: the next manual enable returns their profile.
|
||||
// The pin the owner would feel: the next manual enable returns their profile.
|
||||
cycleDetectionMode();
|
||||
assert.equal(getDetectionMode(), 'SPARSE', 'manual enable returns 25%, not the tactical 75%');
|
||||
assert.equal(getDetectionTuning().densityPct, 25);
|
||||
@@ -107,7 +107,7 @@ test('a density-only difference is still a restore worth making', () => {
|
||||
});
|
||||
|
||||
test('activating Contacts lands on the tactical preset, not the last profile used', () => {
|
||||
// Field test: the Contacts default is the military look, and it "should
|
||||
// Owner playtest: the Contacts default is the military look, and it "should
|
||||
// just happen" — so a SPARSE session does NOT drag SPARSE into Contacts.
|
||||
setDetectionTuning({ densityPct: 25 });
|
||||
startAt('SPARSE');
|
||||
@@ -159,7 +159,7 @@ test('activating Contacts leaves an already-on profile untouched', () => {
|
||||
});
|
||||
|
||||
test('detection survives cockpit enter and exit inside a Contacts session', () => {
|
||||
// The observed bug: "when I leave the Cockpit, detections go off".
|
||||
// The owner's actual bug: "when I leave the Cockpit, detections go off".
|
||||
// Cockpit is a move WITHIN Contacts and must not touch detection at all, so
|
||||
// the only transitions here are the Contacts ones — repeated syncs while the
|
||||
// session stays active.
|
||||
|
||||
Reference in new issue
Block a user