Repository navigation
#672 Phase 3 / AC6: visual baselines for the HD rower - #676
Merged
Merged
Conversation
Adds playwright/tests/visual/crew.spec.ts: one baseline per crew (male, female) per camera view (chase, bow), at medium and 1280x720. The spec pins the crew and view through localStorage, checks the engine fetched the picked scull-<crew>.glb, and skips with a well-formed decline on a VM with no hardware adapter. The visual job in next-branch-ci.yml now uses #671's GPU-runner recipe: Chrome Stable, the -server GL userspace, and headful under Xvfb. Under the visual-baseline label it records the baselines in the same step, before the upload, so the artifact carries the PNGs to commit back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UM4shUt4GC6ZsPiQdivoym
Also records that the visual-baseline label only takes effect on the next push, since next-branch-ci.yml does not run on labeled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UM4shUt4GC6ZsPiQdivoym
On the GPU runner all four crew shots got WebGPU working and fetched the right GLB, then failed in assertCanvasNotBlank: its drawImage readback read 0/400 lit samples. #648 found the same thing, where a WebGPU canvas presents cleanly but drawImage still reads zero. The black-frame check now decodes Chrome's own canvas screenshot, which is the image the baseline compares. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UM4shUt4GC6ZsPiQdivoym
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Dan · project thread
Phase 3 of #672, the last phase. It waited on #666 (engine baselines on the GPU runner) and #671 (the GPU-runner WebGPU recipe). Both have merged.
Summary
playwright/tests/visual/crew.spec.ts: four baselines, male and female × chase and bow, atmediumand 1280×720.virtualrow:crew) and the view (virtualrow:camera-view) through localStorage.scull-<crew>.glb, so the baseline can't record the wrong rower.scene.spec.tsdoes.visualjob innext-branch-ci.ymlto #648 follow-up: diagnose Vulkan/NVIDIA runtime on the GPU-runner image #671's recipe (agents.md §8, "the three traps"):navigator.gpu.libnvidia-gl-$DRV-serveruserspace.visual-baselinelabel run never put the recorded PNGs in the artifact.--update-snapshotsunder the label, and the upload follows it.test-resultsis uploaded as well, so a red run's diffs come with it.Not in this PR
scene.spec.ts(#666) still launches the default headless shell, so its shots still skip on the GPU runner. Moving it to Chrome Stable under Xvfb is a spec edit, so it's left to Dan to decide.Test plan
tsc -p tsconfig.playwright.json, eslint, and pre-commit/pre-push are green.--listshows the 4 new tests in thevisualproject.visual-baselinelabel, the GPU runner recordscrew-{male,female}-{chase,bow}.png. They come back in this PR in a follow-up commit, once I've checked they show the rower.Generated by Claude Code