Skip to content

Latest commit

 

History

History
116 lines (89 loc) · 3.76 KB

File metadata and controls

116 lines (89 loc) · 3.76 KB

FROG logo

Default Realization - Button Widget

Default realization posture for the standardized button widget
FROG - Free Open Graphical Language


Navigation


1. Overview

This document describes the default realization posture for frog.widgets.button.

The class law belongs to Libraries/Widgets/Button.md. This document describes how the default realization family can embody that law through SVG template resources, state-specific overrides, part bindings, state maps, and realization variants.


2. Published Default Variant

  • rectangular

3. Machine-Readable Manifest

Libraries/Realizations/Default/button.default.wfrog

4. Public Parts Realized

  • root
  • label
  • caption
  • frame
  • face
  • state_face
  • state_text
  • focus_ring

5. SVG Template and State Overrides

  • assets/button/templates/button_rectangular.svg
  • assets/button/states/button_false.svg
  • assets/button/states/button_true.svg
  • assets/button/states/button_hover_false.svg
  • assets/button/states/button_hover_true.svg
  • assets/button/states/button_transition_false_to_true.svg
  • assets/button/states/button_transition_true_to_false.svg

The state-specific files are optional realization overrides. They do not redefine button semantics.

The rectangular Button template is accepted for the bounded Examples/10_button_press_to_boolean corridor as of 2026-05-15 and is reused by the bounded switch corridors. That acceptance covers the SVG-published public parts, configurable face and state-text styling, hover and pressed state visuals, and host overlay alignment to the published face part. It remains a Default realization asset acceptance, not a runtime-defined HTML/CSS skin.


6. Mechanical Action Posture

The default realization visualizes the state produced by the class-owned mechanical-action model. It does not define the mechanical-action semantics itself.

The manifest publishes the canonical action vocabulary switch_when_pressed, switch_when_released, switch_until_released, latch_when_pressed, latch_when_released, and latch_until_released, including the realization posture needed by host overlays. Runtime families must still validate each action before accepting it as executable behavior. The current accepted corridors validate switch_until_released in Example 10 and switch_when_pressed in Example 11. Example 12 introduces a C++ first switch_when_released corridor; Python and Rust parity must not be claimed until those runtimes are explicitly aligned and validated.