# NanoVSR three-second local browser case

Recorded September 7, 2026. One completed square-pixel sample, through the unmodified Timeline Studio restoreNanoVsrVideo entrypoint, production WebGPU worker and browser FFmpeg encoder. A local Vite wrapper called the library directly; this was not a hosted-editor UI or timeline-insertion test.

The input is a 3-second controlled pan from the previously published CC0 coffee photograph by Rachel Michetti, courtesy of Pikolo Espresso Bar (scikit-image sample data), with a synthetic 440 Hz tone. It has 320 × 180 coded pixels, SAR 1:1 and 24 fps. `reproduce-fixture.py` contains the FFmpeg recipe. A preparatory fixture had non-square-pixel metadata and was corrected before this published run; that pilot is not used as the formal result.

`cold-output.mp4` is the untouched Blob returned by the browser, despite the historical filename `cold`: model weights were already locally prepared and browser/GPU caches had been exercised. It is 1280 × 720, 12 fps, 36 frames, 3 seconds, with H.264 and AAC. `cold-run.json` is the original timestamped progress record. The completed call took 50,015 ms, excluding separate model staging and disk save. This is a sample measurement, not a hardware benchmark.

`comparison.mp4` is a separately encoded side-by-side viewing aid: Lanczos-enlarged source on the left, model output on the right. Both panels use a 12-fps display clock; audio comes from the output. `comparison-poster.jpg` is its frame at one second. For untouched bytes, use the original input/output files.

`inspect-output.py` fully decodes input and output, checks their frame counts/SAR/audio, derives timing intervals, and creates the comparison. It does not rate visual quality. `probe-records.json`, `summary.json`, command records and FFmpeg version preserve those observations. Paths in the recorded native commands and probe filenames have been replaced with file-relative paths for public readability; they specify the same filters and options.

`source-fingerprints.json` records the three primary source files and whether they match commit 68980d142cce421eab86cd4ef26a4475a6affd56. The harness invokes the repository's existing dependencies. Models are pinned at d551be137b16ecdf12637387f2fb4776565e763f; both file hashes and cache identities are in the run record. Model weights are not redistributed here. Included MODEL-LICENSE and SOURCE-LICENSE cover upstream notices.

There is no high-resolution captured-video reference, cross-device benchmark, long-form sample, mobile test, cancellation test or natural occlusion/independent motion in this case. The final singleton group selects the T1 model in the reviewed worker; two-to-four-frame tails would be padded for T5. The 36-frame progress log includes that separate final model initialization.
