The REAL cause of the slow checkbox (not the stroke duration). The checkbox provider flips its checked state inside the trigger HANDLER, and the morfo declared the commit events with sequence: 'pre' — so the runtime ran `await runEmit()` BEFORE the handler. emit() awaits the visual-channel hold (~240ms), so the functional state change (and thus data-state) waited the full perceptual hold before flipping. Measured: click -> data-state='checked' took 244ms. Fix: commit-toggle-check / commit-toggle-uncheck -> sequence: 'post' (handler runs FIRST, state flips immediately, the celebratory pulse emits after). This is the doctrine for control commits (runtime.svelte.ts §577: "toggle's commit-toggle... the pulse arrives AFTER the state has flipped"). Toggle + Switch were already 'post'; checkbox was the outlier. Measured after: 244ms -> 46ms. Verified the siblings are NOT affected: radio-group (47ms) and tabs (31ms) are also 'pre' but flip state in the call-site (not the handler), so no lag — left unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>active-uix
parent
e6fd014d43
commit
cd8343849d
Loading…
Reference in new issue