The unique identifier of the node, which is used to reference the node within the diagram and for serialization purposes.
The type of the node, which can be used to determine how the node is rendered and interacted with.
A reference to the diagram that owns this node, which allows the node to access diagram-level information and functionality. This is typically set when the node is added to a diagram but not serialized.
The points that define the geometry of the node, which can be used for rendering and for determining how connections attach to the node.
OptionaltextThe text content of the node, which can be displayed within the node's bounding box.
Optionalstyle_The optional class name of the node, which can be used to apply specific styles or behaviors to the node based on its class.
OptionaltextThe text style properties of the node, which can be used to control the appearance of the node's text, including font, size, color, alignment, and baseline.
Optionalimage_The ID of the image source stored in the diagram-level image_assets dictionary.
Optionalimage_The mode for rendering the image within the node, which can be:
Optionalimage_The padding in pixels between the image and the node's borders, used when mode is 'contain'.
Optionalimage_Alignment of the image within the node, used when mode is 'contain'.
OptionalreadyIndicates whether the node is ready to be rendered, which can be used to control the creation process and ensure that all necessary information is available before finalizing creation.
OptionallockedIndicates whether the node is locked, which can be used to prevent any modifications to the node's properties or geometry.
Optionallocked_Indicates whether the node's aspect ratio is locked, which can be used to maintain the original proportions of the node when resizing.
OptionalhollowIndicates whether the whole area of the node is selectable or only its border.
OptionalinvisibleIndicates whether the node is invisible, which can be used to control the rendering style of the node.
OptionalstrokeThe stroke style of the node, which can be used to control the color and pattern of the node's border.
OptionalfillThe fill style of the node, which can be used to control the color and pattern of the node's interior.
OptionalshadowThe shadow style of the node, which can be used to apply a shadow effect to the node.
OptionalopacityThe opacity of the node, from 0 (fully transparent) to 100 (fully opaque). Defaults to 100 when not set.
OptionalangleThe rotation angle of the node, which can be used to rotate the node around its center.
OptionalgeometryAn optional geometry object that can store additional geometric properties of the node, such as width, height, or other custom measurements. This can be used to extend the node's geometry beyond the basic points and provide more detailed control over its shape and size. The geometry object is a key-value map where keys are property names and values can be numbers, strings, or booleans. This allows for flexible storage of various geometric attributes that may be relevant to the node's rendering or interaction.
OptionalspecificAn optional specific object that can store additional properties specific to the node's type, allowing for customization and extension of the node's functionality but not related to its geometry.
OptionalmetaAn optional metadata object for the node, which can be used to store additional information about the node. This can include custom properties, annotations, or any other relevant data that is not related to the node's appearance.
INode defines the properties of a node in the diagram, including its ID, type, geometry (points), text properties, styling options, and its relationship to the diagram it belongs to. Nodes are the fundamental building blocks of the diagram, representing entities that can be connected and manipulated.