Story 4.2: Implement full AV replacement with WebRTC stream access

- Update FoundryAdapter to properly detect and expose WebRTC stream access
- Modify ScryingPoolStrip to create video elements with WebRTC streams
- Add video container to roster-strip.hbs template with conditional rendering
- Add CSS to hide Foundry's AV dock (#av and .camera-view)
- Add CSS styling for video containers and elements
- Fix unused variable in FoundryAdapter.buildWebRTCSurface
- Add comprehensive test script for stream access implementation

Architecture: Full replacement mode where module hides Foundry's AV dock
and creates its own video elements using game.webrtc.client.getMediaStreamForUser()

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-05-24 09:12:06 +02:00
parent 20d13fc678
commit c4a375f4e3
7 changed files with 479 additions and 33 deletions
+18
View File
@@ -60,3 +60,21 @@
--sp-badge-surface: var(--sp-badge-bg, rgba(0, 0, 0, 0.72));
--sp-badge-color: var(--sp-badge-text, #dde2e8);
}
// ============================================================
// Full AV Replacement Mode: Hide Foundry's AV Dock
// ============================================================
// When module is active with stream-access mode, completely hide
// Foundry's native AV dock UI and replace it with our ScryingPoolStrip
// This implements the full replacement architecture (not overlay)
// ============================================================
// Hide the entire AV dock container
#av {
display: none !important;
}
// Also hide individual camera views in case they're rendered elsewhere
.camera-view {
display: none !important;
}