fix(ui): 0.R4 - an action a UI button dispatches is reduced before the frame is presented

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>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-26 07:08:26 +03:00
parent d46f0adb5e
commit 259b4d9b35
7 changed files with 46 additions and 3 deletions

View file

@ -0,0 +1,7 @@
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.