Skip to content

Latest commit

 

History

History
166 lines (133 loc) · 10.8 KB

File metadata and controls

166 lines (133 loc) · 10.8 KB

FROG logo

Default Realization Package

Machine-readable publication posture for the official Default widget realization family
FROG — Free Open Graphical Language


Navigation


Purpose

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.


Active Default Manifests

Family Manifest Target classes Category Runtime role posture Manifest posture
Booleanboolean.default.wfrogfrog.widgets.boolean_control, frog.widgets.boolean_indicatorcore valuecontrol / indicatorsingle-family scalar package
Stringstring.default.wfrogfrog.widgets.string_control, frog.widgets.string_indicatorcore valuecontrol / indicatorsingle-family scalar package
Buttonbutton.default.wfrogfrog.widgets.buttonactioncommandsingle-family action package
Numericnumeric.default.wfrogfrog.widgets.numeric_control, frog.widgets.numeric_indicatorcore valuecontrol / indicatorsingle-family scalar package
Enumenum.default.wfrogfrog.widgets.enum_control, frog.widgets.enum_indicatorcore valuecontrol / indicatorsingle-family scalar package
Pathpath.default.wfrogfrog.widgets.path_control, frog.widgets.path_indicatorcore valuecontrol / indicatorsingle-family scalar package
Picturepicture.default.wfrogfrog.widgets.picture_control, frog.widgets.picture_indicatorvisual datacontrol / indicatorimage-surface package
Waveform Chartchart.default.wfrogfrog.widgets.waveform_chartvisual dataindicatorcomposite package with shell, subobjects, slots, bindings, and host-native plot allowance
Listboxlistbox.default.wfrogfrog.widgets.listbox_control, frog.widgets.listbox_indicatorselection / navigationcontrol / indicatorcomposite package with item rows, selection surfaces, viewport, and virtual-list allowance
Tabtab.default.wfrogfrog.widgets.tab_control, frog.widgets.tab_indicatorselection / navigationcontrol / indicatorcomposite package with page-navigation and page-hosting surfaces
Treetree.default.wfrogfrog.widgets.tree_control, frog.widgets.tree_indicatorselection / navigationcontrol / indicatorcomposite package with node rows, hierarchy surfaces, check state, editing, drag/drop, and virtual-tree allowance
Tabletable.default.wfrogfrog.widgets.table_control, frog.widgets.table_indicatorstructured datacontrol / indicatorcomposite package with headers, grid, cells, editing, sorting, filtering, and virtual-grid allowance
Arrayarray.default.wfrogfrog.widgets.array, frog.widgets.array_control, frog.widgets.array_indicatorstructured datastructured collectionstructured collection package
Clustercluster.default.wfrogfrog.widgets.clusterstructured datastructured aggregatestructured aggregate package
Labellabel.default.wfrogfrog.widgets.labelsupportsupportsupport package
Frameframe.default.wfrogfrog.widgets.framesupportsupportsupport package
Decorationsdecorations.default.wfrogfrog.widgets.flat_box, frog.widgets.horizontal_line, frog.widgets.vertical_linesupportdecorative supportdecorative package
Splittersplitter.default.wfrogfrog.widgets.horizontal_splitter, frog.widgets.vertical_splitterlayoutlayoutlayout package
Subpanelsubpanel.default.wfrogfrog.widgets.subpanellayout / embedded front panelsubpanel hostembedded-front-panel package

Manifest Shape

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.

Ownership Boundary

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.


Public Part and Resource Rule

  • 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-part markers when those parts are represented in the SVG template.
  • Composite shell resources may expose slots through data-frog-slot markers.
  • 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.

Host-Native Replacement Rule

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.