- LOOKAHEAD = 0.060 (60ms window per D-02) - Scheduler iterates show.tracks/cues on each tick, gated on is_playing and show - Cues within lookahead window fire UDP via encode_animation_cmd + UDPSender.send - Past cues (>100ms behind) silently marked fired without UDP dispatch - active_cue tracking per track enables preview state for already-fired blocks - preview_update messages broadcast to all clients on each tick (D-07) - Clear preview_update (animation: null) sent when no active cue on a device
11 KiB
11 KiB