mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-16 12:53:32 +00:00
194fe0fb16
The scroll speed was held three times: as state for the readout, as a ref the loop can read, and as a cached pixel rate. The cached rate was written from two places, the measure pass and the speed effect, so either one forgetting would have left the script scrolling at a stale rate. It is a multiplication of two values the loop already has, so the loop now does it per frame and the cache and one of its writers are gone. The select values and the values the parser accepts were written out twice. Adding a value to a select would have left the parser rejecting it and falling back to the default, with the view simply ignoring the choice. The accepted values are now derived from the offered ones, and a test walks every value in every select through the parser. Confirmed the test fails when the old duplication is put back. Also removed a satisfies clause that constrained nothing, since every object satisfies Partial<Record<string, unknown>>, and typed the two enum defaults so the parser no longer casts its fallback. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cb8RVPNQ2ETPJxdy4b8CHf