Node

PropertyDefaultMeaning
id—Nonempty identifier used by edges, as on any other element
pos[0, 0]Position in the parent coordinate system
anchor"center"Point of the allocated node placed at pos
widthContent-sizedMeasure the label; a length sets a wrapping width
children—Text, inline content, or one existing layout element
paddingem(0.6)Space between the label and inside border
border-widthpx(1)Border thickness inside the frame
border-radiusem(0.3)Corner radius, including Box side/corner forms
align"center"Align the label within the frame
text-justify"start"start, center, end, or a fraction from 0 to 1 for lines inside a generated label
backgroundnoneFrame background paint
clipfalseClip content inside the frame's border

A compact TextFrame with a centered placement anchor: the conventional labeled node. Any element with an id can be a node, so Node adds convenient defaults rather than a special capability. Other frame and style options follow Box. Text retains its font size and reflows when given an explicit width. Existing element children, including math and text stacks, keep their ordinary layout behavior. text-* props configure the generated Text label through prefix piping: text-justify sets justify, and text-font-size sets font-size.

The id is optional for a standalone node, and required to reference it from an Edge. IDs must be unique within the enclosing Network. In Network, pos contains Cartesian data coordinates; in Group it contains local lengths. When wrapping a Node in Rotate or another container, put pos and anchor on the wrapper to position the whole result.

Connections meet the outer frame, including padding and the inside border. Label ink and the inner content rectangle do not determine attachment points. Rounded corners use the same radii for drawing and attachment. A frame with border-radius={[0.5, 0.5]} has an elliptical outline.