Skip to content

Graph-geometry diagnostic (baseline for node/edge/label overhaul)#52

Merged
mvalancy merged 1 commit into
developfrom
feat/graph-geometry-diagnostic
Jun 14, 2026
Merged

Graph-geometry diagnostic (baseline for node/edge/label overhaul)#52
mvalancy merged 1 commit into
developfrom
feat/graph-geometry-diagnostic

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Before touching the layout system, make its problems measurable + visible — and give us a verification harness for the fix.

npm run test:geometry (report-only, geometry project) seeds a controlled scenario — a CLOSE node pair and a FAR pair sharing the same wide edge label — and measures real rendered geometry from the DOM:

  • edge attachment — distance from each edge endpoint to the node center (0px today = center-attached) and how far inside the card it sits;
  • label fit — label box width vs the clear span between the two cards, and whether the label overlaps a card;
  • minimum length — actual edge length vs what the label needs.

Baseline (live stack, 1440×900)

edge center-len clear span label W overflow overlaps card endpoint @ center
close pair 200 30 104 +74px yes 0px / 0px
far pair 470 300 104 −196 (fits) no 0px / 0px

Confirms: edges attach to node centers, and a short edge can't fit its label → it overflows onto the cards. Screenshots in test-artifacts/geometry/ show the close pair (label can't render) vs the far pair (clean "Depends On" label).

Self-heals ([E2E] sentinel + sweepTestData before/after) so it leaves the dev DB clean. Re-run after the fix to verify overflow/overlap → 0 and endpoints move to the border. No app behavior changed.

🤖 Generated with Claude Code

…aul)

Before changing the layout system, make its problems measurable + visible.
This report-only diagnostic (npm run test:geometry, 'geometry' project) seeds a
controlled scenario — a CLOSE node pair and a FAR node pair sharing the same
wide edge label — and measures real rendered geometry from the DOM:

  - edge attachment: distance from each edge endpoint to the node CENTER
    (0px today => edges attach to centers, not borders) and how far the
    endpoint sits inside the card,
  - label fit: label box width vs the clear span between the two cards, and
    whether the label box overlaps either card,
  - minimum length: actual edge length vs what the label needs.

Baseline captured on the live stack (1440x900):
  close pair: centerLen=200 clearSpan=30 labelW=104 -> overflow +74px,
              overlapsCard=true, endpoints 0px from both centers
  far pair:   centerLen=470 clearSpan=300 labelW=104 -> fits, no overlap
Confirms: edges are center-attached, and a short edge can't fit its label so
the label overflows onto the cards. Output: test-artifacts/geometry/
{report.json, scenario-full.png, close-pair-centered.png}.

Seeds with the [E2E] sentinel + self-heals (sweepTestData before/after), so it
leaves the dev DB clean. Re-run after a fix to verify overflow/overlap -> 0 and
endpoints move to the border.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 3ade162 into develop Jun 14, 2026
16 checks passed
@mvalancy mvalancy deleted the feat/graph-geometry-diagnostic branch June 14, 2026 05:15
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