From ed13d1ca215ea094b4d6beab89b90ab4c05ed396 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Tue, 22 Sep 2026 14:59:11 -0700 Subject: Tidy up scope display --- graph/web/viewer.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'graph/web/viewer.js') diff --git a/graph/web/viewer.js b/graph/web/viewer.js index c36c369c..63ee195e 100644 --- a/graph/web/viewer.js +++ b/graph/web/viewer.js @@ -81,11 +81,17 @@ async function render(index) { const frame = frames[index]; busy = !frame.layout ? "Laying out frame " + (index + 1) + "..." : "Drawing..."; updateUI(); - if (frame.pos >= 0) program.setSelectionRange(frame.pos, frame.pos + 1); try { if (!layout) layout = new GraphLayout(); - if (!frame.layout) frame.layout = await layout.run(frame.snap); - if (generation === frameGeneration) renderer.show(frame.snap, frame.layout, frame.evt); + if (!frame.layout) frame.layout = await layout.run(frame.snap, frame.evt); + if (generation === frameGeneration) { + renderer.show(frame.snap, frame.layout, frame.evt); + if (frame.pos >= 0) { + // Stepping focuses a button; focus the source so its selection is visible. + program.focus({preventScroll: true}); + program.setSelectionRange(frame.pos, frame.pos + 1); + } + } rendering = false; busy = ""; if (generation === frameGeneration) current = index; -- cgit v1.2.3