Graph-geometry diagnostic (baseline for node/edge/label overhaul)#52
Merged
Conversation
…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>
🧪 Comprehensive Test Suite
Full-stack smoke gate runs in the CI workflow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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,geometryproject) 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:Baseline (live stack, 1440×900)
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 +sweepTestDatabefore/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