Skip to content

Appendix B — Glossary

TermDefinition
ActionAn executable unit (single-key JSON object) triggered by an event or chained from another action. The sole mechanism for side effects. Co-declared actions (multiple actions in the same event array) run in parallel; chained actions (output.success / output.failure) run sequentially.
BDUI / SDUIBackend-Driven UI / Server-Driven UI. UI structure and logic delivered from a server rather than compiled into the app binary.
ComponentA JSON object node in the render tree. Can be visual (text, button) or non-visual (module, conditional).
ContextA component-scoped property dictionary. Public keys (no _ prefix) are inherited by children; private keys are not.
DependencyA reusable artifact (repository, component, action, or service) declared in a module’s dependency array and addressable by its id.
dp://Source string scheme used to reference a registered dependency by its id.
EventA named trigger (e.g. onTap, onAppear) mapped to an array of actions.
ExpressionA computed string value wrapped in {{ }}. Evaluated at runtime against current context and state.
file://Source string scheme for files bundled in the current StemJSON zip package.
l10n://Source string scheme for localization keys resolved from *.strings files.
ModuleA non-visual root component that owns isolated state and a dependency registry for one screen or feature.
State observationThe runtime exposes module state to the host. The host may observe any declared state key and react to its value changes with any operation (e.g. dismissal, analytics, navigation). Key names are chosen freely by the author — there are no reserved state keys in StemJSON.
RepositoryA typed dependency providing CRUD data access (local, secured, remote, or firebase).
sf://Source string scheme for system icon identifiers. Primary reference platforms are iOS and macOS (SF Symbols); other runtimes map the same name to an equivalent in their native icon set.
Source stringA scheme-prefixed locator string: dp://, sf://, asset://, file://, l10n://, or http(s)://.
StateMutable data owned by a module. Changes trigger re-rendering of the module’s subtree.
StyleVisual and layout modifiers grouped into domains: layout, common, navigation, button, shape, animation, modal, text, textField, scroll, swipe, shadow, datePicker, section, map, picker, grid, video, pdf, splitView.
TemplateA non-visual proxy component that renders a component pulled from the dependency registry.