Skip to content

Connect net labels to existing same-net traces - #893

Draft
Sang-it wants to merge 9 commits into
mainfrom
feat/net-label-same-net-trace-recovery-v2
Draft

Connect net labels to existing same-net traces#893
Sang-it wants to merge 9 commits into
mainfrom
feat/net-label-same-net-trace-recovery-v2

Conversation

@Sang-it

@Sang-it Sang-it commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • reimplement Connect net labels to existing same-net traces #869 on top of current main
  • add NetLabelToSameNetTraceSolver as the final pipeline stage
  • connect labeled trace branches and eligible port-only labels to nearby existing traces on the same global net
  • join recovered paths at an unoccupied direction on existing trace geometry
  • orthogonalize near-aligned continuations with a small terminal jog instead of rejecting a diagonal subsolver result
  • remove source and redundant target labels only after a safe route is accepted
  • retain at least one visible label and its connector for power nets and nets allowing y+ labels
  • always retain the protected label with the highest schematic anchor y value on each global net
  • resolve aliased power-net names through global connectivity before deciding label retention
  • prevent recovered routes from entering retained label interiors while allowing approaches along the label anchor/exterior boundary
  • regenerate and visually review affected routing snapshots, including the PMP11282 fixture added on latest main

Safety checks

Candidates must share a non-ground global net and schematic section. Branch continuations must be aligned within 0.15 units; standalone ports must be within 5 units of existing copper. The solver rejects non-axis-aligned routes, restricted-centerline crossings, collisions, cross-net intersections, unintended same-net overlaps, and paths through rendered labels. Protected labels are reserved before recovery so other branches can join their traces without removing the visible label or its port connector.

Verification

  • bun test (215 pass, 4 skip)
  • bunx tsc --noEmit
  • bun run format:check
  • git diff --check
  • bun run debug:pipeline tests/assets/example51.json --out /tmp/schematic-trace-debug-example51-net01-connected --stop-after netLabelToSameNetTraceSolver --svg

Supersedes #869.

@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
schematic-trace-solver Ready Ready Preview Aug 26, 2026 7:01pm

Request Review

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