Skip to content

feat(web): blocker-chain tracing as lit path + edge styling by type (TASK-1737) - #705

Merged
xarmian merged 1 commit into
mainfrom
feat/graph-blocker-tracing
Jun 5, 2026
Merged

feat(web): blocker-chain tracing as lit path + edge styling by type (TASK-1737)#705
xarmian merged 1 commit into
mainfrom
feat/graph-blocker-tracing

Conversation

@xarmian

@xarmian xarmian commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

PLAN-1730's signature "useful" feature: select any node and its transitive blocker chain lights up as a red path with directional particles flowing toward the selected item.

  • Cycle-safe upstream BFS over 'blocks' edges of the filtered payload; recomputed if the payload/filters change under a surviving selection.
  • Chain nodes: collection color mixed toward blocks-red, never dimmed. Chain edges: full-alpha red, width 2, linkDirectionalParticles(3) flowing source→target (blocker→blocked).
  • Precedence commented inline: chain > pulse > dim (nodes); chain > adjacency > dim (edges).
  • DetailCard: "Blocked by" rows (click → fly to blocker + re-trace), "+N more" cap, optional chain-depth line, "Blocks N items" stat.
  • Cosmetic: supersedes/split-from at 0.6 alpha vs parent/implements 0.85.

Context

Implements TASK-1737 under PLAN-1730. TASK-1738 (gravity-well layout tuning) is the last one standing.

Test plan

  • make check — all green (svelte-check 0 errors)
  • Particle accessors verified against the lib's d.ts/README (names, per-link form, flow direction)
  • Visual pass post-merge via make install

…TASK-1737)

Selecting a node now answers "why can't this start?" visually: a
cycle-safe BFS walks the transitive blocker chain upstream over
'blocks' edges and burns it bright red — chain nodes mix toward the
blocks red and are never dimmed, chain edges go full-alpha wide with
directional particles flowing blocker→blocked into the selected node.
Precedence: chain > pulse > dim for nodes, chain > adjacency > dim for
edges. The chain recomputes when a surviving selection's payload or
filters change, and clears on deselect.

DetailCard grows a red-accented "Blocked by" list (clickable rows fly
to the blocker and re-trace its chain; capped at 6 with +N more, chain
depth noted when deeper) and a "Blocks N items" stat. supersedes /
split-from edges drop to 0.6 alpha to round out per-type styling.

Parent: PLAN-1730.
@xarmian
xarmian merged commit 2904802 into main Jun 5, 2026
4 checks passed
@xarmian
xarmian deleted the feat/graph-blocker-tracing branch June 5, 2026 23:36
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