# Visual parity and density review

## Result

The local strict-pattern build passed the automated visual, runtime, density, and PDF gates.

The browser reference was the exact live [Teenage Engineering Get Started page](https://teenage.engineering/guides/op-xy/get-started); its response SHA-256 must match the frozen capture `805f1be10f3a9f223de9ca079230dc8a9c6c0ed6c278072ef67c7065253f5098`.

## Side-by-side critique

- **Whitespace and vertical cadence:** the lesson uses the capture's 12-column box grid, c3/c6 instruction widths, 10-unit caption gap, mobile clears, and captured row/section spacers. No card shell or independent stacked-card spacing system is present.
- **Copy per viewport:** density is measured in every rolling viewport as well as the first viewport, and figure-caption word distributions are compared with the official page.
- **Figure scale and placement:** median candidate figure width and height must remain within the official field range; all fields use the light manual page treatment and contain pixel-audited dark official PDF-crop artwork or an intentionally empty field.
- **Section transitions:** every section uses the capture's c9 title / c3 return-link row and captured spacing tokens; measured heading positions and gaps are retained in browser evidence.
- **Opening and navigation:** the Guide Conventions intro pattern is present in the first viewport, TE global/site navigation nodes are absent (including hidden copies), and only the lesson-local three-way c4 footer navigation remains.

## Measured density and geometry

| Viewport | First-viewport words (lesson / official) | Peak rolling words (lesson / official) | Median caption words (lesson / official) | Figure scale W × H | Pass |
|---|---:|---:|---:|---:|---|
| desktop | 104 / 84 | 153 / 246 | 16 / 19 | 1.000 × 1.000 | yes |
| mobile | 104 / 104 | 189 / 204 | 16 / 19 | 1.000 × 1.000 | yes |

Against the rejected v2 durable source, the strict revision retains `80.9%` of visible blocks and `48.2%` of visible body words.

## Illustration treatment

Every candidate `<img>` must have alt text, sit inside a captured figure field, use an official `.png` source, and match a provenance record. Every PNG must carry official-PDF crop evidence; exact-action gaps use an intentionally empty light-manual figure field with no `<img>`. Pixel auditing distinguishes near-white page background from actual dark artwork. Instructional SVG layers, white/light artwork variants, CSS filter/inversion/blend treatment, undocumented surrogates, custom hardware drawings, dark off-manual fields, and external image dependencies are hard failures.

## PDF

The A4 landscape PDF has 22 pages; every source block remains whole on one page, every page contains a complete lesson block or section heading, and the stable alias is byte-identical.

## Evidence

- [Desktop first viewport](validation/comparison-desktop-viewport.png)
- [Desktop full page](validation/comparison-desktop-full.png)
- [Mobile first viewport](validation/comparison-mobile-viewport.png)
- [Mobile full page](validation/comparison-mobile-full.png)
- [Artwork polarity contact sheet](validation/artwork-contact-sheet.png)
- [PDF contact sheet](validation/pdf-contact-sheet.png)
- [Browser evidence](validation/browser-evidence.json)
- [Validation report](validation-report.json)

## Boundary

No physical OP–XY or novice pilot was available. The page therefore keeps save feedback, cold replay, octave/preset choice, and unassisted novice completion as explicit device-side checks.
