/claim #78
SchematicTraceLinesSolver solves each MSP connection pair independently. When two pairs in the same net share a pin, both route through the same physical segment near that shared endpoint — producing “extra trace lines” in the rendered schematic.
removeNetSegmentDuplicates.ts (new)Groups traces by net, finds segments that appear in more than one trace, and trims those redundant endpoint segments from later traces. The net remains visually connected through the first trace that claimed the segment.
Applied as input preprocessing in the TraceCleanupSolver constructor so all downstream cleanup steps (turn minimization, Z-shape balancing) operate on clean data from the start.
simplifyPath.tsAdded removeDuplicateConsecutivePoints called at the top of simplifyPath. This removes zero-length segments that UntangleTraceSubsolver can introduce at path-concatenation junctions.
tests/solvers/TraceCleanupSolver/removeNetSegmentDuplicates.test.tsOverlapAvoidanceStepSolver fixture asserting zero duplicate segmentsNicolas Rozas
@Nicolas-Rozas
tscircuit
@tscircuit