Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Zero‑config ephemeral state (in‑memory, auto‑clears on reload)
  • Simple key/value API with three intention‑revealing scopes (Local → App → Global) to minimise accidental coupling
  • Deterministic merge & precedence so templates stay concise (<span v-pre>{{ someKey}}</span> just works with local override semantics)
  • Event reactivity through ON_DATA_HUB_CHANGE so elements can react declaratively when relevant data changes
  • A uniform contract consumed by the Dynamic Rendering Context so all dynamic elements read state the same way

...

Source TypeExample InputResult
Literaltrueboolean true
Literal + \{\{variables\}\}Username \{\{global.currentUser.name\}\}Username John

Merge Semantics (Per Key)

...

  1. Direct in app composer components: <span v-pre>{{ selection.rowId }}</span> or explicit <span v-pre>{{ local.selection.rowId }}</span>
  2. Via Get actions inside an action chain when an intermediate action (e.g. API Invoke) needs the value.

...

Row Click → Local Set (selection = JSON Interpolated: { "rowId":"<span v-pre>{{clickedRow.id}}</span>", "ts":"<span v-pre>{{timestamp}}</span>" })

6.2 Use Selection In Button API Call

...

  1. Local Get (selection)
  2. Check context change (selection)
  3. API Invoke (body includes <span v-pre>{{selection.rowId}}</span>)
  4. Local Set (rowDetails = response)

...

SymptomCauseFix
Blank interpolationKey not set yetEnsure Set runs first; default <span v-pre>{{ myKey || '—' }}</span>
Stale nested dataShallow merge kept old propsSet to null then replace OR overwrite all fields
Unexpected overrideSame key at Local/AppNamespace or explicit global. / app. access

...