feat: merge same-net trace lines by enabling rail alignment in default operations#684
Open
singularitycurse26-svg wants to merge 1 commit into
Open
Conversation
…t operations Add 'aligning_same_net_rails' to DEFAULT_OPERATIONS in TraceCleanupSolver so same-net trace lines that are close together get aligned to the same Y or X coordinate during the first cleanup pass. Previously this operation was only run in the second cleanup pass (traceCleanupSolver2), meaning traces could remain unaligned after the first pass if the second pass didn't run or had restricted eligibility. Closes tscircuit#34 /claim tscircuit#34
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Enables same-net trace line merging by adding
aligning_same_net_railsto theDEFAULT_OPERATIONSinTraceCleanupSolver.Problem
Same-net trace lines that run close together but at slightly different Y or X coordinates were not being aligned during the first cleanup pass. The
aligning_same_net_railsoperation existed but was only used in the second cleanup pass (traceCleanupSolver2), which has restricted eligibility.Solution
Add
aligning_same_net_railstoDEFAULT_OPERATIONSso that same-net trace lines get aligned to the same Y or X coordinate during the first cleanup pass, making parallel same-net traces share a common coordinate.Changes
lib/solvers/TraceCleanupSolver/TraceCleanupSolver.ts: Added"aligning_same_net_rails"toDEFAULT_OPERATIONStests/solvers/TraceCleanupSolver/mergeSameNetTraces.test.ts: Added tests verifying same-net traces get aligned to the same coordinateCloses #34
/claim #34