Expand description
Node graph widget Interactive node graph editor widget.
Provides the [NodeGraph] widget for building visual node-based editors
(e.g. shader graphs, data-flow pipelines). Key types:
- [
NodeGraph] — top-level widget holding nodes, types, and callbacks - [
Node] — a single node with typed input/output connections and editable fields - [
NodeTypeInfo] / [InputOutputInfo] — metadata describing node types and their I/O ports - [
NodeGraphCallbacks] — user-provided callbacks for add, remove, drag, connect, etc.
Known limitation: Connection curves between nodes are currently not rendered
(draw_connection returns a null image pending RenderImageCallbackInfo support).
Structs§
- Graph
Drag Amount - Amount (in logical pixels) the entire graph was dragged.
- Input
Connection - An input port’s connections to one or more output ports on other nodes.
- Input
Connection Vec - Input
Connection VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Input
Node AndIndex - Reference to a specific input port on a node.
- Input
Node AndIndex Vec - Input
Node AndIndex VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Input
Output Info - Display metadata for an input/output port type (name and color).
- Input
Output Type Id - Unique identifier for an input/output port type.
- Input
Output Type IdInfo Map - Maps an
InputOutputTypeIdto itsInputOutputInfometadata. - Input
Output Type IdInfo MapVec - Input
Output Type IdInfo MapVec Slice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Input
Output Type IdVec - Input
Output Type IdVec Slice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Node
- A single node with typed input/output connections and editable fields.
- Node
Drag Amount - Amount (in logical pixels) a single node was dragged.
- Node
Graph - Interactive node graph editor widget with typed input/output connections.
- Node
Graph Callbacks - User-provided callbacks for node graph interaction events.
- Node
Graph Node Id - Unique identifier for a node instance within the graph.
- Node
Graph Node Position - Things only relevant to the display of the node in an interactive editor
- Node
IdNode Map - Maps a
NodeGraphNodeIdto itsNodedata. - Node
IdNode MapVec - Node
IdNode MapVec Slice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Node
Type Field - A key-value field on a node (e.g. a text input labelled “Name”).
- Node
Type Field Vec - Node
Type Field VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Node
Type Id - Unique identifier for a node type (e.g. “Add”, “Multiply”).
- Node
Type IdInfo Map - Maps a
NodeTypeIdto itsNodeTypeInfometadata. - Node
Type IdInfo MapVec - Node
Type IdInfo MapVec Slice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Node
Type Info - Metadata describing a node type and its I/O port configuration.
- OnNode
Added - OnNode
Added Callback - OnNode
Connected - OnNode
Connected Callback - OnNode
Dragged - OnNode
Dragged Callback - OnNode
Field Edited - OnNode
Field Edited Callback - OnNode
Graph Dragged - OnNode
Graph Dragged Callback - OnNode
Input Disconnected - OnNode
Input Disconnected Callback - OnNode
Output Disconnected - OnNode
Output Disconnected Callback - OnNode
Removed - OnNode
Removed Callback - Output
Connection - An output port’s connections to one or more input ports on other nodes.
- Output
Connection Vec - Output
Connection VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
- Output
Node AndIndex - Reference to a specific output port on a node.
- Output
Node AndIndex Vec - Output
Node AndIndex VecSlice - C-compatible slice type for $struct_name. This is a non-owning view into a Vec’s data.
Enums§
- Input
Connection VecDestructor - Input
Node AndIndex VecDestructor - Input
Output Type IdInfo MapVec Destructor - Input
Output Type IdVec Destructor - Node
Graph Error - Node
Graph Style - Node
IdNode MapVec Destructor - Node
Type Field Value - The value of a node field, determining which widget is rendered.
- Node
Type Field VecDestructor - Node
Type IdInfo MapVec Destructor - Option
Input Connection - Option
Input Node AndIndex - Option
Input Output Type Id - Option
Input Output Type IdInfo Map - Option
Node IdNode Map - Option
Node Type Field - Option
Node Type IdInfo Map - Option
OnNode Added - Option
OnNode Connected - Option
OnNode Dragged - Option
OnNode Field Edited - Option
OnNode Graph Dragged - Option
OnNode Input Disconnected - Option
OnNode Output Disconnected - Option
OnNode Removed - Option
Output Connection - Option
Output Node AndIndex - Output
Connection VecDestructor - Output
Node AndIndex VecDestructor
Type Aliases§
- Input
Connection VecDestructor Type - Input
Node AndIndex VecDestructor Type - Input
Output Type IdInfo MapVec Destructor Type - Input
Output Type IdVec Destructor Type - Node
IdNode MapVec Destructor Type - Node
Type Field VecDestructor Type - Node
Type IdInfo MapVec Destructor Type - OnNode
Added Callback Type - OnNode
Connected Callback Type - OnNode
Dragged Callback Type - OnNode
Field Edited Callback Type - OnNode
Graph Dragged Callback Type - OnNode
Input Disconnected Callback Type - OnNode
Output Disconnected Callback Type - OnNode
Removed Callback Type - Output
Connection VecDestructor Type - Output
Node AndIndex VecDestructor Type