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>
7 lines
450 B
Markdown
7 lines
450 B
Markdown
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.
|