## Export decoder fix — 10 October 2026

The shared exporter uses sequential frame reading with lookahead for variable-frame-rate and late-start recordings. The former 1.067s failure was reproduced in Chromium, then the fixed worker produced WebM exports with audio, including trims, speed changes, gaps and repeated footage. Decoded file timing and pixels were checked. Extension build 0.1.3 includes the fix. Installed-extension and MP4 verification remain pending. See EXPORT-FIX.md for deployment instructions and full test scope.

# Verification — development release 0.1.0

Actual local results, 6 October 2026:

- 16 passing core/storage/sharing tests: source/output timing, split/delete/gaps, speed-dependent effects, click clusters, authored zoom preservation, crop bounds, output ratios, Malayalam subtitle serialization, invalid projects, IndexedDB reopen/duplicate, portable media and recovery chunks; private/unlisted/organization access, range bytes, quota, revoke/delete/expiry, invalid uploads, origin validation and login/logout.
- 2 passing shared-renderer/media tests: solid mask pixel values and unchanged source; shared composition encoded and decoded at 1280×720, 1920×1080 and 3840×2160 with H.264 video and AAC tone audio. ffprobe confirms dimensions/duration/codecs; Mediabunny reads resulting metadata. Decoded mask pixels remain concealed. A PNG was inspected, including the Malayalam caption.
- The bundled original sample was generated as an 8-second 1280×720, 30 fps MP4, explicitly labeled as a motion study rather than a screen capture.
- TypeScript and production build checks are recorded in build output. Bundled packages are development artifacts, not proof of platform compatibility.

These tests use native FFmpeg as a test encoder. They **do not** exercise the application's browser WebCodecs worker end to end. No real browser capture permission, extension installation, popup-close/navigation capture, microphone/camera disconnect, 30-minute sync, 4K60 performance, transcription accuracy/offline caching, or Windows/macOS run has been verified. Browser UI QA was unavailable in this environment. Native operating-system adapters and signed installers are incomplete.

## Remaining acceptance scenarios

1. Capture with no account: implemented, real-browser verification pending.
2. Extension popup close/navigation: implemented, installed-browser verification pending.
3. Click-driven draft → manual adjustment → preview/export: core algorithm tested; end-to-end pending.
4. Import without pointer data: explicit manual-focus boundary; browser verification pending.
5. Cuts/speed with all streams: time mapping tested; real A/V/camera sync pending.
6. Landscape/portrait/square: dimension/crop tests passed; browser exports pending.
7. Exported privacy mask: shared renderer/native test encode passed; browser path pending.
8. Camera/mic/source-audio absence/disconnect: implementations present, device checks pending.
9. Local English/Malayalam speech: implementation present, model and offline tests pending.
10. Save/reopen/portable recovery: automated storage/serialization tests passed; browser eviction/crash tests pending.
11. 720p–4K MP4/WebM, cancellation and long capture: worker code present; real-browser verification pending.
12. Private sharing/revocation: service protocol tests passed; deployment and account/upload UI unconfigured.
13. Windows/macOS native cursor-free capture: blocked by missing adapters and native runners.
14. Accessibility/responsive UI: implemented styles and semantic primitives; keyboard/zoom/screen-reader audit pending.

## Click-focus update

The default extension draft now creates one editable focus segment for each distinct click timestamp, including isolated clicks. Calm mode retains clustered behavior. Two added tests verify four distinct targets and rapid/end-of-recording clicks. All 16 core tests pass. Installed-extension capture remains unverified; this is not a claim of a completed real-browser recording test. The studio now exposes extension download and installation steps directly.

## Tracking delivery and home page update

Three extension protocol tests pass: activation acknowledgement, trusted pointer-down coordinates, pending-event delivery before Stop, and rejection of synthetic clicks. All 16 core tests pass. The tracker now acknowledges setup, waits for event delivery before stopping, records pointer-down before navigation, and reports a captured-click count. These are simulated extension API tests; a real installed-browser capture remains unverified. Projects without click events explicitly explain the missing data. A new public-facing home route links to /studio; the editor remains unchanged in layout.
