Commit 740c358
docs(video-call): close out spec — flip [active]→[landed] + Realised-state addendum (#659)
Audit-and-align pass surfaced 7 findings against
docs/specs/2026-03-26-screen-sharing-call-page-design.md. Core
functionality is implemented (call page, participant tiles, camera,
screen share, speaking detection, grid/focus layout, perfect negotiation,
video track management); 6 of 7 findings are documentation drift; the
7th is a substantive limitation tracked in code for follow-up.
Added "Realised state" addendum at the top covering:
- **Substantive (deferred):** Remote video tiles default to screen-share
CSS class regardless of source. Camera-vs-screen-share distinction
requires extending signaling to carry a VideoSource enum. Limitation
acknowledged at crates/web/src/components/participant_tile.rs:110-118.
- File path drift: components/sidebar.rs → channel_sidebar.rs (plan file
is already correct; spec was not updated).
- VoiceState carries `local_video_stream` signal (spec §6 omits) because
VoiceManager doesn't expose the local stream synchronously to Leptos.
- Perfect negotiation simplified — making_offer flag + peer_id
comparison, no RtcSignalingState check. The speculative
signaling_state path was not needed.
- handle_offer + create_offer use get_or_create_connection rather than
pure reuse (necessary because remote-initiated calls can arrive before
any local outbound state).
- Speaking-tile glow values tuned during implementation (style.css uses
larger blur radius + halo ring than the spec values).
- Trust badge + presence dot rendered on participant tiles by Phase 1d/1e
(legitimate cross-spec affordances; spec §Visual design omits).
Body preserved as original target. Realised-state addendum is
authoritative for current implementation shape.
Added Date/Status/Implementation plan header per the docs-organization
convention. README master index flipped [active] → [landed].
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>1 parent 057f3b0 commit 740c358
2 files changed
Lines changed: 63 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
3 | 65 | | |
4 | 66 | | |
5 | 67 | | |
| |||
0 commit comments