# Reproduce the local browser call

This wrapper invokes the existing Timeline Studio restoration library. It is not an editor UI test. The published files parameterize the local paths of the executed wrapper; they do not package models or dependencies.

Use a checkout of https://github.com/MartinDelophy/ai-video-editor at commit `68980d142cce421eab86cd4ef26a4475a6affd56`, with its normal dependencies available. The two existing NanoVSR ONNX files must be under `public/models/nanovsr-644k/` and must match the hashes shown by Prepare. No model download is performed by this harness.

Place this directory inside an evidence directory containing `coffee-pan-input.mp4`. Copy the evidence directory before running: the recorder writes new `cold-run.json` and `cold-output.mp4` files there. Run from this harness directory:

```sh
export TIMELINE_EDITOR_ROOT="/absolute/path/to/ai-video-editor"
ln -s "$TIMELINE_EDITOR_ROOT/node_modules" node_modules
node "$TIMELINE_EDITOR_ROOT/node_modules/vite/bin/vite.js" --config vite.config.mjs
```

Before starting Vite, copy `index.html.txt` to `index.html` in this local harness directory. It is distributed as text to avoid publishing a runnable test page on the article site.

Open the loopback URL printed by Vite in a WebGPU-capable browser. Choose Prepare, inspect the two verified model checksums, then Run fresh-worker sample. Keep the tab open until completion. The wrapper saves progress and the untouched Blob to this local evidence directory. A three-minute abort timer bounds an attempted run. The optional repeat button is provided for future comparisons; **no same-worker repeat was included in the article's recorded result**.

Model staging is from local disk into `timeline-studio-nanovsr-v1`, under the production cache identity. The reported call excludes this staging and disk-save time. Browser/GPU shader caches are not reset. A fresh worker is not a cold network visit. The server binds only to 127.0.0.1 and accepts only named local evidence files; do not expose it publicly.
