Also lets the screenshot suite point at another reference directory and settle longer. Amp-Thread-ID: https://ampcode.com/threads/T-01a0b2dd-db32-712d-99ce-12ce4a86d979 Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# glTF screenshot tests
|
||
|
||
`npm run test:handles:screenshots` renders the viewer's empty state and every
|
||
glTF-Binary model in the pinned Khronos glTF Sample Models revision. The suite
|
||
uses headed Chromium on a private Xvfb display and SwiftShader WebGPU at a fixed
|
||
1000×720 viewport. It checks the viewer state, browser diagnostics, and a
|
||
250×180 downsample against each reviewed reference image.
|
||
|
||
The first run downloads roughly 215 MB of GLBs into
|
||
`~/.cache/yawn/gltf-sample-models`. Set `YAWN_GLTF_FIXTURES` to use another
|
||
cache directory, or `YAWN_SCREENSHOT_MODELS=Box,BoomBox` to run a subset.
|
||
`YAWN_SCREENSHOT_BASELINES` points at another reference directory (for example
|
||
one captured from a known-good commit on a machine whose software renderer does
|
||
not match the reviewed references), and `YAWN_SCREENSHOT_SETTLE_MS` (default
|
||
1200) is how long the viewer gets to settle after the model loads before the
|
||
capture; raise it on slow software renderers.
|
||
Failed full-size captures and visual diffs are written to `output/`.
|
||
|
||
To intentionally replace references after reviewing full-size renders, run:
|
||
|
||
```sh
|
||
UPDATE_SCREENSHOTS=1 npm run test:handles:screenshots
|
||
```
|