Skip to content

Add standalone solder paste apertures - #3661

Open
dyoung7293 wants to merge 9 commits into
tscircuit:mainfrom
dyoung7293:feat/standalone-solderpaste
Open

Add standalone solder paste apertures#3661
dyoung7293 wants to merge 9 commits into
tscircuit:mainfrom
dyoung7293:feat/standalone-solderpaste

Conversation

@dyoung7293

Copy link
Copy Markdown

Implements the existing <solderpaste> primitive so a continuous copper pad can have multiple independent stencil apertures. The windowpane regression contains nine 3 mm square paste openings over one 20 mm diameter copper pad.

Fixes #3577

The renderer registers rectangle/circle JSX elements, emits independent pcb_solder_paste records, preserves footprint placement and board-side transforms, and moves the apertures during PCB layout. No new dependency or schema change is required. Usage documentation includes suppressing an SMT pad's default paste aperture.

Validation: 17 focused solderpaste/SMT-pad tests passed (261 assertions); the three new tests passed again from the published branch (178 assertions). Full TypeScript check and package build passed. Two PCB snapshots were rendered and visually inspected. The original implementation fails the windowpane test with an unsupported component error. Tests compare rectangular paste perimeters to independently emitted copper geometry at 0, 90, 180, 270 and 37 degrees on both board sides.

This PR covers core Circuit JSON generation. The local windowpane example was also run through current exporters: Gerber output contains nine rectangular paste flashes over one continuous copper contact. The current KiCad exporter ignores independent paste records and recreates a full-pad paste layer, so KiCad support needs a separate downstream fix. Native application opening and physical stencil fabrication have not been validated.

Implementation, tests, and this description were prepared with Codex AI assistance.

@vercel

vercel Bot commented Sep 5, 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 Sep 5, 2026 6:24am 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.

No way to define paste-only apertures (windowpane) over a continuous pad; <solderpaste> is typed but has no renderer

1 participant