Consolidated from the last 4 viz plans. User reports post-refactor regressions: slow graph load, outdated legends, high CPU when tab focused even idle, most prior issues unfixed. Triage one-by-one with user (mark each: OK / MISSING / PARTIAL)…
Connections
wiki_crossref7
memory_wiki4
Node ID
wiki:6782
B′ — Entity node (no heat · relation connections)
Entitygalaxy-view.js
Type
file
Label
galaxy-view.js
Tags
entityfileyadgar
Connections
imports6
calls18
co_occurrence4
resolved_by1
Node ID
entity:galaxy-view.js
Behavior notes for builder
Anchor-to-node:graph.graphToScreenCoords(node) → {x,y}.
Popup positioned at (x+16, y+16) clamped to
viewport.width − popup.width − 8 and
viewport.height − popup.height − 8.
Click-away close: two approaches — (a) semi-transparent backdrop
#popup-backdrop with pointer-events:all behind the popup,
onclick closes; (b) document.addEventListener('mousedown', outsideClickHandler)
that checks !popup.contains(e.target). Approach (b) has no dim effect.
Toggle above demos approach (a).
Close button (×): always present; top-right of header.
ESC key:document.addEventListener('keydown', e => { if (e.key==='Escape') closePopup(); }).
Clicked node halo: pulsing ring .faux-node--active::after
stays on the node while popup is open; removed on close.
Wiki content: async fetch after popup renders — placeholder "Loading…"
swapped on resolve (see graph-detail.js _fetchWikiContent).
Wide wiki mode: add class node-popup--wide (500px) for
wiki nodes, or auto-detect on click. Toggle above demos the switch.
OLD sidebar:document.getElementById('right').classList.remove('open')
before opening the popup — suppress the phosphor-green panel entirely in galaxy mode
(body.galaxy-active already hides .floating-overlay; #right needs separate handling).