Skip to content

feat(web): graph layout tuning — gravity wells + terminal recede (TASK-1738) - #706

Merged
xarmian merged 1 commit into
mainfrom
feat/graph-layout-tuning
Jun 5, 2026
Merged

feat(web): graph layout tuning — gravity wells + terminal recede (TASK-1738)#706
xarmian merged 1 commit into
mainfrom
feat/graph-layout-tuning

Conversation

@xarmian

@xarmian xarmian commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

The last task of PLAN-1730 — the layout metaphor:

  • Gravity wells: parent/implements 30/0.9, blocks 60/0.3, soft links 120/0.05 (distance/strength); charge scales −30×(1+min(children,10)). Verified against d3-force-3d docs that accessors persist on the force objects and re-fire on every graphData swap (three-forcegraph re-inits links/nodes + re-heats) — no re-application needed.
  • Terminal recede: 0.4× size, color faded toward the backdrop. Chain > pulse > dim > terminal precedence; chain still burns pure red on terminal nodes.

Context

Implements TASK-1738 under PLAN-1730. All 8 plan tasks now shipped.

Test plan

  • make check — all green (svelte-check 0 errors)
  • d3Force API + re-heat behavior verified against vendored lib source
  • Visual pass post-merge via make install

…K-1738)

Per-link-type force tuning turns the undifferentiated force soup into
structure: parent/implements links pull short and strong (children
orbit their parent), blocks links keep medium tension, wiki-link /
related stay long and weak so associative filaments don't collapse
clusters into each other. Charge repulsion scales with subtree mass
(clamped at 10 children) so big plans carve out space. Accessors are
applied once at construction — d3-force-3d re-runs them on every
graphData swap (links()/nodes() re-init), so payload/filter changes
re-settle automatically with the lib's built-in re-heat.

Terminal nodes (visible with show-completed on) recede: 0.4× size and
collection color faded toward the backdrop — burned-down work reads as
embers. Precedence: chain > pulse > dim > terminal; a terminal node on
a blocker chain still burns full red.

Parent: PLAN-1730. Closes the plan's task list.
@xarmian
xarmian merged commit 30bdbeb into main Jun 5, 2026
4 checks passed
@xarmian
xarmian deleted the feat/graph-layout-tuning branch June 5, 2026 23:44
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