- Convert to React Flow with one persistent instance and edge labels
- Reset roving focus when focusPath changes to prevent stale tabIndex
- Export NODE_WIDTH/NODE_HEIGHT from layout module to prevent drift
- Change kindLabel to Record<FigureNodeKind, string> for compile safety
- Remove redundant role='button' from native button element
- Remove all unsafe non-null assertions in storyboard-navigation