Executable example dossiers for the published FROG specification
FROG — Free Open Graphical Language
This directory contains the repository-visible numbered example progression. Examples are not semantic owners. They are published slices used to inspect how source, FIR, lowering, contracts, runtimes, and native proof paths relate.
New examples should follow the FROG Example Dossier Standard. That document defines the shared public organization for widget, operator, structure, library, compiler, and conformance examples without publishing Graiphic's internal validation recipe.
Examples 01 through 15 define the current public reference runtime closure.
Examples beyond this boundary may remain repository-visible as specification-facing, widget-facing, conformance-facing, or design-progression examples. They should not be interpreted as a commitment to publish Graiphic's production runtime implementation for those examples.
Production-grade runtime development for future FROG execution surfaces continues in Graiphic proprietary repositories, including Graiphic/FROG-Runtime, while preserving the public contracts required for independent implementations.
When a browser-hosted example is used for validation, the visible page should expose a collapsed-by-default source and execution artifact inspector.
Opening the inspector should show formatted in-page content, while raw routes remain available for direct checks.
The expected inspection surface includes state.json, the owning main.frog, the directly consumed example .wfrog package, and FIR/lowering artifacts when those artifacts exist.
This browser presentation is a validation host convention, not the FROG language runtime identity. Other front-panel hosts may expose the same source, realization, FIR, lowering, manifest, and diagnostic contracts through an equivalent inspection surface.
| Example | Focus | Starts at | Current repository status |
|---|---|---|---|
01_pure_addition |
Pure public-interface arithmetic | main.frog |
FIR → lowering → contract → runtime → LLVM |
02_ui_value_roundtrip |
Natural widget-value participation | main.frog with inline front panel |
FIR → lowering → contract → runtime → LLVM |
03_ui_property_write |
Object-style widget reference and property write | main.frog with inline front panel |
FIR → lowering → contract → runtime → LLVM |
04_stateful_feedback_delay |
Explicit state and feedback through frog.core.delay |
main.frog |
FIR → lowering → contract → runtime → LLVM |
05_bounded_ui_accumulator |
Full bounded UI accumulator corridor | main.frog + ui/accumulator_panel.wfrog |
FIR → lowering → contract → runtime acceptance → LLVM module/native proof |
06_boolean_value_roundtrip |
Boolean control/indicator value roundtrip | main.frog + ui/boolean_panel.wfrog |
FIR → lowering → contract → LLVM native manifest → C++/Python/Rust runtime bridge → Default Boolean realization |
07_string_value_roundtrip |
String control/indicator hello-world roundtrip | main.frog + ui/string_panel.wfrog |
FIR → lowering → contract → LLVM native manifest → C++/Python/Rust runtime bridge → Default String realization |
08_enum_value_roundtrip |
Enum control/indicator mode roundtrip | main.frog + ui/enum_panel.wfrog |
FIR → lowering → contract → LLVM native manifest → C++/Python/Rust runtime bridge → Default Enum realization |
09_path_value_roundtrip |
Path control/indicator value roundtrip | main.frog + ui/path_panel.wfrog |
FIR → lowering → contract → LLVM native manifest → C++/Python/Rust runtime bridge → Default Path realization |
10_button_press_to_boolean |
Button switch_until_released mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
11_button_switch_when_pressed |
Button switch_when_pressed mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
12_button_switch_when_released |
Button switch_when_released mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
13_button_latch_when_pressed |
Button latch_when_pressed mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
14_button_latch_when_released |
Button latch_when_released mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
15_button_latch_until_released |
Button latch_until_released mechanical action |
main.frog + ui/button_panel.wfrog |
Current public reference runtime closure: FIR -> lowering -> contract -> LLVM native manifest -> C++/Python/Rust runtime bridge -> Default Button/Boolean realization |
16_picture_logo_jpeg |
Path-selected PNG/JPEG/BMP decoded by frog.image.decode_file_rgba8 and displayed by a Picture indicator |
main.frog + ui/picture_panel.wfrog + assets/frog_logo.jpg |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
17_label_typography_board |
Standalone Label support widgets with source-owned typography, frames, backgrounds, and annotation text | main.frog + ui/label_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
18_decoration_board |
Standalone Decoration support widgets with one source-owned flat box, one horizontal line, and one vertical line | main.frog + ui/decoration_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
19_subpanel_embedded_front_panel |
Subpanel host region displaying a referenced child .frog front panel |
main.frog + embedded/embedded_status.frog + ui/subpanel_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
20_tab_page_selection |
Tab control page selection with wrapped page headers and a movable page label display | main.frog + ui/tab_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
21_ring_selection_roundtrip |
Ring numeric selected-value roundtrip with a read-only Ring indicator | main.frog + ui/ring_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
22_listbox_selection_roundtrip |
Listbox numeric selected-value roundtrip with a read-only Listbox indicator | main.frog + ui/listbox_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
23_table_cell_selection_roundtrip |
Table numeric selected-cell roundtrip with a read-only Table indicator | main.frog + ui/table_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
24_tree_node_selection_roundtrip |
Tree numeric selected-node roundtrip with parent/child expansion, editable cells, and scrollable columns/rows | main.frog + ui/tree_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
25_frame_grouping_board |
Standalone simple Frame support rectangles with source-owned size, background color, border color, and uniform border thickness | main.frog + ui/frame_panel.wfrog |
Repository-visible post-boundary widget progression: public source/realization/example material only; runtime implementation continues in Graiphic/FROG-Runtime unless explicitly promoted later |
01 pure computation
|
v
02 widget_value natural UI value path
|
v
03 widget_reference + frog.ui.property_write object-style UI path
|
v
04 explicit state and valid feedback through delay
|
v
05 combined bounded UI accumulator corridor
|
v
06 Boolean .wfrog realization and native-kernel runtime bridge
|
v
07 String .wfrog realization and native-kernel runtime bridge
|
v
08 Enum .wfrog realization and native-kernel runtime bridge
|
v
09 Path .wfrog realization and native-kernel runtime bridge
|
v
10-15 Button mechanical actions in the public reference runtime closure
|
v
16 Path -> frog.image.decode_file_rgba8 -> Picture as a post-boundary widget progression example
|
v
17 standalone Label support text as a post-boundary widget progression example
|
v
18 standalone Decorations as a post-boundary widget progression example
|
v
19 Subpanel embedding another .frog front panel as a post-boundary widget progression example
|
v
20 Tab selected-page value and page region as a post-boundary widget progression example
|
v
21 Ring numeric selected-value as a post-boundary widget progression example
|
v
22 Listbox numeric selected-value as a post-boundary widget progression example
|
v
23 Table numeric selected-cell value as a post-boundary widget progression example
|
v
24 Tree numeric selected-node value as a post-boundary widget progression example
|
v
25 standalone Frame support grouping surface as a post-boundary widget progression example
|
v
26+ future examples continue runtime implementation in Graiphic/FROG-Runtime unless explicitly promoted
Examples/
├── 01_pure_addition/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ └── main.lowering.json
├── 02_ui_value_roundtrip/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ └── main.lowering.json
├── 03_ui_property_write/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ └── main.lowering.json
├── 04_stateful_feedback_delay/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ └── main.lowering.json
├── 05_bounded_ui_accumulator/
│ ├── Readme.md
│ ├── Freeze.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── accumulator_panel.wfrog
├── 06_boolean_value_roundtrip/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── boolean_panel.wfrog
├── 07_string_value_roundtrip/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── string_panel.wfrog
├── 08_enum_value_roundtrip/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── enum_panel.wfrog
├── 09_path_value_roundtrip/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── path_panel.wfrog
├── 10_button_press_to_boolean/
│ ├── Readme.md
│ ├── main.frog
│ ├── main.fir.json
│ ├── main.lowering.json
│ └── ui/
│ └── button_panel.wfrog
├── 11_button_switch_when_pressed/
│ └── same Button example shape
├── 12_button_switch_when_released/
│ └── same Button example shape
├── 13_button_latch_when_pressed/
│ └── same Button example shape
├── 14_button_latch_when_released/
│ └── same Button example shape
├── 15_button_latch_until_released/
│ └── same Button example shape
├── 16_picture_logo_jpeg/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
├── assets/
│ └── frog_logo.jpg
└── ui/
└── picture_panel.wfrog
├── 17_label_typography_board/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── label_panel.wfrog
├── 18_decoration_board/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── decoration_panel.wfrog
├── 19_subpanel_embedded_front_panel/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
├── embedded/
│ ├── embedded_status.frog
│ └── ui/
│ └── embedded_status_panel.wfrog
└── ui/
└── subpanel_panel.wfrog
├── 20_tab_page_selection/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── tab_panel.wfrog
├── 21_ring_selection_roundtrip/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── ring_panel.wfrog
├── 22_listbox_selection_roundtrip/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── listbox_panel.wfrog
├── 23_table_cell_selection_roundtrip/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── table_panel.wfrog
├── 24_tree_node_selection_roundtrip/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── tree_panel.wfrog
└── 25_frame_grouping_board/
├── Readme.md
├── main.frog
├── main.fir.json
├── main.lowering.json
└── ui/
└── frame_panel.wfrog
Examples 10 through 15 use the same published shape:
each Button mechanical-action slice contains Readme.md,
main.frog, FIR/lowering artifacts, and
ui/button_panel.wfrog referencing the Default Button and Boolean
realization assets.
Example 16 starts the repository-visible post-boundary widget
progression. It contains public source, FIR/lowering shape, a
.wfrog package referencing the Default Path and Default Picture
realizations, and a default FROG logo image path decoded through the
frog.image.decode_file_rgba8 standard library contract. It does not
add public runtime source beyond the Example 15 closure.
Example 17 continues the repository-visible post-boundary widget
progression with standalone Label support text. It contains public source,
FIR/lowering shape, a .wfrog package referencing the Default Label
realization, and a small native manifest proof output. It does not add public
runtime source beyond the Example 15 closure.
Example 18 continues the repository-visible post-boundary widget
progression with standalone Decoration support widgets. It contains public
source, FIR/lowering shape, a .wfrog package referencing the Default
Decorations realization, and a small native manifest proof output.
It does not add public runtime source beyond the Example 15 closure.
Example 19 continues the repository-visible post-boundary widget
progression with a Subpanel host region. It contains a parent public source,
a referenced child .frog front panel, FIR/lowering shape, a
.wfrog package referencing the Default Subpanel realization, and a
small native manifest proof output. The parent .frog owns the
Subpanel instance and child reference; the child .frog owns the
widgets displayed inside the Subpanel. It does not add public runtime source
beyond the Example 15 closure.
Example 20 continues the repository-visible post-boundary widget
progression with a Tab control. It contains public source, FIR/lowering shape,
a .wfrog package referencing the Default Tab realization, and a
native manifest string proof output. The .frog
owns page records, selected page value, layout, style, and visible page
content. Its host capability declarations include selected-page state patching
as a realization-facing browser interaction. It does not add public runtime
source beyond the Example 15 closure.
Example 21 continues the repository-visible post-boundary widget
progression with a Ring control and read-only Ring indicator. It contains
public source, FIR/lowering shape, a .wfrog package referencing the
Default Ring realization, and a native manifest u16 proof output.
The .frog owns item ids, labels, numeric values, selected item state,
layout, and style overrides. It does not add public runtime source beyond the
Example 15 closure.
Example 22 continues the repository-visible post-boundary widget
progression with a Listbox control and read-only Listbox indicator. It contains
public source, FIR/lowering shape, a .wfrog package referencing the
Default Listbox realization, and a native manifest u16 proof output.
The .frog owns item ids, labels, numeric values, selected item state,
viewport, layout, and style overrides. It does not add public runtime source
beyond the Example 15 closure.
Example 23 continues the repository-visible post-boundary widget
progression with a Table control and read-only Table indicator. It contains
public source, FIR/lowering shape, a .wfrog package referencing the
Default Table realization, and a native manifest u16 proof output.
The .frog owns the table schema, rows, cells, selected cell state,
viewport, layout, and style overrides. It does not add public runtime source
beyond the Example 15 closure.
Example 24 continues the repository-visible post-boundary widget
progression with a Tree control and read-only Tree indicator. It contains
public source, FIR/lowering shape, a .wfrog package referencing the
Default Tree realization, and a native manifest u16 proof output.
The .frog owns tree records, hierarchy, item symbols, selected cell
state, viewport, layout, and style overrides. It does not add public runtime
source beyond the Example 15 closure.
Example 25 continues the repository-visible post-boundary widget
progression with standalone simple Frame support rectangles. It contains public source,
FIR/lowering shape, a .wfrog package referencing the Default Frame
realization, and a native manifest bool proof output. The .frog
owns Frame instance layout, background visibility/color, border visibility/color,
and one uniform border thickness value per instance. Frame does not own labels,
captions, methods, scrollbars, child .frog references, or value flow. It
does not add public runtime source beyond the Example 15 closure.
Run example validation commands from the repository root. A fresh clone needs the following local tools before the numbered example corridor can be fully checked:
| Tool | Required for |
|---|---|
Python + pip |
Reference workspace checks, FIR derivation, lowering, contracts, LLVM emission checks, and Python runtime tests. |
pytest |
Full reference test surface. |
CMake + a C++ toolchain |
C++ runtime-family validation for the current widget examples. |
Cargo / Rust toolchain |
Rust runtime-family validation for the current widget examples. |
clang |
Optional LLVM native build and native-kernel bridge checks. |
Minimal setup for the Python-backed reference checks:
python -m pip install pytest
python Implementations/Reference/check_reference_workspace.py --include-pytestRuntime-family validation adds the current C++ and Rust surfaces:
cmake -S Implementations/Reference/Runtime/cpp -B build/frog_runtime_cpp
cmake --build build/frog_runtime_cpp
ctest --test-dir build/frog_runtime_cpp --output-on-failure
cargo test --manifest-path Implementations/Reference/Runtime/rust/Cargo.tomlWidget examples are framed by the Widget Example Public Boundary. That document records the public source / realization / runtime-consumer ownership split without publishing Graiphic's internal widget acceptance recipe, manual visual QA procedure, or private runtime roadmap.
All example families are organized by the FROG Example Dossier Standard. Use the widget boundary document as the additional public boundary only when an example has a front-panel widget or Default realization surface.
The currently stabilized widget example surfaces are inventoried in
Widget Example Reference Notes.
Those notes document the proven Numeric, Boolean, String, Enum, Path, and Button example surfaces,
including which properties are owned by .frog, which realization packages and SVG assets are consumed through
.wfrog, and which public runtime checks support the published example evidence.
The current reference workspace check across the numbered examples is:
python Implementations/Reference/check_reference_workspace.pyTo include pytest coverage and optional native proof checks where the local toolchains are available:
python Implementations/Reference/check_reference_workspace.py --include-pytest
python Implementations/Reference/check_reference_workspace.py --include-native-kernel-bridge
python Implementations/Reference/check_reference_workspace.py --include-llvm-buildExamples remain subordinate to the owning specification documents. They illustrate and verify published corridors. They do not define FROG semantics.