Add trace segment moving to avoid net label overlap#93
Add trace segment moving to avoid net label overlap#93Exceluyi wants to merge 4 commits intotscircuit:mainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@seveibar ready for review. proof of fix in description |
|
no tests are failing which is good |
techmannih
left a comment
There was a problem hiding this comment.
look like you have broken all snapshots, you have removed traces in updated snapshot
@techmannih no snapshots are broken now |
|
CC @0hmX |
|
@0hmX please review |
|
Look at example-14, that is the exact problem you need to solve for |
|
@0hmX please re-review and approve if you find it good |
0hmX
left a comment
There was a problem hiding this comment.
Same as before you did not fix the issue
There was a problem hiding this comment.
This looks broken, the labels are totally in the wrong orientation/position, and the trace is also removed
There was a problem hiding this comment.
i created the snapshot to reproduce the issue
There was a problem hiding this comment.
the trace being removed is the fix
/claim #46
/closes #46
This PR introduces a new rerouting strategy to the
TraceLabelOverlapAvoidanceSolverto prevent traces from overlapping with net labels.Problem
In some cases, a trace segment would overlap with a net label, making the schematic difficult to read. This was happening because the existing rerouting strategies were not always able to find a valid path that avoided the label.
Before:

Solution
A new rerouting strategy,
generateMoveTraceSegmentsCandidates, has been added. This strategy identifies the trace segments that are overlapping with a net label and moves them out of the way. The new path is then simplified to ensure it's a valid trace.This new strategy is added to the existing
generateRerouteCandidatesfunction, which now has more options to find a valid path that avoids the overlap.After:

Verification
A new test case has been added to reproduce the overlap issue. The snapshot of the test case now shows that the overlap is resolved.