47 lines
3.4 KiB
Markdown
47 lines
3.4 KiB
Markdown
# 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.
|