The source column packs ~68 feeds ~8px apart while each hit-target is 28px
wide, so the whole column is one continuous blur — you cannot aim one node,
and labels overlap unreadably. The loupe fixes it: hovering a dense column
unfolds a magnified strip of the ~9 nearest feeds, comfortably spaced and
fully labelled with live values, the one under the cursor highlighted. Each
row is a live hit target (click=mute, shift=tab, cmd=group, drag=patch);
the panel holds still while you reach across it. Right-click sky -> hover
zoom to toggle (localStorage gs_loupe).
Verified: activation on hover, correct render + position, hit-test lands the
right node, shift-clicking a magnified row opens that source's tab. Two bugs
found & fixed during review: the panel's activation band excluded the panel
itself (vanished as you reached for it -> panel-hold), and column identity was
by object reference which goes stale when doLayout rebuilds columnInfo (wrong
side/position -> track by stable "src"/"dst" side key). drawLoupe wrapped so a
draw error can never kill the render loop.
Also verified this session (no code change needed): drag source->voice creates
a cable; cmd-click multi-selects for grouping.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>