Fill operator UI options at run time
A phase can now change what an operator-screen component offers, not only its value, so choices and input rules that only exist at run time no longer need one procedure per case.
- Added
ui.set(key, ...)to change a component's options, label, placeholder, affixes, numeric bounds, text length and pattern while its screen is open. The operator's entry is checked against what the phase sent. - Added a "Waiting for options" state: a choice declared without options now loads, fills when the phase sends the list, and never pre-selects an entry.
- Improved the agent protocol with a
ui_updateevent and the same entry validation as the kiosk, including pre-baked values.
