You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(consolidation): record the cub, and a thin-stroke cap defect it found
The addendum records what the scene fixture is for, what its two absences say
about the admitted slice (the animated element must be a top-level rect; a
sampled document can reach currentColor by neither door, since <style> and
style= are dynamic-inventory blockers and color= is a declared boundary), and
why it carries no <circle> or <ellipse>.
It also records a defect found while verifying the cub at a second size. The
scene gates byte-exact at 96x96; at 48x48 — a 1x viewport mapping — 242 of 2304
pixels differ from Chromium. Bisected: a closed contour with a non-butt cap at a
~1-device-pixel stroke width. A cap cannot exist on a closed contour, and
Chromium's raster is cap-invariant there (measured: 0 differing pixels between
its own butt and round captures); this engine's is not, because it paints a
stroke by filling the outline StrokeRec::apply_to_path returns and that outline
is not cap-invariant at that width. Butt is byte-exact, so the other two caps
are silently wrong pixels.
No committed cell combines all three triggers and the tiger never declares a
linecap, which is why five rungs of byte-exact bakes never showed it. The fix is
its own rung — caps are inert per *contour*, so a path mixing open and closed
contours cannot be normalized wholesale — so it is recorded with its
reproduction rather than patched here.
Copy file name to clipboardExpand all lines: fixtures/web-first/README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,6 +44,7 @@ the HTML→SVG boundary through one browser-grade cascade.**
44
44
|`bake_chromium.ts`| Verifies existing oracle pixels and creates missing oracles; it never overwrites a differing baseline. Run: `pnpm -C packages/grida-reftest exec tsx "$(pwd)/fixtures/web-first/bake_chromium.ts"`. |
45
45
|`pages/`| The target-only real-world page corpus. It is not a runnable reftest gate yet; see [`pages/README.md`](./pages/README.md). |
46
46
|`unsupported/`| Inputs that deliberately have no pixels yet and must fail explicitly instead of being approximated; see [`unsupported/README.md`](./unsupported/README.md). |
47
+
|`animation/`| The sampling corpus: animated documents with their static Base projections, baked at a paused Chromium timeline. It carries `svg-scene-cub` — a whole composition that exercises this rung ladder end to end, statically and at exact times; see [`animation/README.md`](./animation/README.md). |
47
48
48
49
Exact expectation: every primitive's full RGBA raster matches its Chromium
49
50
oracle with zero differing pixels. The gate also validates enumeration and
0 commit comments