Aggiunge overlay server-side burn-in e stabilizza diretta live.

Tabellone, badge e brand sono ricodificati nel flusso _air via OverlayRelay;
sync punteggio HTTP, volume condiviso rails/sidekiq, qualità 720p migliorata
e badge CONNECTING in ripresa da pausa.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-03 23:55:17 +02:00
parent fd225fbadd
commit ab9cb02083
58 changed files with 2423 additions and 242 deletions

View File

@@ -34,6 +34,11 @@ module Api
render json: session_json(@session)
end
def score
Scoring::SyncState.new(session: @session, payload: score_sync_params).call
render json: session_json(@session, detail: true)
end
def events
events = @session.stream_events.recent.limit(100)
render json: events.map { |e| event_json(e) }
@@ -126,6 +131,13 @@ module Api
params.permit(:platform, :privacy_status, :quality_preset, :target_bitrate, :target_fps, :youtube_channel)
end
def score_sync_params
params.permit(
:home_sets, :away_sets, :home_points, :away_points, :current_set,
set_partials: %i[set home away]
)
end
def session_json(session, detail: false)
data = {
id: session.id,