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.