--- title: "Product Brief: Scrying Pool" status: final created: 2026-05-19 updated: 2026-05-19 --- # Product Brief: Scrying Pool ## Executive Summary Scrying Pool is a free, open-source FoundryVTT v14 module that gives the GM direct control over player webcam visibility. Instead of Foundry's all-or-nothing AV behavior, the GM can show or hide individual camera feeds in one click without interrupting play. The core promise is simple: **the GM can control any player's visible webcam feed at any time with minimal friction.** Everything else builds from that. At the lowest level, the module works from the existing camera tiles through a right-click menu. Over time, it grows into scene presets, spotlighting, and broader table-direction tools. ## The Problem FoundryVTT's built-in AV support is too coarse for most online tables. Cameras are effectively either visible or not, with no practical way for the GM to manage visibility per player, per moment, or per scene. That leaves GMs with bad options: tolerate a cluttered camera strip, run a second video tool beside Foundry, or stop using webcams altogether. The result is less table presence and less control over how the session feels. The missing piece is not video support. It is video management. ## The Solution Scrying Pool adds a GM-controlled visibility layer on top of FoundryVTT's existing AV system. The basic interaction is straightforward: right-click a player's camera tile and choose Show or Hide. The change applies immediately for all connected clients and persists across reconnects. The module follows a progressive enhancement model: - **Level 1 — Right-click controls.** No new interface, no setup barrier, immediate utility. - **Level 2 — Director's Board.** A compact control strip for quick live adjustments, plus scene-based presets. - **Level 3 — Table Manager.** A dedicated popout for bulk control, status visibility, and advanced preset handling. That approach keeps v1 useful on its own while leaving room for deeper tooling later. ## What Makes This Different - **It solves the exact missing control.** The GM manages individual webcam visibility directly from the interface they already use. - **It treats visibility as part of session direction.** Webcam layout becomes something the GM can prepare and apply by scene, not improvise mid-session. - **It respects player agency.** Privacy-sensitive features are opt-in by design, not patched in later. - **It fills a confirmed gap.** An exhaustive search of the FoundryVTT registry and GitHub found no module that provides GM-controlled per-player webcam visibility. Comparable modules address AV backends (LiveKit), layout changes (Camera Dock), map viewport streaming (OBS Utils), or cosmetics (Better Cams) — not visibility management. ## Who This Serves **Primary — GMs running regular online campaigns.** They want fast control during play and predictable behavior that does not demand constant attention. **Secondary — Privacy-conscious players.** They want clear expectations and protection against unwanted camera exposure. **Tertiary — Actual-play streamers.** A curated broadcast view and advanced controls are on the roadmap, but not the first target. ## Success Criteria - A GM can hide or show any player's webcam in one click without disrupting the session. - Visibility state survives player disconnects and reconnects. - The v1 interaction is discoverable enough that most GMs can use it without documentation. - The module works reliably on FoundryVTT v14 and is maintainable enough for registry publication. ## Scope **In for v1.0** - Per-player GM webcam toggle from the existing AV tile context menu - World-level persistence of visibility state - Socket-based updates so all clients stay in sync - Clear visual indicator for hidden tiles - Portrait fallback when no camera is available - Contextual toast notifications - FoundryVTT v14 compatibility **Out for v1.0** - Director's Board - Table Manager popout - Scene-aware presets - Combat spotlighting - Player privacy preferences UI - Streaming or OBS-specific tooling - Token-anchored or stylized camera effects - NPC or reaction-driven camera systems **Deferred pending validation** - True WebRTC track disabling rather than cosmetic hiding - Multi-GM support ## Vision If v1.0 proves the core interaction is reliable, the next step is scene-aware presets and a lightweight Director's Board so GMs can set webcam visibility during prep and trust it during play. After that, privacy controls, spotlighting, and streaming support extend Scrying Pool into a broader table-direction tool. The long-term goal is modest but useful: make webcam feeds feel like part of session design rather than a side effect of turning AV on.