The Club media workspace includes an explicit audio-analysis capture path. The current Cafe adoption stack has the streaming/local players and bundled visualizer engine, but no renderer action for display-audio capture.
Proposed incremental drafts:
- Native prerequisite: bind Electron display-media requests to a visible, focused, exact trusted Cafe main frame after a user gesture. Grant only that frame's audio/video, with session-owner cleanup. This is not a system-wide loopback grant or native source picker.
- Renderer follow-up: an explicit Start/Stop action, immediate disposal of video tracks, session-only audio, cancellation on source/environment/visibility changes, and the existing analyser/visualizer. Browser builds may use their browser's source chooser; desktop wording must state the narrower current-Cafe-window scope.
No microphone fallback, recording, audio upload, account/session access, or automatic capture. Validation uses generated synthetic content in a separate process/profile, plus deterministic lifecycle and authority tests. Live YouTube/Spotify audio and platform combinations remain separately qualified.
Prerequisites: desktop renderer ownership PR75, streaming player fork PR87, local player fork PR90, and visualizer issue101. Large activation drafts will be stacked in the fork so each diff is reviewable.
The Club media workspace includes an explicit audio-analysis capture path. The current Cafe adoption stack has the streaming/local players and bundled visualizer engine, but no renderer action for display-audio capture.
Proposed incremental drafts:
No microphone fallback, recording, audio upload, account/session access, or automatic capture. Validation uses generated synthetic content in a separate process/profile, plus deterministic lifecycle and authority tests. Live YouTube/Spotify audio and platform combinations remain separately qualified.
Prerequisites: desktop renderer ownership PR75, streaming player fork PR87, local player fork PR90, and visualizer issue101. Large activation drafts will be stacked in the fork so each diff is reviewable.