feat: implement TraceCombineSolver to merge same-net trace segments (…feat: implement TraceCombineSolver to merge same-net trace segments (Issue #29)#107
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
rushabhcodes
left a comment
There was a problem hiding this comment.
You need to recreate an example of the problem, then show that you fixed the problem in a snapshot
|
@rushabhcodes Here is the visual proof: Before (TraceCombineSolver input): After (TraceCombineSolver output): I also verified this with a reproduction test tests/reproduction_issue_34.test.ts which now passes. |
I don’t see any traces in these screenshots, so this does not appear to be the correct proof. |
rushabhcodes
left a comment
There was a problem hiding this comment.
Just a heads up—thank you for your interest. While the bounty program is currently closed, we do have GitHub Sponsors enabled.
|
@rushabhcodes My apologies, it seems the previous images didn't upload correctly and were broken. Here are the correct snapshots showing the fix: As you can see, the two close parallel traces are now merged into a single path. I’ve also verified this with tests/reproduction_issue_34.test.ts. I understand the bounty program is closed, but since I’ve completed the fix as requested, I’d be very grateful if you could consider a reward via GitHub Sponsors once this is merged. Looking forward to your technical feedback! |
Fix: Combine same-net trace segments that are close together (Issue #29)
Description
This PR addresses Issue #29 by introducing a new solver phase, TraceCombineSolver, which merges trace segments belonging to the same net that are collinear, overlapping, or touching.
Previously, the solver would output fragmented segments for collinear pins (e.g., 3 pins in a row resulted in 2 separate segments). This change ensures they are consolidated into a single continuous trace path where possible, simplifying the resulting schematic.
Changes
Verification
Related Issue
Closes #29
/claim #29