Scope#
@v2/iris-realtime-translation wires V2 spectator chat and commentary
localization to @iris/voice through createVoiceCallTranslation. The bridge
registers spectator and commentator speakers, creates per-locale receiver feeds,
and emits immutable delivery transcripts for:
- spectator chat translation;
- commentary subtitle localization;
- esports broadcast overlays;
- companion second-screen feeds.
Runtime Contract#
The bridge is presentation-only. Translated text can update chat, subtitles, broadcast graphics, and companion UI, but it never feeds rollback simulation state, move selection, frame data, match outcome, ranking, moderation penalties, or deterministic gameplay logic.
Iris owns translation provider routing and failover. V2 supplies match correlation, participants, target languages, surfaces, and utterance metadata. If the provider fails and V2 configures fail-open behavior, the original text is delivered with failed-delivery metadata so viewers can still see the source utterance and operators can alert on degraded localization.
V2Services Binding#
V2Services registers an iris-realtime-translation adapter on the Iris domain
for @iris/voice. It is available to client surfaces, disabled for
dedicated-server gameplay, and off rollback. bMayInfluenceRollback remains
false.
Validation#
The repo gate is python V2/ue/Tools/check-v2-iris-realtime-translation.py. It
validates the V2 package, tests, docs, V2Services adapter, CI wiring, domain
reciprocal notes, and this TODO completion state.