diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-03 09:29:42 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-03 09:29:42 -0700 |
| commit | c3958e34c0de21df52e57e47e4f47ffe6464f138 (patch) | |
| tree | aa9ae69508ed9e6b9a73237922edbe13442a5238 /graph/web/layout.js | |
| parent | 41ae6269689e2b3cde9f7ac4227923d4085dceda (diff) | |
| download | Simple-c3958e34c0de21df52e57e47e4f47ffe6464f138.tar.gz Simple-c3958e34c0de21df52e57e47e4f47ffe6464f138.zip | |
Graph updates; readme updates
Diffstat (limited to 'graph/web/layout.js')
| -rw-r--r-- | graph/web/layout.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/graph/web/layout.js b/graph/web/layout.js index 04d6f338..bd164854 100644 --- a/graph/web/layout.js +++ b/graph/web/layout.js @@ -155,9 +155,10 @@ class GraphLayout { const bundle = e.refs.length > 1; const id = bundle ? `b${use.id}d${e.def}` : "e" + e.orig.use + "i" + e.orig.idx; const reg = byId.get(use.edges[0]?.def)?.n; - const back = !use.fold && e.idx === 2 && (use.kind === "LOOP" || - (use.kind === "PHI" && reg?.kind === "LOOP")); - const loop = back ? (use.kind === "LOOP" ? use.id : reg.id) : 0; + // Focused documentation can omit the Loop but retain its backedge cue. + const back = !use.fold && (e.backedge === true || (e.idx === 2 && + (use.kind === "LOOP" || (use.kind === "PHI" && reg?.kind === "LOOP")))); + const loop = back ? (use.kind === "LOOP" ? use.id : (reg?.kind === "LOOP" ? reg.id : 0)) : 0; const wrap = loop && view.groups.has(loop) && !raw.get(loop).fold ? loop : 0; if (wrap) backs.set(wrap, (backs.get(wrap) || 0) + 1); edges.push({id, use: use.id, def: e.def, idx: e.orig.idx, orig: e.orig, refs: e.refs, bundle, role: e.role, label: e.label, |
