统一楼层模型视觉基线
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-19 22:06:10 +08:00
parent 47dd4c7c87
commit 200b54eade
2 changed files with 60 additions and 53 deletions

View File

@@ -116,6 +116,20 @@ const getReport = async (page: Page) => {
return state!.report
}
const FLOOR_CAMERA_BASELINE = {
position: [315.2911, 385.8819, 234.6114] as const,
target: [19.7236, -65.382, 42.1148] as const,
zoom: 1,
distance: 572.7601
}
const assertFloorCameraBaseline = (camera: CameraReport) => {
expect(getVectorDelta(camera.position, FLOOR_CAMERA_BASELINE.position)).toBeLessThan(1e-4)
expect(getVectorDelta(camera.target, FLOOR_CAMERA_BASELINE.target)).toBeLessThan(1e-4)
expect(camera.zoom).toBe(FLOOR_CAMERA_BASELINE.zoom)
expect(Math.abs(camera.distance - FLOOR_CAMERA_BASELINE.distance)).toBeLessThan(1e-3)
}
const openGuide = async (page: Page) => {
await page.goto('/')
await page.waitForURL(/tab=guide/, { timeout: 30_000 })
@@ -479,6 +493,9 @@ test('floor view baseline is deterministic across repeated resets', async ({ pag
return api.getFloorBaseline(floorId)
}, floor.floorId)
expect(baseline, `missing floor baseline ${floor.floorId}`).not.toBeNull()
assertFloorCameraBaseline(baseline!)
assertFloorCameraBaseline(first.camera)
expect(first.modelRoot!.maxError).toBeLessThan(1e-12)
expect(getMaximumCameraDelta(baseline!, first.camera)).toBeLessThan(1e-6)
await page.evaluate(async (floorId) => {
const api = (window as Window & { __GUIDE_3D_VISUAL_STABILITY__?: VisualStabilityApi })
@@ -489,6 +506,7 @@ test('floor view baseline is deterministic across repeated resets', async ({ pag
const second = await getReport(page)
expect(second.activeView).toBe('floor')
expect(second.floorId).toBe(floor.floorId)
assertFloorCameraBaseline(second.camera)
expect(getMaximumCameraDelta(first.camera, second.camera)).toBeLessThan(1e-6)
expect(getMaximumCameraDelta(baseline!, second.camera)).toBeLessThan(1e-6)
}