fix(qa): select the billboard mode measured by floor-hold checks

This commit is contained in:
Sameh Khamis committed 2026-09-11 14:54:30 -07:00
1 parent 67504cd871
commit a8eae34787
3 files changed
+17 -2

No files matched your search

+1 -1
View File
@@ -19,7 +19,7 @@ of current runtime behavior, see [`docs/CURRENT-STATE.md`](docs/CURRENT-STATE.md
browser harness renderer portability fixes contributed by Tom-Neverwinter.
macOS retains Metal; other platforms default to SwiftShader. Cockpit renderer
assertions and evidence labels follow the actual selected mode. Floor-hold
keeps its mesh and terrain assertions; software runs are not real-GPU evidence.
explicitly selects its measured 2D billboard mode and keeps its mesh and terrain assertions; software runs are not real-GPU evidence.
First-run QA now checks the existing attribution Escape-close/focus-return
behavior while preserving the launcher-underneath regression checks.
+2
View File
@@ -225,6 +225,8 @@ While recording, call out anything in these areas — this is the feedback I mos
The first-run, view-target prewarm, cockpit-plates and floor-hold harnesses
select Metal on macOS and SwiftShader on other platforms. Cockpit-plates also
accepts `--swiftshader` on macOS; floor-hold retains `--angle=<backend>`.
Floor-hold explicitly selects 2D aircraft mode because it measures billboard
positions; the tracking suite covers the 3D handoff.
Software runs validate their assertions but do not establish real-GPU visual
correctness. Floor-hold retains both mesh and DEM checks: an unavailable mesh
oracle fails the run even when the DEM check passes. Record the backend with
+14 -1
View File
@@ -110,6 +110,10 @@ await page.goto(APP_URL, { waitUntil: 'domcontentloaded', timeout: 120000 });
await page.waitForFunction(() => window.__godsEyeView?.viewer && window.__godsEyeView?.dataManager,
{ timeout: 150000 });
await sleep(12000); // let the boot fly-to settle before pinning
await page.evaluate(() => {
document.querySelector('#first-run-launcher:not([hidden]) [data-first-run-choice="explore"]')?.click();
});
await sleep(600); // let the launcher dismissal finish before taking evidence
await page.evaluate((site) => { window.__SITE = site; }, SITE);
const pin = () => page.evaluate(() => {
@@ -125,7 +129,16 @@ const pin = () => page.evaluate(() => {
v.camera.moveEnd.raiseEvent();
});
await pin();
await page.evaluate(async () => { await window.__godsEyeView.dataManager.toggle('flights'); });
const billboardMode = await page.evaluate(async () => {
const manager = window.__godsEyeView.dataManager;
const flights = manager.layers.get('flights').module;
// This harness measures billboard positions. A ready 3D model deliberately
// hides its billboard; that handoff is covered by track-regression instead.
flights.setParams({ models3d: false });
await manager.toggle('flights');
return flights.getParams().models3d === false;
});
record('the billboard floor test is explicitly in 2D aircraft mode', billboardMode);
/** Reads the contact's rendered height and the rendered mesh beneath it. */
const measure = () => page.evaluate(async (icao) => {