Skip to content

repro: saved-board import exposes a PCB antenna's masked feed pad - #4972

Merged
rushabhcodes merged 5 commits into
mainfrom
repro/smtpad-mask-round-trip
Nov 2, 2026
Merged

rushabhcodes merged 5 commits into
mainfrom
repro/smtpad-mask-round-trip

Conversation

@rushabhcodes

@rushabhcodes rushabhcodes commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Saving and re-importing a board exposes the masked feed pad of Core's PCB antenna component.

The reproduction uses <antenna name="ANT1" antennaShape="2.4ghz_meandered_monopole" />. The component generates its own antenna copper, keepout and masked 0.8 × 0.8 mm feed pad. After JSON serialization and public <subcircuit circuitJson={...}> import, the feed's is_covered_with_solder_mask changes from true to false.

Both regression tests use test.failing, so CI passes while verifying that the solder-mask import bug is still reproducible. The fix in #4973 restores regular test calls. The antenna test captures one snapshot of the imported board before asserting that its feed must remain masked. The secondary regression uses numeric assertions for all six pad shapes on both layers, positive/zero/negative margins, omitted defaults, and saved-JSON immutability. It exposes ten lost coverage flags and thirty dropped margins; polygon pads preserve the settings.

Validation: bun test tests/repros/repro-antenna-mask-round-trip.test.tsx tests/repros/repro-smtpad-mask-round-trip.test.tsx passes both expected-failure tests (Bun 1.3.3). Gerber validation with circuit-json-to-gerber@0.0.121 confirms the antenna changes from zero mask openings to one unintended opening.

Fix: #4973, the next layer in native GitHub stack #4976.

The single snapshot shows the imported antenna. Hatching marks the copper keepout; the red feed square is the unintended exposed copper.

Imported antenna with unintended feed exposure

@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
tscircuit-core-benchmarks Ready Ready Preview Nov 2, 2026 5:49am UTC

Request Review

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

This PR has been automatically marked as stale because it has had no recent activity. It will be closed if no further activity occurs.

@rushabhcodes
rushabhcodes force-pushed the repro/smtpad-mask-round-trip branch from 2b147b1 to a35cb11 Compare November 2, 2026 05:40
@rushabhcodes
rushabhcodes marked this pull request as ready for review November 2, 2026 05:41
Copilot AI balanced review requested due to automatic review settings November 2, 2026 05:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@rushabhcodes
rushabhcodes force-pushed the repro/smtpad-mask-round-trip branch from 4712f9f to d037978 Compare November 2, 2026 05:48
@rushabhcodes
rushabhcodes merged commit 691f02f into main Nov 2, 2026
19 checks passed
@rushabhcodes
rushabhcodes deleted the repro/smtpad-mask-round-trip branch November 2, 2026 05:53

This branch was successfully deployed

1 active deployment
Preview — d0379787 Deployed Nov 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants