Allow additional custom properties
Unique identifier for the node
Display name for the node
OptionaltypeNode type for styling and grouping
OptionalshapeVisual shape of the node (built-in: 'circle', 'rectangle', 'square', 'triangle'; custom shapes via registerShape())
OptionalsizeSize of the node in pixels
Base node data structure that all nodes must implement