# Verification record

Checked on 19 October 2026 in a dedicated local Chromium browser, version 155.0.0.0, on macOS. The gallery ran on `http://127.0.0.1:4387/`. Existing servers and projects were left alone.

## Browser checks

Navigation repair follow-up: the original localhost preview server had exited; port 4387 refused connections. All relative source links and packaged targets were intact. A detached replacement server now serves the collection's explicit root. The included `serve.py` and macOS launcher prevent working-directory mistakes and provide an easy restart. The server was launched from `/tmp` to verify root independence; its detached process remained running with parent PID 1.

In Chromium 155.0.8059.80, every experiment's image link and title link was **clicked from the homepage**, then its collection link was clicked to return home. This passed all 12 journeys over HTTP and all 12 journeys from `file://`: 24 experiment visits and 24 returns, correct URLs/titles, loaded styles/scripts, no missing images, failed requests, or JavaScript errors. Machine-readable results are in `output/playwright/navigation-verification.json`. The six designs and link markup were preserved. The user's exact app preview surface could not be inspected; the stopped local server is the confirmed environmental failure.

All six experiences received desktop visual inspection at 1440 × 1000 and phone captures at 390 × 844. The gallery, notes, preview sheet, and all six experiences were also checked for horizontal overflow at 320, 768, and 1440 CSS pixels. A one-pixel heading overflow in Common Water at 320 pixels was corrected. The final pass found no missing images, failed local requests, or JavaScript page errors.

Direct `file://` launch was checked for the gallery and six experiments. All loaded their scripts and local assets without page errors. The HTTP server remains the recommended launch option.

| Experience | Verified behavior |
| --- | --- |
| Offset | Edited text, changed composition and inks, used arrow-key range controls, pulled an impression, restored it from the rack, reloaded to verify persistence, downloaded an SVG, tested blank-input handling, reset, and printed with reduced motion. |
| Signal House | Selected presets, wrapped Seek from Deep Field to Harbor Light, tuned by keyboard, explicitly enabled sound, measured nonzero synthesized audio, muted to zero master gain, changed volume, suspended the AudioContext with Power off, and repeated power control under reduced motion. |
| A Mile Below | Moved between chapters, checked 200/600/1609 m depth readings, used End on chapter navigation, checked the final disabled Next control, opened/escaped the logbook, verified focus restoration, and navigated with reduced motion. |
| Object & Light | Changed materials, moved the light with arrow keys, varied temperature, reset, and repeated light control under reduced motion. Pointer positioning was exercised during inspection. |
| Common Water | Used keyboard month/share controls, selected dry July, inspected fields, enabled/paused flow tracing, reset, and verified that reduced motion disables tracing. All 240 seasonal/scenario/share model combinations conserve water and remain nonnegative. |
| Marble Post | Rotated a gate, changed the drop point with keyboard, leaned the board, followed a real delivery into Sea, checked destination totals, reset, and verified immediate delivery with reduced motion. Rechecked scoped arrow, Space and reset shortcuts after source review. |

Signal House's measured audio check recorded a running AudioContext with a nonzero peak of about 0.055. Mute brought the master gain to zero; Power off suspended the context. This confirms browser synthesis and control behavior. It is not a subjective listening assessment of speakers or headphones.

## Source review and corrections

- All seven JavaScript files pass `node --check`.
- Relative local links, unique HTML IDs, and label/description references were audited.
- Offset's implementation agent also checked XML escaping, slider extremes, duplicate-print prevention, the six-print cap, immutable stored impressions, and SVG serialization.
- Marble Post's implementation agent exercised 270 launch configurations in a Node simulation and confirmed all five destinations are reachable. Review caught overlapping pocket drawings after repeated deliveries. The corrected 12-delivery regression retained six distinct visible positions.
- Marble keyboard shortcuts now apply only while the sorting office is focused; outside arrow keys retain normal page behavior.
- The underwater phone composition was adjusted after visual inspection so the bell and jellyfish sit below the prose.
- Native links, buttons, radio inputs, sliders, and the dialog provide keyboard interaction. Visible focus and the gallery's skip link were checked. This was not a full assistive-technology audit.

## Captured evidence

`output/playwright/collection-overview.png` shows all six experiments. Each has `*-desktop.png` and `*-mobile.png` previews. Extra captures include a saved print, lacquer lighting, a marble in flight, dry July, the underwater twilight/seabed scenes, and the refined mobile midnight scene. `sample-offset-print.svg` is an actual browser export.

`previews.html` is a browsable contact sheet. The main gallery uses the actual desktop screenshots as covers.

## Limits

Safari, Firefox, physical phones, screen readers, and browser zoom combinations were not independently tested. Phone checks used browser viewport emulation, not a physical device. Exact system font metrics, blend modes, SVG noise, and CSS material rendering vary by browser. The individual `NOTES.md` files describe each experiment's limitations.

The river is an illustrative model, the voyage is fictional, and the material study is an optical illustration. No production service, real-world measurement, external account, or public deployment is involved.
