mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-15 15:52:21 +00:00
Fix the follow-up review findings in import, layers, startup and engines
- KML/KMZ import: a per-file canvas budget and cache for ground overlays, limits on rings and vertices of raised polygons, overlays across 360° and near the poles, degenerate holes, polar and single-latitude fills, absolute overlays at their altitude, overlay order by drawOrder as on Cesium, and pins on tiles keep their measured height. - Points on the surface: OSM Places and Street Level cones share the surface sampler and sit on the terrain before they are measured, within a sampling budget per pass; Cockpit's contact-dot bank keeps the dot atlas, and a failed fleet model loads again after a pause. - Startup: the loading screen lifts after the share-link view is restored, the retry screen names the failed engine and takes focus, and the fallback toast stays for 6 s. - Engines: an engine switch lands a running camera flight at its destination (camera.completeFlight on both engines), the sighting card leaves focus on the engine picker after a switch, and a Cesium model error stays with the instance that failed. - The MCP panel builds again: its wind-mesh alias resolves to the stub. - QA: the wildlife switch waits for the camera to rest, GBFS --w2 says it needs the dev server, and test fixtures are shared instead of copied.
This commit is contained in:
1 parent
0ef29781e5
commit
60fb8fee07
82 files changed
+2363
-1574
No files matched your search
@@ -0,0 +1,50 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { readFileSync } from 'node:fs';
|
||||
|
||||
const source = readFileSync(
|
||||
new URL('./qa-gbfs-names.mjs', import.meta.url),
|
||||
'utf8',
|
||||
);
|
||||
const openSource = source.slice(
|
||||
source.indexOf('async function open('),
|
||||
source.indexOf('async function nextFrame('),
|
||||
);
|
||||
|
||||
function fixture({ extended, dev }) {
|
||||
const page = {
|
||||
bringToFront: async () => {},
|
||||
on() {},
|
||||
setViewport: async () => {},
|
||||
evaluateOnNewDocument: async () => {},
|
||||
goto: async () => {},
|
||||
evaluate: async () => dev,
|
||||
waitForFunction: async () => {},
|
||||
};
|
||||
const dependencies = {
|
||||
browser: { newPage: async () => page },
|
||||
extended,
|
||||
watchBrowserPage() {},
|
||||
report: {},
|
||||
appUrl: 'http://localhost:4000',
|
||||
information: {},
|
||||
status: {},
|
||||
fromDegrees: () => ({}),
|
||||
};
|
||||
return new Function(
|
||||
...Object.keys(dependencies),
|
||||
`${openSource}\nreturn open;`,
|
||||
)(...Object.values(dependencies));
|
||||
}
|
||||
|
||||
test('preview rejects the optional dev-only raster checks before importing source modules', async () => {
|
||||
await assert.rejects(
|
||||
fixture({ extended: true, dev: false })(),
|
||||
/--w2 requires a Vite dev server/,
|
||||
);
|
||||
});
|
||||
|
||||
test('normal preview checks and extended dev checks remain available', async () => {
|
||||
await fixture({ extended: false, dev: false })();
|
||||
await fixture({ extended: true, dev: true })();
|
||||
});
|
||||
Reference in new issue
Block a user