ludic.ui runs a frame's presses after drawing it, and what they dispatched waited for the end of the phase - after the host had presented - so a button's change showed a frame late. Decided: drain, not a phase per action. ui_show and ui_press drain the queue once the presses have run, so the code after them and the frame presented next see the change; a host that runs presses some other way calls drain_actions() before it presents. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
450 B
450 B
bump: patch
type: fix
An action a UI button dispatches is reduced before the frame is presented. ludic.ui runs a frame's
presses after drawing it, and an action they dispatched waited for the end of the phase - after the
host had presented - so what the button changed showed a frame late. ui_show and ui_press now
drain the queue once the presses have run. A host that runs presses some other way calls
drain_actions() before it presents.