@tscircuit/props 0.0.622 → 0.0.624

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.
@@ -27,6 +27,10 @@ export interface BusProps {
27
27
  pcbTraceWidth?: number | string
28
28
  /** PCB layers on which the bus may be routed. */
29
29
  pcbAllowedLayers?: LayerRefInput[]
30
+ /** Preferred PCB layer for routing the bus. */
31
+ preferredLayer?: LayerRefInput
32
+ /** Preferred PCB layers for routing the bus, in priority order. */
33
+ preferredLayers?: LayerRefInput[]
30
34
  }
31
35
 
32
36
  export const busProps = z.object({
@@ -37,6 +41,8 @@ export const busProps = z.object({
37
41
  targetImpedance: resistance.pipe(z.number().positive().finite()).optional(),
38
42
  pcbTraceWidth: distance.pipe(z.number().positive().finite()).optional(),
39
43
  pcbAllowedLayers: z.array(layer_ref).min(1).optional(),
44
+ preferredLayer: layer_ref.optional(),
45
+ preferredLayers: z.array(layer_ref).min(1).optional(),
40
46
  })
41
47
 
42
48
  type InferredBusProps = z.input<typeof busProps>
@@ -14,8 +14,13 @@ export interface PanelProps
14
14
  * If true, prevent a solder mask from being applied to this panel.
15
15
  */
16
16
  noSolderMask?: boolean
17
- /** Method for panelization */
18
- panelizationMethod?: "tab-routing" | "none"
17
+ /**
18
+ * Method used to separate boards in the panel.
19
+ *
20
+ * `outline_routing` creates continuous routed cutouts around each board
21
+ * outline without tabs.
22
+ */
23
+ panelizationMethod?: "tab-routing" | "outline_routing" | "none"
19
24
  /** Gap between boards in a panel */
20
25
  boardGap?: Distance
21
26
  layoutMode?: "grid" | "pack" | "none"
@@ -47,7 +52,9 @@ export const panelProps = baseGroupProps
47
52
  children: z.any().optional(),
48
53
  anchorAlignment: ninePointAnchor.optional(),
49
54
  noSolderMask: z.boolean().optional(),
50
- panelizationMethod: z.enum(["tab-routing", "none"]).optional(),
55
+ panelizationMethod: z
56
+ .enum(["tab-routing", "outline_routing", "none"])
57
+ .optional(),
51
58
  boardGap: distance.optional(),
52
59
  layoutMode: z.enum(["grid", "pack", "none"]).optional(),
53
60
  row: z.number().optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/props",
3
- "version": "0.0.622",
3
+ "version": "0.0.624",
4
4
  "description": "Props for tscircuit builtin component types",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",