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:
parent
d46f0adb5e
commit
259b4d9b35
7 changed files with 46 additions and 3 deletions
4
examples/actions/ui_press_parts/Adder.ludic
Normal file
4
examples/actions/ui_press_parts/Adder.ludic
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# Adder.ludic - a button that says what happened and changes nothing itself
|
||||
component Adder {
|
||||
on add(n: int) { dispatch Scored { n: n } }
|
||||
}
|
||||
3
examples/actions/ui_press_parts/Adder.xml
Normal file
3
examples/actions/ui_press_parts/Adder.xml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div>
|
||||
<button on-click="add(5)">+5</button>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue