refactor: stricter domain: screen-share

This commit is contained in:
2026-04-11 14:42:12 +02:00
parent a6bdac1a25
commit 3fb5515c3a
6 changed files with 19 additions and 16 deletions

View File

@@ -9,11 +9,14 @@ The mixed live-stream workspace is intentionally not part of this domain. It liv
```
screen-share/
├── application/
│ ├── screen-share.facade.ts Proxy to RealtimeSessionFacade for screen share signals and methods
│ └── screen-share-source-picker.service.ts Electron desktop source picker (Promise-based open/confirm/cancel)
│ ├── facades/
│ └── screen-share.facade.ts Proxy to RealtimeSessionFacade for screen share signals and methods
│ └── services/
│ └── screen-share-source-picker.service.ts Electron desktop source picker (Promise-based open/confirm/cancel)
├── domain/
│ └── screen-share.config.ts Quality presets and types (re-exported from shared-kernel)
│ └── constants/
│ └── screen-share.constants.ts Quality presets and types (re-exported from shared-kernel)
├── feature/
│ ├── screen-share-quality-dialog/ Quality preset picker before capture
@@ -30,7 +33,7 @@ graph TD
SSF[ScreenShareFacade]
Picker[ScreenShareSourcePickerService]
RSF[RealtimeSessionFacade]
Config[screen-share.config]
Config[screen-share.constants]
Viewer[ScreenShareViewerComponent]
Workspace[VoiceWorkspaceComponent]
@@ -39,12 +42,12 @@ graph TD
Workspace --> SSF
Picker --> Config
click SSF "application/screen-share.facade.ts" "Proxy to RealtimeSessionFacade" _blank
click Picker "application/screen-share-source-picker.service.ts" "Electron source picker" _blank
click SSF "application/facades/screen-share.facade.ts" "Proxy to RealtimeSessionFacade" _blank
click Picker "application/services/screen-share-source-picker.service.ts" "Electron source picker" _blank
click RSF "../../infrastructure/realtime/realtime-session.service.ts" "Low-level WebRTC composition root" _blank
click Viewer "feature/screen-share-viewer/screen-share-viewer.component.ts" "Single-stream player" _blank
click Workspace "../../features/room/voice-workspace/voice-workspace.component.ts" "Room-level live stream workspace" _blank
click Config "domain/screen-share.config.ts" "Quality presets" _blank
click Config "domain/constants/screen-share.constants.ts" "Quality presets" _blank
```
## Starting a screen share