Skip to content

feat: TraceLineAlignmentSolver - align same-net trace lines (#34)#431

Open
wbobbynmworley wants to merge 2 commits into
tscircuit:mainfrom
wbobbynmworley:feat/align-close-trace-lines
Open

feat: TraceLineAlignmentSolver - align same-net trace lines (#34)#431
wbobbynmworley wants to merge 2 commits into
tscircuit:mainfrom
wbobbynmworley:feat/align-close-trace-lines

Conversation

@wbobbynmworley
Copy link
Copy Markdown

Summary

Implements #34 ($100 bounty)

Aligns same-net trace lines that are close to each other:

  • Horizontal segments: If same-net horizontal segments have Y coordinates within threshold (5 units), align them to the average Y
  • Vertical segments: If same-net vertical segments have X coordinates within threshold (5 units), align them to the average X
  • Integrated into the schematic trace pipeline after NetLabelTraceCollisionSolver

Implementation

TraceLineAlignmentSolver scans all solved trace paths, groups segments by net and direction (horizontal/vertical), then aligns close segments to their average coordinate. This reduces visual clutter when same-net traces run in parallel at slightly different coordinates.

Test Plan

  • Unit tests: horizontal alignment, vertical alignment, no alignment needed
  • Biome format pass
  • Pipeline integration with proper step ordering

…scircuit#34)

- Aligns same-net horizontal trace segments to the same Y coordinate
- Aligns same-net vertical trace segments to the same X coordinate
- Uses alignment threshold of 5 units
- Integrated into pipeline after NetLabelTraceCollisionSolver
- Includes unit tests for horizontal, vertical, and no-alignment cases
@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
schematic-trace-solver Ready Ready Preview, Comment May 25, 2026 5:30am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant