Let readiness waits know when the app owns the camera

While the cockpit holds camera inputs or the camera follows a target,
whenSettled no longer waits for enabled inputs or a still pose; it still
waits for the engine, the restored view, drawn frames and no flight, and
its timeout now prints what it saw (inputs, following, cockpit, last pose
change). Scenarios that waited for the camera where they needed the
picture wait for it instead: weather and Nepal imagery for their tiles
and frames, imagery capture while a box drag holds inputs, and pixel and
pick polling for drawn frames. The vessel click retries at the vessel's
rendered position.
This commit is contained in:
German Khokhlov committed 2026-11-10 18:31:45 +04:00
1 parent 417890b862
commit b73fe82e27
11 files changed
+291 -42

No files matched your search

+5 -3
View File
@@ -1,4 +1,4 @@
import { whenSettled } from './qa/ready.mjs';
import { whenFramesDrawn, whenSettled, whenTilesLoaded } from './qa/ready.mjs';
import { trafficFixtureResponse } from './traffic-fixtures.mjs';
import sharp from 'sharp';
import assert from 'node:assert/strict';
@@ -157,7 +157,7 @@ await strict.run({}, async (b) => {
'traffic did not settle with 12 vehicles in view: ' +
JSON.stringify({ loading, inView: rows.length }),
);
await whenSettled(p);
await whenFramesDrawn(p);
}
};
// The population once roads, heights and dots have settled. Source counts
@@ -165,6 +165,8 @@ await strict.run({}, async (b) => {
// attached road heights are sampled after drawn frames on either engine.
const settledPopulation = async () => {
await whenSettled(p);
await whenTilesLoaded(p);
await whenFramesDrawn(p);
await settled();
return p.evaluate(() => window.qaTraffic.getStats().count);
};
@@ -252,7 +254,7 @@ await strict.run({}, async (b) => {
origin: 'user',
}),
);
await whenSettled(p);
await whenFramesDrawn(p);
const hidden = await raw();
const { width, height } = shown.info;
const scale = width / 1024;