refactor: stricter domain: voice-connection

This commit is contained in:
2026-04-11 15:08:04 +02:00
parent cea3dccef1
commit 7a0664b3c4
13 changed files with 36 additions and 33 deletions

View File

@@ -7,12 +7,15 @@ Bridges the application layer to the low-level realtime infrastructure for voice
```
voice-connection/
├── application/
│ ├── voice-connection.facade.ts Proxy to RealtimeSessionFacade for voice and camera signals/methods
── voice-activity.service.ts RMS-based speaking detection via AnalyserNode (per-user signals)
│ └── voice-playback.service.ts Per-peer GainNode chain, 0-200% volume, deafen support
│ ├── facades/
│ └── voice-connection.facade.ts Proxy to RealtimeSessionFacade for voice and camera signals/methods
│ └── services/
│ ├── voice-activity.service.ts RMS-based speaking detection via AnalyserNode (per-user signals)
│ └── voice-playback.service.ts Per-peer GainNode chain, 0-200% volume, deafen support
├── domain/
│ └── voice-connection.models.ts Re-exports LatencyProfile, VoiceStateSnapshot from shared-kernel / realtime
│ └── models/
│ └── voice-connection.model.ts Re-exports LatencyProfile, VoiceStateSnapshot from shared-kernel / realtime
└── index.ts Barrel exports
```
@@ -31,11 +34,11 @@ graph TD
VAS --> VCF
VPS --> VCF
click VCF "application/voice-connection.facade.ts" "Proxy to RealtimeSessionFacade" _blank
click VAS "application/voice-activity.service.ts" "RMS-based speaking detection" _blank
click VPS "application/voice-playback.service.ts" "Per-peer GainNode volume chain" _blank
click VCF "application/facades/voice-connection.facade.ts" "Proxy to RealtimeSessionFacade" _blank
click VAS "application/services/voice-activity.service.ts" "RMS-based speaking detection" _blank
click VPS "application/services/voice-playback.service.ts" "Per-peer GainNode volume chain" _blank
click RSF "../../infrastructure/realtime/realtime-session.service.ts" "Low-level WebRTC composition root" _blank
click Models "domain/voice-connection.models.ts" "Re-exported types" _blank
click Models "domain/models/voice-connection.model.ts" "Re-exported types" _blank
```
## Voice connection facade
@@ -67,8 +70,8 @@ graph LR
RMS -- yes --> Speaking[speakingSignal = true]
RMS -- no, 8 frames --> Silent[speakingSignal = false]
click Stream "application/voice-activity.service.ts" "VoiceActivityService.trackStream()" _blank
click Poll "application/voice-activity.service.ts" "VoiceActivityService.poll()" _blank
click Stream "application/services/voice-activity.service.ts" "VoiceActivityService.trackStream()" _blank
click Poll "application/services/voice-activity.service.ts" "VoiceActivityService.poll()" _blank
```
| Parameter | Value |