NarraLeaf

Nodes

The built-in node catalog, one page per palette category, with every node's signature.

The built-in catalog is 610 nodes across 27 categories. A category is the grouping you navigate in the palette, so these pages are organised the way the editor is.

How to read a node

Each node is written like this:

Delay

blueprint.flow.delay · Latent

The first line under the heading is the node's type id — the value stored in the document, and what you would register from a plugin. After it come the flags that are true for that node:

FlagMeans
PureNo side effects. Usable in function graphs.
LatentSuspends the graph until it resolves. Never available in a function graph.

Pure does not by itself mean the node works inside a Blueprint Value. That is a separate, narrower rule: the node must be pure and non-latent and belong to one of the allowed categories — Data, List, Math, Time, Text, Slider, Displayable, Element, Game — plus a short list of specific exceptions (Init and On Flush heads, non-latent Flow, local variable access, Call Fn, comments, Return Value, and four Page state reads). A Self node scoped to widgetMain is excluded regardless of its flags; inside a Blueprint Value you reach a widget through an Element literal and the Element-category reader.

Then the pin table:

PinDirectionTypeNotes
inin · exec
durationin · datafloatSeconds. Accepts an on-card literal.
completedout · execFires after the wait.
tokenout · dataTimerFeed to Skip Delay to cut the wait short.

Exec pins carry execution; data pins carry values. Accepts an on-card literal means you can type the value into the node card instead of wiring an edge. Some nodes have dynamic pins — projected from a selected variable, a chosen function signature, or a case you appended — and those are described in prose, because there is no fixed table to print.

Availability

A node appearing in this catalog does not mean it appears in your palette. Three filters apply:

  • Graph kind. function graphs refuse effectful and latent nodes.
  • Owner and widget capability. Self nodes only show in the blueprint of a widget that has that capability; a Set Slider Value is not offered inside a Text widget's blueprint.
  • Present bindings. An Element node only appears once the graph already holds a compatible Element, Element Flush, or Element Click node to wire it to.

When several compatible sources exist, the palette lists the node once. Adding it auto-connects to the source if there is exactly one; with more than one it leaves the target input open for you to choose.

Categories

CategoryNodesCovers
Events52Entry points: lifecycle, input, Surface transitions, Broadcast.
Flow13Branching, loops, sequencing, delays.
Functions3Function entry, call, return.
Variables9Declaring and reading blueprint and persistent variables.
Data95Literals, conversion, predicates, JSON, strings, arrays.
Math31Arithmetic, rounding, boolean logic, comparison.
Time15The clock, the calendar, and dates as text.
Game89Story control, dialog, preferences, saves, backlog.
App26Surface navigation, window, application lifetime.
Localization6The game's player-facing locale.
Network3HTTP requests and reading the response.
Displayable9Geometry, appearance variants, property animation.
Element123Everything above, aimed at a wired Element instead of self.
Image16Image assets and fill.
Text28Text content and typography.
Text Input3Editable text fields.
Button7Button label and pointer.
Container6Container layout and children.
Frame8The Page a Frame shows, and its params.
List33Runtime items, selection, scrolling, item context.
Slider9Value, range, and snapping.
Debug2Logging and in-graph comments.
Input2Which device the player is using, and whether an action is held.
Sound7Playing an interface clip, and the handle that reaches it again.
Voice5Playing a recorded line, and the dub language in force.
Component1The parameter that tells one placement of a component from another.
Switch9The Switch widget's checked state, and its enabled and visible flags.

On this page