The node's clusters, outermost first — empty for a node of the root graph.
The node the canvas actually draws for this one: itself when every cluster above it is expanded, otherwise the outermost collapsed cluster — the box hiding it.
This answers "which dot on screen stands for this node", not "is it visible": an
expanded cluster renders a separate subgraph built from toDict() data, so a
nested node is never drawn by this graph even when its cluster is open.
Every node below this one, depth first.
The node's rectangular border grown by outset, or undefined when the
node is anchored as a circle.
Distance from the node's centre to its border along the unit direction
(dirX, dirY), grown by outset — where an edge leaving in that direction
should start. Rectangular for a measured node, the circle radius otherwise.
Deliberately free of style resolution: this runs for both ends of every
edge on every tick.
Get the node's data.
The potential declared for one pivot, or — with no argument — the total declared
for no particular pivot. undefined when none was.
Every declared potential on this node, keyed by pivot id.
The sources vouching for this node — pivot ids, plus 'seed' for data that
was here to begin with. A node can be vouched for by several pivots at once,
and graph.removeBySource deletes it only when the last one goes.
Get the node's data.
Whether source vouches for this node. 'seed' is true for un-pivoted data.
Drop one child, and its own subtree with it. Returns the removed child so the caller can clean up after its descendants.
Declare that the node's border is the centred width×height rectangle it
actually renders as, so edges stop on it instead of on the bounding circle.
Call it after setCircleRadius, which clears it.
Set the node's circle radius. Also drops any measured rectangular border: the radius is the coarser fact, so every caller that resizes a node keeps anchoring correct by default, and only the drawers that know the rendered shape opt back in through setBorderBox.
Declare how much more there is for this node, without asking for any of it —
what the rim badge shows. 0 clears the declaration.
With a pivot id it is that pivot's number, and its badge opens that pivot. With
a count alone it is the total across everything, which is the number the
'summary' rim badge prefers — the one to declare when there are more providers
than a rim could ever name.
Marks the node dirty like every other setter here, so the badge appears on the
next render — call graph.renderer.update() if nothing else is about to.
node.setPotential('correlations', 2143) // this provider has this much
node.setPotential(2199) // everything has this much
Declare how much more there is for this node, without asking for any of it —
what the rim badge shows. 0 clears the declaration.
With a pivot id it is that pivot's number, and its badge opens that pivot. With
a count alone it is the total across everything, which is the number the
'summary' rim badge prefers — the one to declare when there are more providers
than a rim could ever name.
Marks the node dirty like every other setter here, so the badge appears on the
next render — call graph.renderer.update() if nothing else is about to.
node.setPotential('correlations', 2143) // this provider has this much
node.setPotential(2199) // everything has this much
Convert node to a simple JSON object representation.
default: false
Optionalexpanded: booleanStructured-cloneable payload for the simulation worker (no live parent/children/_subgraph
refs, unlike clone()). The style is stripped of functions: every resolvable channel may
hold one, and no force reads them, so sending them only risks a DataCloneError.
Merge children in by id: new ones are added, matching ones are left
untouched — their own children merged in turn — and none are ever removed. The
union is how a pivot re-discovering a container adds what it found without
disturbing what is already there.
every node newly added, at any depth, so the caller can register and tag them.
Merge partial data into the current node data. Useful for updating only parts of the data.
Partial data object to merge
Merge partial data into the current node data. Useful for updating only parts of the data.
Partial data object to merge
ReadonlydomOptionalexpandedOptionalfrozenOptionalfxOptionalfyReadonlyidTrue if this node is a child within a collapsed cluster
True if this node has child nodes
OptionalparentReference to the parent cluster node (if this node is a child)
OptionalvxOptionalvyOptionalweightOptionalxOptionaly
Represents a single node (vertex) in a graph.