Skip to content

Standardize grouped edge guide rhythm - #332

Open
ivanmkc wants to merge 16 commits into
ivanmkc/layout-rhythmfrom
ivanmkc/edge-guide-rhythm
Open

Standardize grouped edge guide rhythm#332
ivanmkc wants to merge 16 commits into
ivanmkc/layout-rhythmfrom
ivanmkc/edge-guide-rhythm

Conversation

@ivanmkc

@ivanmkc ivanmkc commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • center unequal measured members within logical ranks
  • route grouped edges over deterministic 8 px guides with 16 px stubs, doglegs, and parallel-track pitch
  • consolidate exact shared terminal trunks while keeping unrelated tracks separated
  • align cross-zone anchors to the declared rank axis so typography cannot flip their semantics
  • render round connector caps/joins and enforce the painted contract for tiers, zones, and swimlanes

This PR is stacked on #309 and advances #154.

Before / after

Architecture tiers

Before (#309) After
Architecture tiers before Architecture tiers after

Data-lineage zones

Before (#309) After
Data-lineage zones before Data-lineage zones after

Swimlanes

Before (#309) After
Swimlanes before Swimlanes after

Verification

  • 5 focused unit files: 48/48 tests passed
  • viewer TypeScript, server bundle, and client bundle passed
  • painted browser E2E passed for tiers, zones, and swimlanes at 1440 × 1000
  • live port 8080 deployment: 13 swimlane nodes, 13 edges, four lanes, no render error, all edge joins/caps round
  • broad viewer run reached all geometry suites successfully; remaining failures reproduce existing host constraints around socket binding, invalid localStorage setup, and HTTP-server hooks, so CI remains required for those unrelated suites

The painted E2E rejects node/container overlap, padding spillout, anchor mismatch, node-crossing edges, unrelated coincident or sub-16 px parallel tracks, short interior doglegs, avoidable bends, and non-round path styling.

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