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:
German Khokhlov committed 2026-11-08 17:05:38 +04:00
1 parent 18f69c2699
commit 371d848eec
130 files changed
+633 -4542

No files matched your search

+5 -32
View File
@@ -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). */