# Flash analysis evidence Status date: 2026-09-02 ## Shipped surfaces in scope - Procedural journey scene in its default and scroll-accelerated states. - Static and `prefers-reduced-motion` poster states. - Project media: **not applicable yet**. The public asset manifest is intentionally empty while final derivatives and imagery rights await Luca's approval. This record must be extended before any video or animated project asset is published. ## Automated method `tests/browser/visual-regression.spec.ts` captures the real `.journey-world` at 10 frames per second. The accelerated sequence receives two production wheel inputs before a two-second capture. Static and reduced-motion sequences are captured separately. Each frame is downsampled to 160×90 RGB pixels. Between adjacent frames, a pixel is classed as a general-flash luminance change when: 1. relative luminance changes by at least 0.1; and 2. the darker state is below 0.8. A transition is conservatively treated as large-area when one direction affects at least 25% of the sampled viewport. Within every rolling one-second window, opposing large-area transitions are paired into flashes. The test fails above three flashes per second. JSON event evidence is attached to the Playwright result for the live, Static, and reduced-motion sequences. This deliberately conservative area rule does not use the WCAG small-area exemption. It checks luminance flash, not red-flash chromaticity in isolation; the shipped scene contains no full-field saturated-red strobe, and the manual review below remains required. ## Automated result | Engine/state | Result | Evidence | | -------------------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------- | | Chrome for Testing 151.0.7922.34, accelerated live scene | **PASS — no rolling one-second window exceeded three flashes** | `live-scene-flash-analysis.json` Playwright attachment | | Chrome for Testing 151.0.7922.34, Static | **PASS — zero qualifying flashes** | `static-flash-analysis.json` Playwright attachment | | Chrome for Testing 151.0.7922.34, reduced motion | **PASS — zero qualifying flashes** | `reduced-motion-flash-analysis.json` Playwright attachment | These results came from Playwright 1.62.1 and were reconfirmed in the final successful complete browser run (157 passed, 41 deliberate skips): ```text npm run test:browser -- tests/browser/visual-regression.spec.ts ``` ## Required human/platform evidence — pending, not passed - [ ] Review the accelerated scene at normal speed and during repeated direction changes; record reviewer, date, display refresh rate, and result. - [ ] Review every final encoded project video/animation after its exact approved bytes are bound into the public manifest. - [ ] Run the automated capture in current Firefox and WebKit/Safari-capable infrastructure and attach the corresponding JSON. - [ ] Run the automated capture in current Edge and the previous stable desktop majors named by the release matrix. - [ ] Review on the physical iPhone 13 and Pixel 6 during `physical-drive.v1`. No unsupported engine, physical device, or unpublished project-media result is represented as passed.