MindMapState
The reducer owns nodes, cross-links, selected node ids, selected edge id, undo history, redo future, active theme, density, and cut/paste clipboard state.
type MindMapState = {
nodes: NodeMap
edges: MapEdge[]
selectedNodeIds: Set<string>
selectedEdgeId: string | null
history: MindMapHistorySnapshot[]
future: MindMapHistorySnapshot[]
}