From 056c83d523ddb1c5d5b643ae83b94a793f5fde4a Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 31 Oct 2026 22:56:52 +0100 Subject: dashboard: settle dynamic layout at once --- src/api/dashboard/dashboard.html | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/api/dashboard') diff --git a/src/api/dashboard/dashboard.html b/src/api/dashboard/dashboard.html index 1b4c2ba..3e11524 100644 --- a/src/api/dashboard/dashboard.html +++ b/src/api/dashboard/dashboard.html @@ -675,8 +675,18 @@ function renderGraph() { if (!nodes.includes(id)) { positions.delete(id); pinned.delete(id); } } const fresh = new Set(nodes.filter(id => !positions.has(id))); - if (relayout) layout(nodes, pairs, width, height); - else if (fresh.size > 0) layout(nodes, pairs, width, height, fresh); + if (relayout) { + layout(nodes, pairs, width, height); + // Dynamic: settled at once, not moving into place before one's eyes. + if (byRtt) { + for (let round = 0; round < 3000; round++) { + if (relax(nodes, pairs, width, height, .15, 2) <= .1) break; + } + lastLengths = pairs.map(pair => pair.join(" ")).join(","); + } + } else if (fresh.size > 0) { + layout(nodes, pairs, width, height, fresh); + } relayout = false; lastShape = shape; } -- cgit v1.3.1