# 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 ```