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>
4 lines
142 B
Text
4 lines
142 B
Text
# Adder.ludic - a button that says what happened and changes nothing itself
|
|
component Adder {
|
|
on add(n: int) { dispatch Scored { n: n } }
|
|
}
|