index
Other
getNodeCatalog()
function getNodeCatalog(document?, registry?): MaterialXNodeSpec[];
Parameters
| Parameter | Type |
|---|---|
document? | MaterialXDocument |
registry? | MaterialXNodeSpec[] |
Returns
Point
Persisted node coordinates; default placement belongs to the viewer.
Properties
| Property | Type |
|---|---|
x | number |
y | number |
GraphConnection
Extended by
Properties
| Property | Type |
|---|---|
source | string |
sourceHandle | string |
target | string |
targetHandle | string |
GraphEdge
Extends
Properties
| Property | Type | Inherited from |
|---|---|---|
source | string | GraphConnection.source |
sourceHandle | string | GraphConnection.sourceHandle |
target | string | GraphConnection.target |
targetHandle | string | GraphConnection.targetHandle |
id | string | - |
graphScopes()
function graphScopes(document): string[];
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
Returns
string[]
addNode()
function addNode(
document,
spec,
position?,
scope?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
spec | MaterialXNodeSpec |
position? | Point |
scope? | string |
Returns
cloneNode()
function cloneNode(
document,
id,
position?,
scope?
): MaterialXDocument;
Copy a node's values and incoming connections, leaving downstream connections unchanged.
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
id | string |
position? | Point |
scope? | string |
Returns
setInputValue()
function setInputValue(
document,
node,
input,
value,
scope?,
catalog?,
valueType?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
node | string |
input | string |
value | string |
scope? | string |
catalog? | MaterialXNodeSpec[] |
valueType? | string |
Returns
resetInput()
function resetInput(
document,
node,
input,
scope?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
node | string |
input | string |
scope? | string |
Returns
connectionError()
function connectionError(
document,
connection,
scope?,
catalog?
): string | undefined;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
connection | GraphConnection |
scope? | string |
catalog? | MaterialXNodeSpec[] |
Returns
string | undefined
connectNodes()
function connectNodes(
document,
connection,
scope?,
catalog?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
connection | GraphConnection |
scope? | string |
catalog? | MaterialXNodeSpec[] |
Returns
disconnectInput()
function disconnectInput(
document,
target,
input,
scope?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
target | string |
input | string |
scope? | string |
Returns
removeNodes()
function removeNodes(
document,
ids,
scope?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
ids | string[] |
scope? | string |
Returns
moveNodes()
function moveNodes(
document,
positions,
scope?
): MaterialXDocument;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
positions | Record<string, Point> |
scope? | string |
Returns
renameNode()
function renameNode(
document,
id,
name,
scope?
): MaterialXDocument;
Rename a node and every reference to it: sibling wires, interface names, nested graph paths, and material assignments.
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
id | string |
name | string |
scope? | string |
Returns
nodeType
const nodeType: (spec) => string | undefined;
Parameters
| Parameter | Type |
|---|---|
spec | MaterialXNodeSpec |
Returns
string | undefined
findNodeSpec()
function findNodeSpec(element, catalog): MaterialXNodeSpec | undefined;
Parameters
| Parameter | Type |
|---|---|
element | MaterialXElement |
catalog | MaterialXNodeSpec[] |
Returns
MaterialXNodeSpec | undefined
InputValue
type InputValue = string | number | boolean | readonly number[];
OutputRef
Properties
| Property | Type |
|---|---|
node | string |
output | string |
InputRef
Properties
| Property | Type |
|---|---|
node | string |
input | string |
EditorDiagnostic
Properties
| Property | Modifier | Type |
|---|---|---|
code | readonly | string |
message | readonly | string |
scope? | readonly | string |
node? | readonly | string |
input? | readonly | string |
EditorError
Extends
Error
Constructors
Constructor
new EditorError(diagnostic): EditorError;
Parameters
| Parameter | Type |
|---|---|
diagnostic | EditorDiagnostic |
Returns
Overrides
Error.constructor
Properties
code
readonly code: string;
scope?
readonly scope?: string;
node?
readonly node?: string;
input?
readonly input?: string;
EditorSnapshot
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
document | readonly | ReadonlyMaterialXDocument | - |
canUndo | readonly | boolean | - |
canRedo | readonly | boolean | - |
dirty | readonly | boolean | Whether the document differs from the one last loaded or marked clean. |
undoLabel? | readonly | string | - |
redoLabel? | readonly | string | - |
scope | readonly | string | View state shared by every surface (canvas, toolbar, inspector); never part of undo history. |
selection | readonly | readonly string[] | Selected node ids in the current scope, in selection order. Ids of removed nodes drop out. |
error? | readonly | string | Message from the last failed command, until the next command succeeds or clears it. |
EditorSessionOptions
Properties
| Property | Type | Description |
|---|---|---|
document | ReadonlyMaterialXDocument | - |
catalog? | readonly DeepReadonly<MaterialXNodeSpec>[] | A complete catalog; otherwise derive it from the document and standard registry. |
historyLimit? | number | - |
EditorSession
Headless editing state. Only successful commits publish immutable snapshots.
Constructors
Constructor
new EditorSession(options): EditorSession;
Parameters
| Parameter | Type |
|---|---|
options | EditorSessionOptions |
Returns
Methods
getCatalog()
getCatalog(): readonly DeepReadonly<MaterialXNodeSpec>[];
Returns
readonly DeepReadonly<MaterialXNodeSpec>[]
markClean()
markClean(): void;
Treat the current document as saved; dirty clears until the next edit.
Returns
void
transaction()
transaction<T>(label, operation): T;
Synchronous transactions support nested savepoints; an uncaught error rolls back the enclosing transaction.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
label | string |
operation | () => T extends PromiseLike<unknown> ? never : T |
Returns
T
replaceDocument()
replaceDocument(document): void;
Loading a document accepts existing diagnostics and clears undo/redo. Input ownership stays with the caller.
Parameters
| Parameter | Type |
|---|---|
document | ReadonlyMaterialXDocument |
Returns
void
getDiagnostics()
getDiagnostics(): readonly EditorDiagnostic[];
Returns
readonly EditorDiagnostic[]
listScopes()
listScopes(): readonly string[];
Returns
readonly string[]
graph()
graph(scope?): Readonly<{
scope: string;
listNodes: () => DeepReadonly<GraphNode[]>;
getNode: (id) => DeepReadonly<GraphNode>;
getInputs: (id) => DeepReadonly<GraphNode["inputs"]>;
getOutputs: (id) => DeepReadonly<GraphNode["outputs"]>;
getConnection: (target) => Readonly<OutputRef> | undefined;
addNode: ({ definition }) => string;
cloneNode: (id) => string;
pasteNodes: (elements, offset?) => string[];
removeNodes: (ids) => void;
groupNodes: (ids) => string;
renameNode: (id, name) => void;
setInterfacePort: (id, changes) => void;
setInputValue: (id, input, value, options?) => void;
resetInput: (id, input) => void;
disconnectInput: (id, input) => void;
checkConnection: (source, target) => EditorDiagnostic | undefined;
connect: (source, target) => void;
}>;
Graph handles resolve against current state, so they remain useful across commits and undo.
Parameters
| Parameter | Type |
|---|---|
scope? | string |
Returns
Readonly<{
scope: string;
listNodes: () => DeepReadonly<GraphNode[]>;
getNode: (id) => DeepReadonly<GraphNode>;
getInputs: (id) => DeepReadonly<GraphNode["inputs"]>;
getOutputs: (id) => DeepReadonly<GraphNode["outputs"]>;
getConnection: (target) => Readonly<OutputRef> | undefined;
addNode: ({ definition }) => string;
cloneNode: (id) => string;
pasteNodes: (elements, offset?) => string[];
removeNodes: (ids) => void;
groupNodes: (ids) => string;
renameNode: (id, name) => void;
setInterfacePort: (id, changes) => void;
setInputValue: (id, input, value, options?) => void;
resetInput: (id, input) => void;
disconnectInput: (id, input) => void;
checkConnection: (source, target) => EditorDiagnostic | undefined;
connect: (source, target) => void;
}>
Properties
getDocument
getDocument: () => ReadonlyMaterialXDocument;
Reads inside a transaction see its working snapshot. Subscribers see getSnapshot().
Returns
getSnapshot
getSnapshot: () => EditorSnapshot;
Returns
toXml
toXml: () => string;
Returns
string
subscribe
subscribe: (listener) => () => void;
Parameters
| Parameter | Type |
|---|---|
listener | () => void |
Returns
() => void
setScope
setScope: (scope) => void;
Show the given scope; selection belongs to a scope, so it clears.
Parameters
| Parameter | Type |
|---|---|
scope | string |
Returns
void
select
select: (ids) => void;
Parameters
| Parameter | Type |
|---|---|
ids | readonly string[] |
Returns
void
setError
setError: (message?) => void;
Record a failed command for whichever surface shows errors; no argument clears it.
Parameters
| Parameter | Type |
|---|---|
message? | string |
Returns
void
undo
undo: () => void;
Returns
void
redo
redo: () => void;
Returns
void
layout
readonly layout: object;
Positions remain a separate view operation, but share atomic commits and undo history.
moveNodes
moveNodes: (positions, scope?) => void;
Parameters
| Parameter | Type |
|---|---|
positions | Readonly<Record<string, Point>> |
scope? | string |
Returns
void
EditorGraph
type EditorGraph = ReturnType<EditorSession["graph"]>;
createEditorSession
const createEditorSession: (options) => EditorSession;
Parameters
| Parameter | Type |
|---|---|
options | EditorSessionOptions |
Returns
resolveTypes()
function resolveTypes(document, catalog?): TypeResolution;
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
catalog? | MaterialXNodeSpec[] |
Returns
TypeResolution
materializeDocument()
function materializeDocument(document, catalog?): MaterialXDocument;
Resolve a copy for consumers of concrete MaterialX. Never author defaults or pin inferred types.
Parameters
| Parameter | Type |
|---|---|
document | MaterialXDocument |
catalog? | MaterialXNodeSpec[] |
Returns
DeepReadonly
type DeepReadonly<T> = { readonly [K in keyof T]: DeepReadonly<T[K]> };
A recursively read-only view, suitable for immutable editor snapshots.
Type Parameters
| Type Parameter |
|---|
T |
ReadonlyMaterialXDocument
type ReadonlyMaterialXDocument = DeepReadonly<MaterialXDocument>;
MaterialXElement
Properties
| Property | Type |
|---|---|
name | string |
attributes | Record<string, string> |
text? | string |
children | MaterialXElement[] |
MaterialXNodePortSpec
Properties
GraphToolbar()
function GraphToolbar(__namedParameters): Element;
Icon toolbar for the session's commands; in view mode only the canvas commands remain. Floats bottom-center of its parent by default.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | { session: EditorSession; editable?: boolean; entries?: readonly CommandEntry[]; className?: string; } |
__namedParameters.session | EditorSession |
__namedParameters.editable? | boolean |
__namedParameters.entries? | readonly CommandEntry[] |
__namedParameters.className? | string |
Returns
Element
MaterialXGraphView()
function MaterialXGraphView(__namedParameters): Element;
Read-only inspection of a MaterialX file or archive, independent of 3D rendering.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | { data?: ArrayBuffer; fileName?: string; } |
__namedParameters.data? | ArrayBuffer |
__namedParameters.fileName? | string |
Returns
Element
MATERIALX_CLIPBOARD_TYPE
Re-exports MATERIALX_CLIPBOARD_TYPE
MaterialXNodeGraphProps
Properties
| Property | Type | Description |
|---|---|---|
session | EditorSession | Shared editing state; create it with createEditorSession from mtlx-core/session. |
fileName? | string | Material file name or path, shown at the root of the breadcrumbs. |
mode? | EditorMode | - |
scope? | string | Controls the session's scope; without it the session owns navigation. |
onScopeChange? | (scope) => void | - |
className? | string | - |
colorMode? | ColorMode | React Flow chrome (controls, background) follows this; the editor's own colors follow CSS tokens. |
children? | ReactNode | Rendered over the canvas, for example a material preview. |
MaterialXNodeGraph()
function MaterialXNodeGraph(props): Element;
Renders and edits one scope of the session's document; the ReactFlowProvider is created internally.
Parameters
| Parameter | Type |
|---|---|
props | MaterialXNodeGraphProps |
Returns
Element
MATERIALX_NODE_MIME
const MATERIALX_NODE_MIME: "application/x-materialx-nodedef" = 'application/x-materialx-nodedef';
MaterialXNodeListProps
Properties
| Property | Type |
|---|---|
nodes | MaterialXNodeSpec[] |
disabled? | boolean |
onAdd? | (node) => void |
MaterialXNodeList()
function MaterialXNodeList(__namedParameters): Element;
Shared by the category column and search results; buttons also support keyboard insertion.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | MaterialXNodeListProps |
Returns
Element
MaterialXNodeLibProps
Properties
| Property | Type |
|---|---|
catalog? | MaterialXNodeSpec[] |
disabled? | boolean |
onAdd? | (node) => void |
className? | string |
MaterialXNodeLib()
function MaterialXNodeLib(__namedParameters): Element;
Parameters
| Parameter | Type |
|---|---|
__namedParameters | MaterialXNodeLibProps |
Returns
Element
NodeNameField()
function NodeNameField(__namedParameters): Element;
The node's name as an inline field: Enter or blur renames, Escape reverts.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | { name: string; onRename: (name) => void; } |
__namedParameters.name | string |
__namedParameters.onRename | (name) => void |
Returns
Element
NodeParameterEditorProps
Properties
| Property | Type | Description |
|---|---|---|
session | EditorSession | - |
editable? | boolean | - |
resources? | ParameterResources | Package files offered by filename inputs, and an optional upload hook. |
className? | string | - |
placeholder? | string | Shown in place of the panel when no single node is selected; without it the panel unmounts. |
NodeParameterEditor()
function NodeParameterEditor(__namedParameters): Element | null;
The selected node's typed parameter editors, connections and reset actions. Follows the session's selection.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | NodeParameterEditorProps |
Returns
Element | null
QuickAddMenuProps
Properties
| Property | Type | Description |
|---|---|---|
catalog | MaterialXNodeSpec[] | - |
at | object | Position inside the canvas element. |
at.x | number | - |
at.y | number | - |
accept? | (spec) => boolean | Narrows the offered definitions, for example to those accepting a dragged wire. |
placeholder? | string | - |
onAdd | (spec) => void | - |
onClose | () => void | - |
QuickAddMenu()
function QuickAddMenu(__namedParameters): Element;
Searchable, category-browsable node insertion at the cursor. Enter adds or drills in, Escape closes.
Parameters
| Parameter | Type |
|---|---|
__namedParameters | QuickAddMenuProps |
Returns
Element
visibleInputs()
function visibleInputs(node): MaterialXNodePortSpec[];
Inputs shown on a collapsed node body: connected or authored ones.
Parameters
| Parameter | Type |
|---|---|
node | Pick<GraphNode, "element" | "inputs"> |
Returns
autoLayout()
function autoLayout(nodes, edges): Record<string, Point>;
Layered left-to-right placement by data flow. Sources sit in the first column, sinks in the last.
Parameters
| Parameter | Type |
|---|---|
nodes | Pick<GraphNode, "element" | "inputs" | "id" | "outputs">[] |
edges | GraphEdge[] |
Returns
Record<string, Point>
WireTarget
type WireTarget = object;
A right-clicked port, or the input end of a right-clicked wire.
Properties
node
node: string;
side
side: "output" | "input";
name
name: string;
CommandContext
Everything a command may read or act on. Surfaces build it from the session; menus add where they opened.
Properties
| Property | Type | Description |
|---|---|---|
session | EditorSession | - |
snapshot | EditorSnapshot | - |
projection | GraphProjection | - |
editable | boolean | - |
targets | readonly string[] | Nodes the command applies to: the selection, or the right-clicked node. |
at? | Point | Canvas point to paste or add at; without one, pasted nodes are nudged from the originals. |
client? | Point | Screen point the command was invoked from, for menus that open at the pointer. |
wire? | WireTarget | - |
openQuickAdd? | (client) => void | - |
canvas? | CanvasActions | The mounted canvas for this session, when one is showing it. |
CanvasActions
What a canvas offers commands that live outside it, such as the floating toolbar.
Properties
| Property | Type | Description |
|---|---|---|
addNode | () => void | - |
fitView | (nodeIds?) => void | Frames the given nodes, or everything when none are given. |
zoomIn | () => void | - |
zoomOut | () => void | - |
registerCanvas()
function registerCanvas(session, actions): () => void;
A canvas announces itself while mounted; the returned function withdraws it.
Parameters
| Parameter | Type |
|---|---|
session | EditorSession |
actions | CanvasActions |
Returns
() => void
CommandState
Properties
| Property | Type | Description |
|---|---|---|
visible | boolean | - |
enabled | boolean | - |
title | string | Menu text and tooltip; defaults to the command's label. |
Command
A stateless action; state decides how a menu or toolbar shows it and run performs it.
Properties
| Property | Type | Description |
|---|---|---|
id | string | - |
label | string | - |
icon? | LucideIcon | - |
shortcuts? | readonly string[] | mod is Cmd on macOS and Ctrl elsewhere, for example mod+shift+z. |
variant? | "destructive" | - |
state? | (context) => Partial<CommandState> | - |
run | (context) => unknown | - |
CommandEntry
type CommandEntry = Command | "divider";
ResolvedCommand
type ResolvedCommand = Command & CommandState;
resolveCommands()
function resolveCommands(entries, context): ("divider" | ResolvedCommand)[];
Visible commands in order, with at most one divider between neighbours and none at the ends.
Parameters
| Parameter | Type |
|---|---|
entries | readonly CommandEntry[] |
context | CommandContext |
Returns
("divider" | ResolvedCommand)[]
attempt()
function attempt(session, operation): Promise<void> | undefined;
Run an edit and report its outcome on the session, so any surface can show the failure.
Parameters
| Parameter | Type |
|---|---|
session | EditorSession |
operation | () => unknown |
Returns
Promise<void> | undefined
execute()
function execute(command, context): Promise<void> | undefined;
Parameters
| Parameter | Type |
|---|---|
command | Command |
context | CommandContext |
Returns
Promise<void> | undefined
TOOLBAR_COMMANDS
const TOOLBAR_COMMANDS: readonly CommandEntry[];
CONTEXT_MENU_COMMANDS
const CONTEXT_MENU_COMMANDS: readonly CommandEntry[];
SHORTCUT_COMMANDS
const SHORTCUT_COMMANDS: readonly Command[];
useCommandContext()
function useCommandContext(session, options?): CommandContext;
The session's current graph as a command context. Each surface memoizes its own projection.
Parameters
| Parameter | Type |
|---|---|
session | EditorSession |
options? | { editable?: boolean; } |
options.editable? | boolean |
Returns
useCommandShortcuts()
function useCommandShortcuts(session, options?): void;
Window-level shortcuts for the session's commands, outside text fields. Mount once per page.
Parameters
| Parameter | Type |
|---|---|
session | EditorSession |
options? | { editable?: boolean; commands?: readonly Command[]; } |
options.editable? | boolean |
options.commands? | readonly Command[] |
Returns
void
EditorMode
Re-exports EditorMode
GraphNode
Re-exports GraphNode
projectGraph
Re-exports projectGraph
previewXml
Re-exports previewXml
createDefaultDocument
Re-exports createDefaultDocument
importMaterial
Re-exports importMaterial
exportMaterial
Re-exports exportMaterial
NodeDefinition
type NodeDefinition = MaterialXNodeSpec & object;
A definition the editor can instantiate: core's structural placeholders have no nodedef.
Type Declaration
| Name | Type |
|---|---|
nodeDefName | string |
isNodeDefinition()
function isNodeDefinition(spec): spec is NodeDefinition;
Parameters
| Parameter | Type |
|---|---|
spec | MaterialXNodeSpec |
Returns
spec is NodeDefinition
getNodeFamilies()
function getNodeFamilies(catalog): NodeFamily[];
Supply menu labels for the shared semantic node families.
Parameters
| Parameter | Type |
|---|---|
catalog | MaterialXNodeSpec[] |
Returns
NodeFamily[]
ParameterEditorProps
Properties
| Property | Type | Description |
|---|---|---|
parameter | MaterialXNodePortSpec | - |
value | string | - |
ariaLabel | string | - |
disabled? | boolean | - |
onChange | (value, options?) => void | merge identifies one continuous gesture (a drag, a typing session) so its changes share an undo entry. |
onReset? | () => void | - |
ParameterEditor
type ParameterEditor = ComponentType<ParameterEditorProps>;
Implementations own their layout and use ParameterLabel for consistent labels.
ParameterLabel()
function ParameterLabel(__namedParameters): Element;
Parameters
| Parameter | Type |
|---|---|
__namedParameters | { parameter: MaterialXNodePortSpec; htmlFor: string; } |
__namedParameters.parameter | MaterialXNodePortSpec |
__namedParameters.htmlFor | string |
Returns
Element
parseParameterNumber()
function parseParameterNumber(value, integer?): number | undefined;
Parameters
| Parameter | Type | Default value |
|---|---|---|
value | string | undefined |
integer? | boolean | false |
Returns
number | undefined
FloatParameterEditor
const FloatParameterEditor: ParameterEditor;
IntegerParameterEditor
const IntegerParameterEditor: ParameterEditor;
Vec2ParameterEditor
const Vec2ParameterEditor: ParameterEditor;
Vec3ParameterEditor
const Vec3ParameterEditor: ParameterEditor;
Vec4ParameterEditor
const Vec4ParameterEditor: ParameterEditor;
MatrixParameterEditor
const MatrixParameterEditor: ParameterEditor;
ColorParameterEditor
const ColorParameterEditor: ParameterEditor;
BooleanParameterEditor
const BooleanParameterEditor: ParameterEditor;
EnumParameterEditor
const EnumParameterEditor: ParameterEditor;
TextParameterEditor
const TextParameterEditor: ParameterEditor;
ReadOnlyParameterEditor
const ReadOnlyParameterEditor: ParameterEditor;
ParameterResources
Properties
ParameterResourcesContext
const ParameterResourcesContext: Context<ParameterResources>;
FilenameParameterEditor
const FilenameParameterEditor: ParameterEditor;
Filename inputs complete against package resources and accept uploads through the host.
parameterEditors
const parameterEditors: Readonly<Record<string, ParameterEditor>>;
getParameterEditor()
function getParameterEditor(parameter): ParameterEditor;
Parameters
| Parameter | Type |
|---|---|
parameter | MaterialXNodePortSpec |
Returns
ConnectedParameterEditorProps
type ConnectedParameterEditorProps = ParameterEditorProps & object;
Type Declaration
| Name | Type |
|---|---|
source | string |
onDisconnect() | () => void |
ConnectedParameterEditor()
function ConnectedParameterEditor(props): Element;
Parameters
| Parameter | Type |
|---|---|
props | ConnectedParameterEditorProps |
Returns
Element
GeometryParameterEditor
const GeometryParameterEditor: ParameterEditor;
An implicit geometry input, before a literal or connection overrides it.
useEditorSession()
function useEditorSession(session): EditorSnapshot;
Subscribe to committed document and history changes with stable snapshot identities.
Parameters
| Parameter | Type |
|---|---|
session | EditorSession |
Returns
Parsing
MaterialXDocument
The in-memory form of a .mtlx file, mirroring its XML structure.
nodes and nodeGraphs are derived read-only snapshots; elements is the canonical tree that
serializeMaterialX writes back out.
Properties
| Property | Modifier | Type |
|---|---|---|
attributes | public | Record<string, string> |
nodes | readonly | readonly MaterialXNode[] |
nodeGraphs | readonly | readonly MaterialXNodeGraph[] |
elements | public | MaterialXElement[] |
Validation
MaterialXNodeSpec
A node definition entry in the materialXNodeRegistry.
Properties
| Property | Type |
|---|---|
category | string |
nodeDefName? | string |
type? | string |
nodeGroup? | string |
attributes? | Readonly<Record<string, string>> |
inputs | MaterialXNodePortSpec[] |
outputs | MaterialXNodePortSpec[] |
parameters | MaterialXNodePortSpec[] |