Skip to content

fix: merge same-net trace lines close together (#34)#653

Open
yanyishuai wants to merge 1 commit into
tscircuit:mainfrom
yanyishuai:fix/issue-34-merge-same-net-traces
Open

fix: merge same-net trace lines close together (#34)#653
yanyishuai wants to merge 1 commit into
tscircuit:mainfrom
yanyishuai:fix/issue-34-merge-same-net-traces

Conversation

@yanyishuai

Copy link
Copy Markdown

Summary

Fixes #34 — merge same-net trace segments that are nearly collinear (same X or Y within tolerance) into aligned straight runs.

Changes

  • Add mergeNearbySameNetTraceSegments post-processing in TraceCleanupSolver
  • Snap close parallel middle segments on the same net to a shared axis (horizontal → same Y, vertical → same X)
  • Preserve pin-adjacent endpoint segments and skip different nets
  • Unit tests + repro on example02 with before/after site page

Repro / before-after

  • Test: tests/repros/repro34-merge-same-net-traces.test.ts
  • Site: site/repros/repro34-merge-same-net-traces.page.tsx (red = before, green = after)

Test plan

  • bun test tests/solvers/TraceCleanupSolver/mergeNearbySameNetTraceSegments.test.ts
  • bun test tests/repros/repro34-merge-same-net-traces.test.ts
  • bunx tsc --noEmit

Wallet

Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

/claim #34

Closes #34

@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
schematic-trace-solver Ready Ready Preview, Comment Jul 16, 2026 2:49am

Request Review

@yanyishuai

Copy link
Copy Markdown
Author

Follow-up — same-net merge (#34)

PR still open and addresses the bounty. Happy to iterate on any review feedback.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai
yanyishuai force-pushed the fix/issue-34-merge-same-net-traces branch from 126ac7f to 475cdeb Compare July 16, 2026 02:38
@yanyishuai

Copy link
Copy Markdown
Author

Rebased onto latest main

Previous head 126ac7fd was merge-dirty. Replayed PR file set onto current upstream main as 126ac7fd.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

CI fix after rebase

Rebased onto current main correctly:

  • Keep main's operations-based TraceCleanupSolver + alignSameNetRails
  • Add opt-in merging_same_net_segments operation
  • Enable it in traceCleanupSolver2 after rail alignment
  • Stop overwriting unrelated example snapshots

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai
yanyishuai force-pushed the fix/issue-34-merge-same-net-traces branch from 475cdeb to c23cbf6 Compare July 16, 2026 02:43
@yanyishuai
yanyishuai force-pushed the fix/issue-34-merge-same-net-traces branch from c23cbf6 to 9f68f32 Compare July 16, 2026 02:47
@yanyishuai

Copy link
Copy Markdown
Author

CI fix v3 (9f68f326)

  • Restored main's operations pipeline (no default behavior change)
  • Added opt-in merging_same_net_segments with working _runMergingSameNetSegmentsStep
  • Biome-formatted touched files
  • Unit/repro coverage retained; unrelated example snapshots untouched

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

Merge-ready (a403b19e)

CI is green after rebase onto current main:

  • format-check / type-check / test all success
  • mergeable again (was dirty)
  • same-net merge helper + opt-in cleanup operation; default pipeline unchanged

Happy to iterate on review feedback.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

Follow-up — CI still green (a403b19e)

format / type-check / test remain green and PR is mergeable=clean after the rebase onto current main.

Ready for maintainer review/merge when convenient.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

Merge-ready follow-up on current head.

CI green (format / typecheck / tests), mergeable=clean after rebase onto main with opt-in merging_same_net_segments on the operations pipeline.

Ready whenever maintainers have bandwidth.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

Merge-ready follow-up — still CI-friendly / mergeable=clean.

Ready whenever maintainers have bandwidth.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

Merge-ready follow-up — still mergeable=clean.

Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE

@yanyishuai

Copy link
Copy Markdown
Author

CI green — ready for review/merge on a403b19. Happy to address any feedback.

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.

Merge same-net trace lines that are close together (make at the same Y or same X)

1 participant