Skip to content

feat(web): graph node labels — always-on for hubs, distance-faded elsewhere (TASK-1743) - #708

Merged
xarmian merged 1 commit into
mainfrom
feat/graph-node-labels
Jun 6, 2026
Merged

feat(web): graph node labels — always-on for hubs, distance-faded elsewhere (TASK-1743)#708
xarmian merged 1 commit into
mainfrom
feat/graph-node-labels

Conversation

@xarmian

@xarmian xarmian commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Visible issue-ID labels on graph nodes — the "useful beyond visual cool factor" request:

  • Ref-only labels via three-spritetext sprites (lazy chunk, entry bundle untouched), offset above the real sphere radius.
  • Smart visibility: hubs always labeled; selection neighborhood + blocker chain always labeled in focus mode (dimmed nodes hide labels); others distance-fade (full ≤120, gone ≥160).
  • Imperative walk (throttled controls 'change' + repaint lockstep + payload commits) toggles sprite.visible/opacity only — nodeThreeObject set once, never re-assigned, so the BUG-1742 no-flush rule holds.

Context

Implements TASK-1743 under IDEA-1740.

Test plan

  • make check — all green (svelte-check 0 errors)
  • three-spritetext confirmed in a lazy chunk referenced only by the graph route via dynamic import
  • On-device pass post-merge

…ewhere (TASK-1743)

Camera-facing ref labels (three-spritetext, dynamic-imported alongside
the renderer so it stays out of the entry bundle) make the graph
readable without tap/hover. Anti-soup rules: hubs (child_count > 0)
always labeled; in focus mode the selected node + neighborhood +
blocker chain stay labeled while dimmed nodes hide theirs; everything
else fades in between 160 and 120 camera units. The visibility walk
is imperative (throttled orbit-controls 'change' listener + repaint
lockstep + payload commits) and only toggles sprite.visible/opacity —
nodeThreeObject is set once and never re-assigned, preserving the
BUG-1742 no-flush discipline. Label offset clears the actual sphere
radius (4·∛val + pad) so big hub labels don't render inside the node.

Parent: IDEA-1740 (graph follow-ups).
@xarmian
xarmian merged commit 0234239 into main Jun 6, 2026
3 of 4 checks passed
@xarmian
xarmian deleted the feat/graph-node-labels branch June 6, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant