circuit-json 0.0.497 → 0.0.498

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
@@ -111,6 +111,7 @@ https://github.com/user-attachments/assets/2f28b7ba-689e-4d80-85b2-5bdef84b41f8
111
111
  - [PCB Elements](#pcb-elements)
112
112
  - [PcbFabricatorExtraChargeWarning](#pcbfabricatorextrachargewarning)
113
113
  - [PcbAutoroutingError](#pcbautoroutingerror)
114
+ - [PcbBend](#pcbbend)
114
115
  - [PcbBoard](#pcbboard)
115
116
  - [PcbBreakoutPoint](#pcbbreakoutpoint)
116
117
  - [PcbBusLengthSkewError](#pcbbuslengthskewerror)
@@ -169,6 +170,7 @@ https://github.com/user-attachments/assets/2f28b7ba-689e-4d80-85b2-5bdef84b41f8
169
170
  - [PcbSilkscreenRect](#pcbsilkscreenrect)
170
171
  - [PcbSilkscreenText](#pcbsilkscreentext)
171
172
  - [PcbSolderPaste](#pcbsolderpaste)
173
+ - [PcbStiffener](#pcbstiffener)
172
174
  - [PcbText](#pcbtext)
173
175
  - [PcbThermalSpoke](#pcbthermalspoke)
174
176
  - [PcbTrace](#pcbtrace)
@@ -1420,6 +1422,36 @@ interface PcbAutoroutingErrorInterface extends BaseCircuitJsonError {
1420
1422
  }
1421
1423
  ```
1422
1424
 
1425
+ ### PcbBend
1426
+
1427
+ [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_bend.ts)
1428
+
1429
+ Defines a bend without changing the flat PCB layout or stored CAD poses.
1430
+
1431
+ ```typescript
1432
+ /** Defines a bend without changing the flat PCB layout or stored CAD poses. */
1433
+ interface PcbBend {
1434
+ type: "pcb_bend"
1435
+ pcb_bend_id: string
1436
+ pcb_board_id: string
1437
+ /** Ownership only; group transforms are already resolved into board coordinates. */
1438
+ pcb_group_id?: string
1439
+ subcircuit_id?: string
1440
+ name?: string
1441
+ /** Bend-zone centerline endpoints, relative to the flat board center, in mm. */
1442
+ start: Point
1443
+ end: Point
1444
+ /** Target angle in signed degrees; positive folds the moving side toward local top. Zero is flat. */
1445
+ bend_angle: Rotation
1446
+ /** Positive radius at the neutral surface, in mm. Zone width is radius times absolute angle in radians. */
1447
+ bend_radius: Length
1448
+ /** Moving side looking from start toward end in the flat top view. */
1449
+ bend_side: "left" | "right"
1450
+ }
1451
+ ```
1452
+
1453
+ [Examples and coordinate/rendering semantics](docs/pcb-flex.md)
1454
+
1423
1455
  ### PcbBoard
1424
1456
 
1425
1457
  [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_board.ts)
@@ -2924,6 +2956,56 @@ interface PcbSolderPasteCircle {
2924
2956
  }
2925
2957
  ```
2926
2958
 
2959
+ ### PcbStiffener
2960
+
2961
+ [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_stiffener.ts)
2962
+
2963
+ Defines bonded mechanical reinforcement with rectangular or polygon geometry.
2964
+
2965
+ ```typescript
2966
+ interface PcbStiffenerBase {
2967
+ type: "pcb_stiffener"
2968
+ pcb_stiffener_id: string
2969
+ pcb_board_id: string
2970
+ /** Ownership only; geometry is already resolved into board coordinates. */
2971
+ pcb_group_id?: string
2972
+ subcircuit_id?: string
2973
+ name?: string
2974
+ /** Attachment face, not an additional copper layer. */
2975
+ layer: "top" | "bottom"
2976
+ material: "fr4" | "polyimide" | "stainless_steel" | "aluminum"
2977
+ /** Material thickness in mm, excluding the PCB and adhesive. */
2978
+ thickness: Length
2979
+ /** Adhesive thickness in mm; omission means unspecified, not zero. */
2980
+ adhesive_thickness?: Length
2981
+ }
2982
+
2983
+ interface PcbStiffenerRect extends PcbStiffenerBase {
2984
+ shape: "rect"
2985
+ /** Relative to the flat board center, in mm. */
2986
+ center: Point
2987
+ /** Degrees counterclockwise in the flat top view; omission means zero. */
2988
+ rotation?: Rotation
2989
+ width: Length
2990
+ height: Length
2991
+ outline?: never
2992
+ }
2993
+
2994
+ interface PcbStiffenerPolygon extends PcbStiffenerBase {
2995
+ shape: "polygon"
2996
+ /** Implicitly closed vertices relative to the flat board center, in mm. All placement/rotation is baked in. */
2997
+ outline: Point[]
2998
+ center?: never
2999
+ rotation?: never
3000
+ width?: never
3001
+ height?: never
3002
+ }
3003
+
3004
+ type PcbStiffener = PcbStiffenerRect | PcbStiffenerPolygon
3005
+ ```
3006
+
3007
+ [Examples and coordinate/rendering semantics](docs/pcb-flex.md)
3008
+
2927
3009
  ### PcbText
2928
3010
 
2929
3011
  [Source](https://github.com/tscircuit/circuit-json/blob/main/src/pcb/pcb_text.ts)