Expression functions

See Expressions for cross-cutting conventions (identifiers, boolean coercion, scene-scoped vs session-global history).

Play history

  • Played: plays this scene visit (0/1 for a node, or a tag’s played count)
  • Selected: direct selections this scene visit (0/1 for a node, or a tag’s selected count)
  • Seen: times offered as a choice this scene visit (0/1 for a node, or a tag’s seen count)
  • PlayedEver: session-global Played
  • SelectedEver: session-global Selected
  • SeenEver: session-global Seen
  • CameFrom: true if a node is in the current jump chain
  • Cooldown: minute-based throttle since last play

Graph

List

  • Has: list membership
  • Add: append to a list
  • Remove: remove from a list
  • Count: list length, or tagged-node count

Visibility

  • Visible: current visibility of a node (Visible when only)

Scene state

  • Resolved: sticky once Resolved when latches
  • Completed: true after Complete Scene fires

Visit tracking

Math

String

Type

  • Int: coerce to int
  • Str: coerce to string
  • Bool: coerce to bool

Localization

  • Localize: look up a custom-string translation

Time

Stateful slot functions

Each call site keeps per-slot state (a draw index, a cursor, a fired flag) that’s captured in save snapshots and replayed deterministically.

  • Pick: stable random pick from a list
  • Cycle: advance through a list, wrapping at the end
  • Once: fire a value the first time, then an empty string

Conditional

  • If: pick one of two values based on a condition, evaluating only the chosen branch
Docs last synced: 2026-07-08
Screenshot viewer