Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Saved
pcbTracePathscan describe a tapered wire by assigning different widths to consecutive points and settingwidth_interpolation_mode: "linear" | "quadratic"on the first point. This converts that input into Circuit JSON's outgoingstart_width/end_widthfields for both fanout/breakout and autorouting-phase routes.Ordinary segments retain constant-width behavior. Via contact wires use adjacent saved widths instead of reusing the route's first width. Route reversal moves taper metadata to the opposite endpoint and swaps widths, preserving the copper geometry. Raises the SVG dev dependency to the released renderer version with taper support for the visual regression test. README unchanged.
Automatic teardrops after routing
Trace-level
pcbTeardrops,pcbTeardropStart, andpcbTeardropEndnow generate geometry in a newPcbTraceTeardropRenderphase afterPcbRouteNetIslandsand before copper pours. It waits for routing work and does not change the autorouter. Explicit endpoint flags override the trace-wide flag; start/end follow logical from/to even when the stored route is reversed.The phase adds tapered wire segments at supported centered pad contacts and both sides of vias, retaining the routed centerline and explicit saved-path tapers. Repeated runs restore their original geometry before recomputing, including after copper-pour annotations clone the route. It conservatively skips unsupported pad shapes and segments too short for a taper.
Core passes original Circuit JSON directly to pour and DRC consumers. Native copper-pour support is implemented in tscircuit/copper-pour-solver#104; core must adopt its published release before this draft is ready. Native DRC taper support remains outstanding and is also a release prerequisite. There is no core-side clearance-envelope conversion.
Dependency: tscircuit/props#869 supplies the input schema. This PR is a draft until that change is published and core's props dependency/override can be updated. The currently published parser strips the new field. The same pending props release supplies the automatic teardrop controls.
Validation:
Additional validation for the automatic phase: 11 focused regression tests (61 assertions), TypeScript, and build pass. Tests cover endpoint overrides, reversed routes, via layers, repeated rendering, explicit taper preservation, saved routes, and existing copper-pour behavior. End-to-end smoke checks with the pending props build passed with the default autorouter enabled; the published dependency was restored afterward.
Visual fixtures use actual 0603 passives and 2.54 mm headers: an RC filter for endpoint overrides, a populated two-layer signal path for via teardrops, and two header-to-resistor channels for saved interpolation/reversal. All three SVG snapshots were rasterized and visually inspected for pad connections, route crossings, and visible taper geometry.
PCB note-layer arrows identify every expected taper in the visual snapshots. Automatic pad/via examples use longer approaches so the taper is visible beyond the pad; production geometry is unchanged. Verified installed circuit-to-svg 0.0.433 matches the latest published version.
After removing the envelope helper and its test, four focused core tests pass (automatic teardrops and existing copper-pour regression cases).