From 597d967ccff22a5457a9f3bf8850855137ddd7ca Mon Sep 17 00:00:00 2001 From: Mark Date: Fri, 15 May 2026 17:15:24 +0200 Subject: [PATCH] docs(01-01): amend REQ-video-ring-buffer per D-A4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the REQ-video-ring-buffer bullet to bind the new getDisplayMedia + offscreen-document acquisition path and drop the 'active-tab' wording (the new API is screen/window-scoped, not tab-scoped, so there is nothing to re-attach on tab switch). Encoding, buffer window, and SPEC §10 acceptance citations are unchanged. Adds CON-display-capture-binding alongside the existing constraint bindings. --- .planning/REQUIREMENTS.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) 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