mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-11 18:16:40 +00:00
4faae025b4
Coverage had lagged the recent feature work. Add both layers: - test_viewport_camera (Catch2, headless): constructs ViewportCore with a mock ViewportHost — construction/teardown touch no GPU (the wgpu teardown lives in releaseWgpuModelGpuData, only reached with models loaded), and the camera ops are pure — so it unit-tests the SHARED fly math fast and deterministically: flyMove (forward step, 5x boost, opposing-key cancel, dt clamp, QE along +Z, degenerate-pitch stays finite), flyLook (turn-in-place pins the eye, pitch clamp), flyAdjustSpeed (x1.25/notch, [0.05,1000] clamp), toggleXray, and hideSelected/showAll. Links the built IfcViewerCore (ViewportCore.cpp is the monster TU that can't compile standalone). +9 cases → 122 desktop. - smoke.spec.mjs (Playwright): fly (enter → W moves the camera → Esc exits), x-ray (toggle translucency on/off), and hide-after-pick, driving the exported C hooks end-to-end. +3 cases → 9 web. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>