Display label in the palette / on the node header.
Category for palette grouping. 'effect' also implies execution-graph
participation: the overlay/editor draws exec in/out ports on these.
OptionaldynamicOptional: derive the input port list from params for compound nodes
(e.g. setAttribute with N attribute entries → N data input ports).
Use getNodeInputPorts to read the effective list.
OptionaldynamicOptional: derive the output port list from params for compound source
nodes (e.g. attribute with N entries → N typed output ports, one per
attribute). Use getNodeOutputPorts to read the effective list.
OptionalparamsEditor-facing parameter spec; runtime only reads params raw.
OptionaltoPure-value codegen. Returns an Expr (single-output) or a per-port map
for nodes with multiple outputs.
OptionaltoSide-effect codegen. Returns one or more Actions for statement nodes.
Declarative spec for a node kind. Drives both the editor (palette label, port rendering, property inspector) and the compiler (input/output wiring, Expr/Action codegen).
Most kinds have static
inputs/outputsarrays. Compound kinds (e.g.setAttributewith multipleentries) declaredynamicInputs(params)instead — the port list is recomputed from the node'sparamswhenever the user edits them. When both are present,dynamicInputswins.