mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-15 15:52:21 +00:00
Delete dead render code and consolidate QA helpers
Remove code that nothing in the app, the runners or CI uses: - the one-off migration compare, look and bench scripts and the vector ground prototype they measured, with the bench tables in the docs; - the unused Navara-named shared render modules (polygons, ground picks, mover bank, ground ring); - the Cesium-shaped aircraft and vessel test renderers, and the trail, engineFromViewer and horizon-occluder helpers only they kept alive. Their tests now run on the production displays over the fake engine; - Navara's unread diagnostics, fallback ports, dead exports and parameters, stale effect-chain anchors and the unread capability flags. The QA scripts share one keyless guard and readiness wait, the session harness reuses the strict harness's browser flags and block list, and the harness honours QA_ANGLE and QA_RESERVED_PORTS. The bikeshare fixture keeps only what its scenario reads. The docs name the engine picker where it is (VISUAL PRESETS) and drop dated run results. No behaviour changes on either engine. Navara layer renderer lines fall from 189 to 0 and viewer lines from 891 to 849.
This commit is contained in:
1 parent
18f69c2699
commit
371d848eec
130 files changed
+633
-4542
No files matched your search
@@ -4,28 +4,8 @@
|
||||
// endpoint blocked, a fake microphone and Realtime transport, and readers for
|
||||
// the session ids, listener counts and transport counters.
|
||||
import puppeteer from 'puppeteer';
|
||||
import { blockPaidQaMaps } from '../qa-map-policy.mjs';
|
||||
import { localPreview, waitForEngine } from '../qa-strict-harness.mjs';
|
||||
|
||||
/** Paid or live model endpoints no switch gate may reach. */
|
||||
export const BLOCKED_URLS = Object.freeze([
|
||||
'*://tile.googleapis.com/*',
|
||||
'*://*.googleapis.com/*3dtiles*',
|
||||
'*://api.cesium.com/*',
|
||||
'*://assets.ion.cesium.com/*',
|
||||
'*://maps.googleapis.com/*',
|
||||
'*/api/google/*',
|
||||
'*/api/openai/*',
|
||||
'*/api/realtime/*',
|
||||
'*/api/gemini/*',
|
||||
'*://api.openai.com/*',
|
||||
'*://generativelanguage.googleapis.com/*',
|
||||
]);
|
||||
|
||||
/** The preview origin from argv, refusing the ports that belong to the user. */
|
||||
export function previewBase(argument) {
|
||||
return localPreview(argument ?? '');
|
||||
}
|
||||
import { SESSION_BLOCKED_URLS } from '../qa-map-policy.mjs';
|
||||
import { CHROME_ARGS, waitForEngine } from '../qa-strict-harness.mjs';
|
||||
|
||||
/** The page address: Boston on OSM, no welcome, on the given engine. */
|
||||
export function sessionAddress(base, { engine = 'cesium', extra = {} } = {}) {
|
||||
@@ -46,8 +26,7 @@ export function launch() {
|
||||
return puppeteer.launch({
|
||||
headless: true,
|
||||
args: [
|
||||
'--use-angle=metal',
|
||||
'--enable-gpu',
|
||||
...CHROME_ARGS,
|
||||
'--use-fake-device-for-media-stream',
|
||||
'--use-fake-ui-for-media-stream',
|
||||
'--autoplay-policy=no-user-gesture-required',
|
||||
@@ -216,10 +195,9 @@ export async function openSessionPage(browser, address) {
|
||||
await browser
|
||||
.defaultBrowserContext()
|
||||
.overridePermissions(new URL(address).origin, ['microphone']);
|
||||
await blockPaidQaMaps(page);
|
||||
const network = await page.createCDPSession();
|
||||
await network.send('Network.enable');
|
||||
await network.send('Network.setBlockedURLs', { urls: [...BLOCKED_URLS] });
|
||||
await network.send('Network.setBlockedURLs', { urls: [...SESSION_BLOCKED_URLS] });
|
||||
await page.evaluateOnNewDocument(installFakeVoice);
|
||||
await page.setViewport({ width: 1440, height: 900 });
|
||||
const errors = [];
|
||||
@@ -228,11 +206,6 @@ export async function openSessionPage(browser, address) {
|
||||
return { page, errors };
|
||||
}
|
||||
|
||||
/** The engine runs, its picker is idle and the loading screen is gone. */
|
||||
export function waitReady(page, kind) {
|
||||
return waitForEngine(page, kind, { timeout: 90_000 });
|
||||
}
|
||||
|
||||
/**
|
||||
* Pick an engine the way the picker does, without moving focus to it, so a
|
||||
* focused field keeps its focus through the switch.
|
||||
@@ -247,7 +220,7 @@ export function requestEngine(page, kind) {
|
||||
|
||||
export async function switchEngine(page, kind) {
|
||||
await requestEngine(page, kind);
|
||||
await waitReady(page, kind);
|
||||
await waitForEngine(page, kind, { timeout: 90_000 });
|
||||
}
|
||||
|
||||
/** Session object ids and counters (src/app/sessionDiagnostics.js). */
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { assertKeylessPreview } from '../qa-strict-harness.mjs';
|
||||
// Shared by the Navara visual QA scenarios (qa-navara-visual-styles,
|
||||
// qa-navara-bloom, qa-navara-sonar, qa-navara-cockpit-clouds): read the
|
||||
// engine canvas, compare frames, settle a still view, follow a style
|
||||
@@ -134,10 +135,10 @@ export const histogramShift = (a, b) =>
|
||||
) / 2;
|
||||
|
||||
export async function freeze(page) {
|
||||
await assertKeylessPreview(page);
|
||||
await page.evaluate(async () => {
|
||||
const a = window.__godsEyeView;
|
||||
if (window.__GOOGLE_MAPS_API_KEY__ || a.tileset)
|
||||
throw new Error('Keyless preview required');
|
||||
|
||||
a.styleManager.orbitController.stop();
|
||||
a.engine.camera.cancelFlight();
|
||||
a.styleManager._setDetectionMode?.('OFF');
|
||||
|
||||
Reference in new issue
Block a user