Skip to content

Preserve outer-layer routing access through empty inner layers - #146

Open
AnasSarkiz wants to merge 2 commits into
mainfrom
codex/pedometer-outer-layer-transit
Open

Preserve outer-layer routing access through empty inner layers#146
AnasSarkiz wants to merge 2 commits into
mainfrom
codex/pedometer-outer-layer-transit

Conversation

@AnasSarkiz

@AnasSarkiz AnasSarkiz commented Sep 11, 2026

Copy link
Copy Markdown
Member

Pedometer bug report 103 has an inner ground plane alongside an empty inner layer. Outer-layer containment merging required copper-pour coverage on every intermediate layer, so it discarded otherwise valid top-to-bottom routing access.

Allow transit through empty inner layers or copper pours while continuing to reject solid inner obstacles. Merge the candidate with the supporting region's available layers, preserving existing inner-to-outer transitions. Keep one rectangle when support layers are uniform, and split at support boundaries when they differ. Remaining pieces retain their original layer sets, overlapping promotions are rejected, and pieces smaller than a via are left unpromoted.

This also corrects the initial version of this PR: separating a [2,3] support into independent layer regions preserved area but removed inner2-to-bottom access. The new regression failed on that version (transition area 0 instead of 4) and passes on 1a39ad6. Tests cover mixed support layers, solid inner obstacles, shared outer regions, unchanged input, non-overlapping layer coverage, and preservation of layer area and existing transition area across four boards.

Validation: 77 tests passed, one existing skipped example; build, type check, and format check passed. Updated four affected SVG snapshots and inspected the resulting geometry.

Integration remains unresolved: with the corrected mesh, autorouter #2548 exhausts default-effort port-point routing before high density. An isolated run with the original rectdiff pin also exhausts that stage. The earlier full pedometer solve used this PR's defective first revision and is not current validation. Do not treat this dependency's passing tests as evidence that the pedometer fix is complete.

Companion PRs: tscircuit/tiny-hypergraph#185 and tscircuit/tscircuit-autorouter#2548. Follow-up to tscircuit/tscircuit-autorouter#2494.

@vercel

vercel Bot commented Sep 11, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
rectdiff Ready Ready Preview Sep 11, 2026 5:07pm UTC

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