diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 6e9c877..db2e382 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -17,13 +17,19 @@ Requirements for the Phase 1 SPEC. Each maps to one phase in ROADMAP.md. ### Video - [ ] **REQ-video-ring-buffer**: The extension maintains an in-memory ring - buffer containing the most recent 30 seconds of active-tab video. Video is - captured via `chrome.tabCapture.capture()` at `video/webm; codecs=vp9` @ - 400 000 bps with a `MediaRecorder` timeslice of 2000 ms. A single continuous - recorder per session; tab activation changes trigger re-attach. The first - emitted chunk (WebM header) is retained indefinitely; subsequent chunks - rotate out by the 30-second TTL rule. Bindings: DEC-003, DEC-009, - CON-video-window, CON-video-codec, CON-webm-header-retention. + buffer containing the most recent 30 seconds of captured video. AMENDED in + Phase 01: video is acquired via `navigator.mediaDevices.getDisplayMedia()` + invoked from the offscreen document (with `chrome.offscreen.Reason.DISPLAY_MEDIA`), + NOT `chrome.tabCapture` as originally specified. The captured stream is + screen-or-window-scoped per the operator's one-time selection in Chrome's + native picker, and continues unchanged across tab switches. Encoding is + unchanged: `video/webm; codecs=vp9` @ 400 000 bps with a `MediaRecorder` + timeslice of 2000 ms; a single continuous recorder runs for the whole + session. The first emitted chunk (WebM header) is retained indefinitely; + subsequent chunks rotate out by the 30-second TTL rule. Bindings: DEC-003 + (AMENDED), DEC-009, CON-video-window, CON-video-codec, + CON-webm-header-retention, CON-display-capture-binding (replaces RETIRED + CON-tab-capture-binding). - SPEC ยง10 acceptance criteria: #2, #3, #7. ### DOM Capture