Model the AlertBox and standalone ticker with shared settings; scene tickers render the in-memory active and queued events without saving history. Keep AlertBox content active-event-only. Ref: https://obsproject.com/kb/obs-studio-overview
1.5 KiB
1.5 KiB
HANDOFF — 2026-11-02 (scene-local alert ticker)
State
main; ticker work is local and not pushed.- Standalone
SourceType.Tickeris addable once per scene, has per-source settings, and shows the in-memory current + queued alert feed. It does not persist event history. - Stream Alerts keeps one box per layout; its ticker shares
Tickersettings but shows only the active event. Existing per-Source columns persist the settings without a schema migration. - Focused build succeeded; the new integration test and all
AlertTickerPreviewDisplayTestspass.
Next action
Next queued unit: Day 1 system-message strip; also check the queued Debug-only test-access rule. Keep one integration test per change. Do not push absent a milestone/checkpoint request.
Landmines
- Build/test with Windows
dotnet.exe; the full suite can hang in WASAPI teardown. - Focused ticker tests pass; clean app build is 0 warnings. Full suite reports 13–14 UI/content
failures (508/521 or 507/521 pass), matching the prior baseline note; none is a ticker test. Their
relationship to this change is unconfirmed, and
verify.shcurrently only allows two other tests. - The integration assertion is in
ytLive.Tests/AlertTickerPreviewDisplayTests.csand must useLayoutPathOverride/clear it infinallyif it constructsMainWindow. - Scene tickers are dynamic per-element sources; only the AlertBox ticker uses the pump's global ticker overlay callback.
- Bundled FFmpeg stays outside the single-file exe (
ExcludeFromSingleFile="true").