Repository navigation
v0.9.3
Canvas interaction and accessibility fixes from downstream testing.
Fixed
usePanZoom(GraphCanvas,MapCanvas) — wheel or pinch zoom right after a drag-pan now
zooms around the cursor (#306). The pan inertia glide kept writing its own
pan every frame and overwrote the zoom's cursor-anchored pan, so the zoom pivoted around an
unrelated point. Wheel, keyboard,zoomTo,panToandresetnow stop the glide, and wheel
events that arrive within one frame compound instead of all but the last being dropped.usePanZoom(GraphCanvas,MapCanvas) —+/-keyboard zoom now scales about the
view centre instead of the top-left corner (#302). Each press now
multiplies or divides the zoom by 1.2 instead of adding or subtracting 0.1, so it is the same
relative step at any zoom.GraphCanvas—fitViewand the toolbar's zoom-to-fit now frame cluster boundary circles
(showClusterBoundaries) and radial-tree hierarchy rings (showHierarchyRings), not just the
nodes (#305). Radial-tree trunk boundaries were clipped by up to ~176px
after fit, and force-clustered bubbles slightly. The initial fit also waits for the current
layout's positions and boundaries, so it never frames a previous layout's.GraphCanvas— interactive edges andnodePopover/edgePopoverdialogs get their
accessible names from node labels instead of ids, so screen readers no longer announce opaque
ids such as UUIDs (#304). An edge is announced as "monitors: WebSocket
Disconnect Alert to Connection State Gauge", a popover as "Details for " or
"Details for ". Each name falls back to the id when a node has no label.
Added
GraphEdge— optionalsourceLabel/targetLabelprops for the interactive edge's
accessible name, falling back tosourceId/targetId.GraphCanvaspasses them
automatically; pass them yourself when renderingGraphEdgestandalone with opaque ids.