Right-clicking on empty graph area (outside any node or edge) now shows
a context menu with a single 'Create Node' option. Clicking it adds a new
node with a random label and no edges, allowing the user to wire it up
manually afterwards.
- NodeContext gains isEmptyArea flag to distinguish empty-area from node
right-clicks
- Container div contextmenu handler covers the white space below the SVG;
SVG-level handler covers empty space within the rendered graph
- node contextmenu handler calls stopPropagation so the SVG handler never
fires for node clicks; SVG handler also guards via target.closest check
- NodeContextMenu renders emptyAreaItems (Create Node only) vs nodeItems
(Rename / Subgraph / Remove) based on the flag
- randomWordList extracted as a named export so NodeContextMenu can reuse
the same word bank
- Three new Playwright e2e tests cover: empty-area menu shows only Create
Node, created node is orphaned (no new edges), node right-click does not
show Create Node