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
+6 -1
View File
@@ -44,7 +44,12 @@
aria-label="{{name}}{{stateLabel}}"
aria-pressed="false">
{{!-- Avatar image (32px rounded) --}}
{{!-- Video container for stream-access mode (full AV replacement) --}}
{{#if hasStreamAccess}}
<div class="sp-participant-video" aria-hidden="true"></div>
{{/if}}
{{!-- Avatar image (32px rounded) - shown as fallback when no video --}}
<img class="sp-avatar__img" src="{{avatarSrc}}" alt="" aria-hidden="true" />
{{!-- Corner badge (12px bottom-right) --}}