Skip to content

feat: add SameNetTraceMergeSolver to combine close same-net trace segments#338

Open
colorbank wants to merge 1 commit into
tscircuit:mainfrom
colorbank:feat/same-net-trace-merge-29
Open

feat: add SameNetTraceMergeSolver to combine close same-net trace segments#338
colorbank wants to merge 1 commit into
tscircuit:mainfrom
colorbank:feat/same-net-trace-merge-29

Conversation

@colorbank
Copy link
Copy Markdown

/claim #29\n/claim #34\n\n## Summary\n\nAdds a new SameNetTraceMergeSolver pipeline phase that combines same-net trace segments whose endpoints are within a configurable gap (default: 0.12 schematic units).\n\n## Changes\n\n### New: lib/solvers/SameNetTraceMergeSolver/SameNetTraceMergeSolver.ts\n- Extends BaseSolver\n- Groups traces by net key (userNetId ?? globalConnNetId ?? dcConnNetId)\n- Iterates over same-net trace pairs and joins any two whose closest endpoint pair is within maxEndpointGap\n- Inserts an L-turn bridge segment when endpoints are not axis-aligned\n- Runs until no more merges are possible, then sets solved = true\n- Exposes getOutput(): { traces: SolvedTracePath[] }\n\n### Modified: lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts\n- Imports SameNetTraceMergeSolver\n- Adds sameNetTraceMergeSolver? field to the class\n- Inserts a new sameNetTraceMergeSolver pipeline step after traceCleanupSolver and before the second netLabelPlacementSolver\n- Updates netLabelPlacementSolver (2nd) and example28Solver to prefer sameNetTraceMergeSolver?.getOutput().traces\n\n### New: tests/solvers/SameNetTraceMergeSolver/SameNetTraceMergeSolver.test.ts\n- 4 unit tests covering:\n 1. Merges two same-net traces with close endpoints\n 2. Does not merge traces from different nets\n 3. Does not merge same-net traces whose endpoints are too far apart\n 4. Chains multiple merges (3 traces → 1)

@vercel
Copy link
Copy Markdown

vercel Bot commented May 14, 2026

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

Project Deployment Actions Updated (UTC)
schematic-trace-solver Ready Ready Preview, Comment May 14, 2026 1:31pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant