Machine-readable publication posture for the official Default widget realization family
FROG — Free Open Graphical Language
- Realizations index
- Standard widgets
- Default realization family overview
- Default realization validation checklist
This document defines the repository-visible package posture for the official Default widget realization family.
The package posture describes how Default realization manifests, documents, resources, SVG assets, public part bindings, property bindings, method bindings, event bindings, composition slots, host hints, and validation expectations are published together.
The package posture is not widget class law. It is the machine-readable publication layer that allows hosts, validators, tooling, examples, and future UI runtimes to consume a coherent default embodiment of standardized widgets without confusing realization resources with semantic ownership.
| Family | Manifest | Target classes | Category | Runtime role posture | Manifest posture |
|---|---|---|---|---|---|
| Boolean | boolean.default.wfrog | frog.widgets.boolean_control, frog.widgets.boolean_indicator | core value | control / indicator | single-family scalar package |
| String | string.default.wfrog | frog.widgets.string_control, frog.widgets.string_indicator | core value | control / indicator | single-family scalar package |
| Button | button.default.wfrog | frog.widgets.button | action | command | single-family action package |
| Numeric | numeric.default.wfrog | frog.widgets.numeric_control, frog.widgets.numeric_indicator | core value | control / indicator | single-family scalar package |
| Enum | enum.default.wfrog | frog.widgets.enum_control, frog.widgets.enum_indicator | core value | control / indicator | single-family scalar package |
| Path | path.default.wfrog | frog.widgets.path_control, frog.widgets.path_indicator | core value | control / indicator | single-family scalar package |
| Picture | picture.default.wfrog | frog.widgets.picture_control, frog.widgets.picture_indicator | visual data | control / indicator | image-surface package |
| Waveform Chart | chart.default.wfrog | frog.widgets.waveform_chart | visual data | indicator | composite package with shell, subobjects, slots, bindings, and host-native plot allowance |
| Listbox | listbox.default.wfrog | frog.widgets.listbox_control, frog.widgets.listbox_indicator | selection / navigation | control / indicator | composite package with item rows, selection surfaces, viewport, and virtual-list allowance |
| Tab | tab.default.wfrog | frog.widgets.tab_control, frog.widgets.tab_indicator | selection / navigation | control / indicator | composite package with page-navigation and page-hosting surfaces |
| Tree | tree.default.wfrog | frog.widgets.tree_control, frog.widgets.tree_indicator | selection / navigation | control / indicator | composite package with node rows, hierarchy surfaces, check state, editing, drag/drop, and virtual-tree allowance |
| Table | table.default.wfrog | frog.widgets.table_control, frog.widgets.table_indicator | structured data | control / indicator | composite package with headers, grid, cells, editing, sorting, filtering, and virtual-grid allowance |
| Array | array.default.wfrog | frog.widgets.array, frog.widgets.array_control, frog.widgets.array_indicator | structured data | structured collection | structured collection package |
| Cluster | cluster.default.wfrog | frog.widgets.cluster | structured data | structured aggregate | structured aggregate package |
| Label | label.default.wfrog | frog.widgets.label | support | support | support package |
| Frame | frame.default.wfrog | frog.widgets.frame | support | support | support package |
| Decorations | decorations.default.wfrog | frog.widgets.flat_box, frog.widgets.horizontal_line, frog.widgets.vertical_line | support | decorative support | decorative package |
| Splitter | splitter.default.wfrog | frog.widgets.horizontal_splitter, frog.widgets.vertical_splitter | layout | layout | layout package |
| Subpanel | subpanel.default.wfrog | frog.widgets.subpanel | layout / embedded front panel | subpanel host | embedded-front-panel package |
A Default realization manifest should provide the following machine-readable surfaces:
format— package file format identity.kind— realization-library identity.publication_role— repository-facing publication role.version_governance_ref— reference to centralized version-governance documentation.package— package identity, namespace, category, role posture, and summary.ownership_boundary— what the realization owns and does not own.targets— public widget classes targeted by the realization.exports— exported realization and resource identifiers.realizations— realization records, supported parts, fallback rules, and family posture.resources— SVG templates, subobject resources, and host-consumable resources.part_bindings— public part names mapped to selectors or host surfaces.property_bindings— property/member surfaces mapped to realization operations.method_bindings— method surfaces mapped to realization operations, when present.event_bindings— event surfaces mapped to source parts, when present.state_maps— visual or interaction state posture, when present.composition— shell, layer order, slots, and nested slots for composite families, when present.host_hints— rendering and host-native replacement posture.validation_expectations— repository-visible validation expectations.
Libraries/Widgets/
- public widget class law
Libraries/Realizations/Default/
- default realization posture
*.default.wfrog
- machine-readable realization manifests
assets/
- SVG templates and subobject resources
Implementations/Reference/WidgetValidator/
- non-normative repository hygiene validation
runtime implementation
- interpretation of the published package
Default manifests publish realization resources, public part bindings, state maps, property bindings, method bindings, event bindings, anchors, host hints, and validation expectations. They do not redefine public widget class law.
- Every declared public part should correspond to a public part defined by the owning widget class-law document.
- Every declared resource path should resolve relative to the manifest file.
- SVG resources should expose relevant public parts through
data-frog-partmarkers when those parts are represented in the SVG template. - Composite shell resources may expose slots through
data-frog-slotmarkers. - A resource may serve multiple public parts when the manifest explicitly declares that relationship.
- Realization-private renderer handles, host-native handles, virtualized rows, virtualized nodes, canvas handles, GPU surfaces, and IDE-private editors must not become public semantic storage.
A host may replace SVG-backed rendering with host-native widgets or optimized surfaces when the replacement preserves:
- target widget class identity,
- primary value posture,
- public part model,
- public property surface,
- public method surface,
- public event surface,
- realization-private boundary,
- validation expectations that apply to the published package.
This is especially important for Table, Tree, Listbox, Tab, Picture, and Waveform Chart, where serious hosts may prefer native virtual grids, native virtual trees, native lists, native tab controls, image surfaces, canvas layers, or GPU-backed plot surfaces.