toggle method
Toggle expansion state (same as ElkNode).
Moves children between children and hiddenChildren.
Also clears any partial expansion state on this node and descendants.
Implementation
void toggle() {
if (isExpandable) {
// Expand: move hidden children to visible
children = hiddenChildren!;
hiddenChildren = null;
} else if (isExpanded) {
// Collapse: move visible children to hidden
clearDescendantMarks(children);
hiddenChildren = children;
children = [];
}
// Clear partial expansion on any full toggle
partialChildIds = null;
partialHyperedgeIds = null;
}