Fix: Snapshots, Formatting, Test Runner, and CI Environment#101
Fix: Snapshots, Formatting, Test Runner, and CI Environment#101MuhamadJuwandi wants to merge 2 commits intotscircuit:mainfrom
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.
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! 🚀 |

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!