Repository navigation
chore(docs): first screenshot baselines, generated on linux - #76
Merged
Merged
Conversation
First baseline generation, after the props_invalid_value fix that the previous attempt uncovered. Establishes the initial images for all 60 component pages in both themes; nothing is being accepted as a change. 274 baselines. Generated by the visual-baselines workflow, which is the only sanctioned path: they are byte-compared and macOS font rasterisation does not match this runner.
The 1px sliver in every capture is the active-tab underline (height 2px at bottom -1px), not an overlay — verified by capturing with the sticky header neutralised and getting a byte-identical image. It is painted with var(--sve-color-primary), so changing the primary colour diffs all 274 baselines at once.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The generation workflow's re-comparison pass returned 60 passed on its runner, and CI on the baselines PR returned 60 passed on a different one. Also records that my first local attempt at this proof was a false pass: a shell loop hashed two empty directories and reported byte-identical.
This branch was successfully deployed
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.
The first Linux baselines for the visual regression suite. 274 images, 2.1 MB, largest 32 KB — 60 component pages, both themes, ~2.3 previews per page.
Nothing is being accepted as a visual change here. This establishes the starting point.
Generated the sanctioned way, and it earned its design
visual-baselines.ymlon ubuntu, manual dispatch. Both safety properties fired for real:The first attempt refused to commit anything. It found
/components/radio-groupfailing — 59 of 60 pages green, one hard failure — and skipped the commit step. That failure was a live production bug: the page threwprops_invalid_valueon hydration and rendered zero previews. Fixed and shipped in0.13.1(#74) before these baselines were generated.This run's reproduce pass:
60 passed. After writing the baselines, the workflow re-ran the comparison against what it had just written, on the same runner. Byte-identical. That is the determinism evidence I could not get locally — withupdateSnapshots: 'none'and no baseline, the suite fails before capturing anything, so there was nothing to compare. CI running the visual step on this PR is the second, independent confirmation.What is in the images
Spot-checked, including the two pages with a history:
radio-grouprenders its three options correctly — the exact page that was blank in production — and the date pickers show their panels with a background, which is what the 0.6.1 regression broke.One property of every baseline, chased down rather than left as a mystery
Every capture has a 1px sliver of colour at the top-left. It is not an overlay: capturing with the sticky header neutralised produced a byte-identical image. It is
.preview__tab.is-active::after, the active-tab underline, which isheight: 2pxatbottom: -1px, so one pixel falls inside the canvas box. Deterministic and identical on every page.Worth knowing: that underline uses
var(--sve-color-primary)— the library's token, not a--doc-*one. So changing the primary colour will diff all 274 baselines at once. It also quietly contradicts the rule that docs chrome uses--doc-*hex values precisely so it does not move when the showcased theme changes. Recorded inROADMAP.md, not changed here.How to accept a visual change from now on
It pushes to your branch, so the new PNGs arrive as a reviewable diff. Never write baselines locally — the suite refuses off Linux, because they are byte-compared and macOS font rasterisation does not match this runner.