feat(vegas): keep live games in the ticker by default

display.vegas_scroll.live_in_ticker now defaults to true: through a live
game the marquee keeps running and the live scoreboard takes extra turns in
it -- its cards updating in place while they scroll -- instead of the ticker
giving way to the full-screen scoreboard.

The new default would reach nobody on its own: every existing config holds
an explicit false copied from the template (there was no control for it),
and the template merge only adds missing keys. ConfigManager therefore turns
a stored false on once, with a backup, and records live_in_ticker_migrated
so a false chosen afterwards stays. The marker is never in the template.

A "Keep live games in the ticker" checkbox under Vegas mode sets it. Tests
that pin the full-screen takeover now say live_in_ticker=false.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Chuck
2026-09-30 18:36:39 -04:00
co-authored by Claude Opus 5.5
parent 8cce532ea9
commit 559ef14a5c
16 changed files with 246 additions and 30 deletions
+9
View File
@@ -406,6 +406,15 @@ read any of them:
`render_vegas_strip()` and `render_vegas_timeline()` in
`src/plugin_system/testing/vegas.py`; the join is now
`render_pipeline.join_plugin_rows()`.
- **Behaviour change: live games stay in the Vegas ticker by default.**
`display.vegas_scroll.live_in_ticker` now defaults to `true`: the marquee
keeps running through a live game, which takes extra turns in it, instead
of giving way to the full-screen scoreboard. Existing configs all held the
old `false`, copied from the template, so the first start turns it on once
(`ConfigManager._migrate_live_in_ticker_default`; the previous config is
kept as `config.json.backup` and `live_in_ticker_migrated` records that it
ran). To keep the full-screen scoreboard, untick the new **Keep live games
in the ticker** under Vegas mode; a `false` set after the migration stays.
### Scrolling