circuit-json 0.0.500 → 0.0.502

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3054,6 +3054,10 @@ interface PcbThermalSpoke {
3054
3054
 
3055
3055
  ### PcbTrace
3056
3056
 
3057
+ A `route_type: "teardrop"` entry represents an explicit straight segment with
3058
+ `start_width`, `end_width`, and `width_interpolation_mode` (`linear` or
3059
+ `smoothstep`). See the [geometry and route traversal contract](docs/pcb-trace-teardrops.md).
3060
+
3057
3061
  [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_trace.ts)
3058
3062
 
3059
3063
  ```typescript
@@ -3083,10 +3087,27 @@ interface PcbTraceRoutePointVia {
3083
3087
  to_layer: LayerRef
3084
3088
  }
3085
3089
 
3090
+ /** A straight tapered wire segment. Coordinates and full widths are in mm. */
3091
+ interface PcbTraceRoutePointTeardrop {
3092
+ route_type: "teardrop"
3093
+ start: Point
3094
+ end: Point
3095
+ start_width: Distance
3096
+ end_width: Distance
3097
+ /** linear: f(t)=t; smoothstep: f(t)=3t²−2t³, with t along the centerline. */
3098
+ width_interpolation_mode: "linear" | "smoothstep"
3099
+ layer: LayerRef
3100
+ copper_pour_id?: string
3101
+ is_inside_copper_pour?: boolean
3102
+ start_pcb_port_id?: string
3103
+ end_pcb_port_id?: string
3104
+ }
3105
+
3086
3106
  type PcbTraceRoutePoint =
3087
3107
  | PcbTraceRoutePointWire
3088
3108
  | PcbTraceRoutePointVia
3089
3109
  | PcbTraceRoutePointThroughPad
3110
+ | PcbTraceRoutePointTeardrop
3090
3111
  ```
3091
3112
 
3092
3113
  ### PcbTraceError