Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 1.55 KB

File metadata and controls

37 lines (31 loc) · 1.55 KB

Example 15 - Button Latch Until Released

Example 15 is a bounded Button widget acceptance slice for behavior.mechanical_action=latch_until_released. It uses one Button control labelled Trigger and one read-only Boolean indicator labelled Latched.

The Button is a command/value widget: the press edge latches TRUE, continuous program reads observe TRUE while the button remains pressed, and the value resets once the button has been released and the program has read the value. In this example the visible behavior intentionally resembles switch-until-released while still preserving the latch reset rule.

trigger_button.value -> latched_indicator.value
trigger_button.value -> public output latched

The visible UI must consume the Default Button SVG and Default Boolean SVG assets through the .frog instance data and the .wfrog realization package. The runtime may provide host input overlays, but those overlays must align to the SVG-published Button face part and must not define a fallback Button visual.

The C++ behavior was accepted first, then the Python and Rust reference runtime source surfaces were aligned to the same Button latch contract. The reference runtimes can execute the Button value copy through the manifest-declared native bool kernel artifact while still consuming the .wfrog package and Default SVG realizations. LLVM remains a backend producer of the native artifact; it is not the runtime identity.