@tscircuit/props 0.0.649 → 0.0.651

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.
@@ -15,6 +15,26 @@ export const pinCapability = z.enum([
15
15
  export type PinCapability = z.input<typeof pinCapability>
16
16
 
17
17
  export interface PinAttributeMap {
18
+ /** Whether the pin accepts a signal. */
19
+ isInput?: boolean
20
+ /** Whether the pin drives a signal. */
21
+ isOutput?: boolean
22
+ /** Whether the pin can both accept and drive signals. */
23
+ isBidirectional?: boolean
24
+ /** Whether the pin is a passive component terminal. */
25
+ isPassive?: boolean
26
+ /** Whether the pin supports a high-impedance output state. */
27
+ canUseTriState?: boolean
28
+ /** Whether the pin is configured for tri-state operation, not its instantaneous impedance. */
29
+ isUsingTriState?: boolean
30
+ /** Whether the pin supports an open-collector output. */
31
+ canUseOpenCollector?: boolean
32
+ /** Whether the pin is configured as an open-collector output. */
33
+ isUsingOpenCollector?: boolean
34
+ /** Whether the pin supports an open-emitter output. */
35
+ canUseOpenEmitter?: boolean
36
+ /** Whether the pin is configured as an open-emitter output. */
37
+ isUsingOpenEmitter?: boolean
18
38
  capabilities?: Array<PinCapability>
19
39
  activeCapabilities?: Array<PinCapability>
20
40
  activeCapability?: PinCapability
@@ -44,6 +64,16 @@ export interface PinAttributeMap {
44
64
  }
45
65
 
46
66
  export const pinAttributeMap = z.object({
67
+ isInput: z.boolean().optional(),
68
+ isOutput: z.boolean().optional(),
69
+ isBidirectional: z.boolean().optional(),
70
+ isPassive: z.boolean().optional(),
71
+ canUseTriState: z.boolean().optional(),
72
+ isUsingTriState: z.boolean().optional(),
73
+ canUseOpenCollector: z.boolean().optional(),
74
+ isUsingOpenCollector: z.boolean().optional(),
75
+ canUseOpenEmitter: z.boolean().optional(),
76
+ isUsingOpenEmitter: z.boolean().optional(),
47
77
  capabilities: z.array(pinCapability).optional(),
48
78
  activeCapabilities: z.array(pinCapability).optional(),
49
79
  activeCapability: pinCapability.optional(),
@@ -124,6 +124,10 @@ export interface BoardProps
124
124
  * to false.
125
125
  */
126
126
  automaticPoursEnabled?: boolean
127
+ /** Whether to stitch copper pours on the same net across layers with vias. Defaults to false. */
128
+ enableViaStitching?: boolean
129
+ /** Positive center-to-center stitching via spacing in millimeters or a unit string. Omitted uses the solver default. Does not enable stitching by itself. */
130
+ viaStitchPitch?: Distance
127
131
  /** Whether this board should be omitted from the schematic view */
128
132
  schematicDisabled?: boolean
129
133
  }
@@ -176,6 +180,18 @@ export const boardProps = subcircuitGroupProps
176
180
  .describe(
177
181
  "Whether implicit copper pours should be generated automatically. Defaults to false.",
178
182
  ),
183
+ enableViaStitching: z
184
+ .boolean()
185
+ .default(false)
186
+ .describe(
187
+ "Whether to stitch copper pours on the same net across layers with vias. Defaults to false.",
188
+ ),
189
+ viaStitchPitch: distance
190
+ .pipe(z.number().positive().finite())
191
+ .optional()
192
+ .describe(
193
+ "Positive center-to-center stitching via spacing in millimeters or a unit string, parsed to millimeters. Omitted uses the solver default. Does not enable stitching by itself.",
194
+ ),
179
195
  schematicDisabled: z.boolean().optional(),
180
196
  })
181
197
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/props",
3
- "version": "0.0.649",
3
+ "version": "0.0.651",
4
4
  "description": "Props for tscircuit builtin component types",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",