-
Notifications
You must be signed in to change notification settings - Fork 42
Fix: Snapshots, Formatting, Test Runner, and CI Environment #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Heads up: The failed tests are likely due to snapshot mismatches because this new solver phase actively changes/cleans up the trace paths. Could a maintainer please help run bun test -u to update the snapshots? I don't have the local setup to generate new snapshots. Thank you! |
|
Format check is failing too |
|
to update snapshot you need to run |
rushabhcodes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also add a proof that this works in the description
3e113bb to
e8cc1eb
Compare
|
@rushabhcodes I have updated the snapshots and fixed the formatting issues.
Proof of passing tests: |
|
@rushabhcodes I've pushed several fixes to get the CI green. Here is a breakdown of what I changed and why:
All tests are now passing! 🚀 |
nailoo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.

Proposed Solution for Issue #29
I have implemented a new pipeline phase
TraceCombiningSolverthat effectively merges close, parallel trace segments of the same net. This "clean-up" phase runs after the initial trace solving and overlap shifting, ensuring that redundant or near-duplicate paths are consolidated for a cleaner schematic output.Key Implementation Details
TraceCombiningSolver.tswhich iterates through all solved traces.globalConnNetIdto ensure only electrically connected segments are combined.threshold(default0.5mm/units) and overlapping in projection, they are snapped to their average geometric center. This preserves the general routing intent while removing visual clutter.Code Structure
lib/solvers/TraceCombiningSolver/TraceCombiningSolver.ts: Contains the core logic.lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts: Integrated the new solver into the pipeline, placed strategically aftertraceCleanupSolverto refine the results before label placement.Verification
I've added unit tests in
tests/TraceCombiningSolver.test.tscovering:I'm ready to open a PR with these changes!