@tscircuit/core 0.0.23 → 0.0.25
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/dist/index.d.ts +273 -277
- package/dist/index.js +351 -67
- package/lib/Project.ts +1 -1
- package/lib/components/base-components/NormalComponent.ts +15 -0
- package/lib/components/base-components/PrimitiveComponent.ts +14 -11
- package/lib/components/base-components/Renderable.ts +2 -0
- package/lib/components/normal-components/Board.ts +3 -2
- package/lib/components/normal-components/Capacitor.ts +9 -2
- package/lib/components/normal-components/Resistor.ts +8 -2
- package/lib/components/primitive-components/Group.ts +6 -2
- package/lib/components/primitive-components/Net.ts +159 -0
- package/lib/components/primitive-components/Port.ts +17 -1
- package/lib/components/primitive-components/Trace.ts +153 -18
- package/lib/fiber/intrinsic-jsx.ts +1 -0
- package/lib/utils/getClosest.ts +29 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ import { ReactElement } from 'react';
|
|
|
6
6
|
import { Matrix } from 'transformation-matrix';
|
|
7
7
|
import { SchSymbol, BaseSymbolName } from 'schematic-symbols';
|
|
8
8
|
import * as Props from '@tscircuit/props';
|
|
9
|
-
import { boardProps, footprintProps, smtPadProps, resistorProps, ledProps, capacitorProps,
|
|
10
|
-
import * as _tscircuit_layout from '@tscircuit/layout';
|
|
9
|
+
import { traceProps, groupProps, boardProps, footprintProps, smtPadProps, resistorProps, ledProps, capacitorProps, traceHintProps, chipProps, jumperProps, silkscreenPathProps, platedHoleProps } from '@tscircuit/props';
|
|
11
10
|
|
|
12
11
|
declare class Circuit {
|
|
13
12
|
rootComponent: PrimitiveComponent | null;
|
|
@@ -31,13 +30,13 @@ declare class Circuit {
|
|
|
31
30
|
computeGlobalSchematicTransform(): Matrix;
|
|
32
31
|
computeGlobalPcbTransform(): Matrix;
|
|
33
32
|
selectAll(selector: string): PrimitiveComponent[];
|
|
34
|
-
selectOne(selector: string, opts
|
|
33
|
+
selectOne(selector: string, opts?: {
|
|
35
34
|
type?: "component" | "port";
|
|
36
35
|
}): PrimitiveComponent | null;
|
|
37
36
|
}
|
|
38
37
|
declare const Project: typeof Circuit;
|
|
39
38
|
|
|
40
|
-
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "CreateTracesFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicLayout", "SchematicPortRender", "SchematicTraceRender", "PcbComponentRender", "PcbPortRender", "PcbPrimitiveRender", "PcbParentAttachment", "PcbLayout", "PcbTraceRender", "CadModelRender", "PcbAnalysis"];
|
|
39
|
+
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "CreateNetsFromProps", "CreateTracesFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SchematicComponentRender", "SchematicLayout", "SchematicPortRender", "SchematicTraceRender", "PcbComponentRender", "PcbPortRender", "PcbPrimitiveRender", "PcbParentAttachment", "PcbLayout", "PcbTraceRender", "PcbRouteNetIslands", "CadModelRender", "PcbAnalysis"];
|
|
41
40
|
type RenderPhase = (typeof orderedRenderPhases)[number];
|
|
42
41
|
type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
|
|
43
42
|
type RenderPhaseStates = Record<RenderPhase, {
|
|
@@ -99,12 +98,12 @@ declare abstract class PrimitiveComponent<ZodProps extends ZodType = any> extend
|
|
|
99
98
|
lowercaseComponentName: string;
|
|
100
99
|
externallyAddedAliases: string[];
|
|
101
100
|
/**
|
|
102
|
-
* An
|
|
103
|
-
*
|
|
104
|
-
*
|
|
101
|
+
* An subcircuit is self-contained. All the selectors inside
|
|
102
|
+
* a subcircuit are relative to the subcircuit group. You can have multiple
|
|
103
|
+
* subcircuits and their selectors will not interact with each other (even if the
|
|
105
104
|
* components share the same names) unless you explicitly break out some ports
|
|
106
105
|
*/
|
|
107
|
-
get
|
|
106
|
+
get isSubcircuit(): boolean;
|
|
108
107
|
source_group_id: string | null;
|
|
109
108
|
source_component_id: string | null;
|
|
110
109
|
schematic_component_id: string | null;
|
|
@@ -155,13 +154,13 @@ declare abstract class PrimitiveComponent<ZodProps extends ZodType = any> extend
|
|
|
155
154
|
add(component: PrimitiveComponent): void;
|
|
156
155
|
addAll(components: PrimitiveComponent[]): void;
|
|
157
156
|
remove(component: PrimitiveComponent): void;
|
|
158
|
-
|
|
157
|
+
getSubcircuitSelector(): string;
|
|
159
158
|
getFullPathSelector(): string;
|
|
160
159
|
getNameAndAliases(): string[];
|
|
161
160
|
isMatchingNameOrAlias(name: string): boolean;
|
|
162
161
|
isMatchingAnyOf(aliases: Array<string | number>): boolean;
|
|
163
162
|
doesSelectorMatch(selector: string): boolean;
|
|
164
|
-
|
|
163
|
+
getSubcircuit(): PrimitiveComponent;
|
|
165
164
|
selectAll(selector: string): PrimitiveComponent[];
|
|
166
165
|
selectOne(selector: string, options?: {
|
|
167
166
|
type?: string;
|
|
@@ -175,6 +174,250 @@ declare abstract class PrimitiveComponent<ZodProps extends ZodType = any> extend
|
|
|
175
174
|
get [Symbol.toStringTag](): string;
|
|
176
175
|
}
|
|
177
176
|
|
|
177
|
+
declare const netProps: z.ZodObject<{
|
|
178
|
+
name: z.ZodString;
|
|
179
|
+
}, "strip", z.ZodTypeAny, {
|
|
180
|
+
name: string;
|
|
181
|
+
}, {
|
|
182
|
+
name: string;
|
|
183
|
+
}>;
|
|
184
|
+
declare class Net extends PrimitiveComponent<typeof netProps> {
|
|
185
|
+
source_net_id?: string;
|
|
186
|
+
getPortSelector(): string;
|
|
187
|
+
doInitialSourceComponentRender(): void;
|
|
188
|
+
/**
|
|
189
|
+
* Get all ports connected to this net.
|
|
190
|
+
*
|
|
191
|
+
* TODO currently we're not checking for indirect connections (traces that are
|
|
192
|
+
* connected to other traces that are in turn connected to the net)
|
|
193
|
+
*/
|
|
194
|
+
getAllConnectedPorts(): Port[];
|
|
195
|
+
/**
|
|
196
|
+
* Get all traces that are directly connected to this net, i.e. they list
|
|
197
|
+
* this net in their path, from, or to props
|
|
198
|
+
*/
|
|
199
|
+
_getAllDirectlyConnectedTraces(): Trace[];
|
|
200
|
+
/**
|
|
201
|
+
* Add PCB Traces to connect net islands together. A net island is a set of
|
|
202
|
+
* ports that are connected to each other. If a there are multiple net islands
|
|
203
|
+
* that means that the net is not fully connected and we need to add traces
|
|
204
|
+
* such that the nets are fully connected
|
|
205
|
+
*/
|
|
206
|
+
doInitialPcbRouteNetIslands(): void;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
declare class Trace extends PrimitiveComponent<typeof traceProps> {
|
|
210
|
+
source_trace_id: string | null;
|
|
211
|
+
pcb_trace_id: string | null;
|
|
212
|
+
schematic_trace_id: string | null;
|
|
213
|
+
_portsRoutedOnPcb: Port[];
|
|
214
|
+
constructor(props: z.input<typeof traceProps>);
|
|
215
|
+
get config(): {
|
|
216
|
+
zodProps: z.ZodUnion<[z.ZodObject<{
|
|
217
|
+
path: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<{
|
|
218
|
+
getPortSelector: () => string;
|
|
219
|
+
}, z.ZodTypeDef, {
|
|
220
|
+
getPortSelector: () => string;
|
|
221
|
+
}>]>, "many">;
|
|
222
|
+
thickness: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
223
|
+
schematicRouteHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
224
|
+
x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
225
|
+
y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
x: number;
|
|
228
|
+
y: number;
|
|
229
|
+
}, {
|
|
230
|
+
x: string | number;
|
|
231
|
+
y: string | number;
|
|
232
|
+
}>, "many">>;
|
|
233
|
+
pcbRouteHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
234
|
+
x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
235
|
+
y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
236
|
+
via: z.ZodOptional<z.ZodBoolean>;
|
|
237
|
+
to_layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
238
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
239
|
+
}, "strip", z.ZodTypeAny, {
|
|
240
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
241
|
+
}, {
|
|
242
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
243
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
244
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
245
|
+
}>>;
|
|
246
|
+
trace_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
x: number;
|
|
249
|
+
y: number;
|
|
250
|
+
trace_width?: number | undefined;
|
|
251
|
+
via?: boolean | undefined;
|
|
252
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
253
|
+
}, {
|
|
254
|
+
x: string | number;
|
|
255
|
+
y: string | number;
|
|
256
|
+
trace_width?: string | number | undefined;
|
|
257
|
+
via?: boolean | undefined;
|
|
258
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
259
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
260
|
+
} | undefined;
|
|
261
|
+
}>, "many">>;
|
|
262
|
+
}, "strip", z.ZodTypeAny, {
|
|
263
|
+
path: (string | {
|
|
264
|
+
getPortSelector: () => string;
|
|
265
|
+
})[];
|
|
266
|
+
thickness?: number | undefined;
|
|
267
|
+
schematicRouteHints?: {
|
|
268
|
+
x: number;
|
|
269
|
+
y: number;
|
|
270
|
+
}[] | undefined;
|
|
271
|
+
pcbRouteHints?: {
|
|
272
|
+
x: number;
|
|
273
|
+
y: number;
|
|
274
|
+
trace_width?: number | undefined;
|
|
275
|
+
via?: boolean | undefined;
|
|
276
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
277
|
+
}[] | undefined;
|
|
278
|
+
}, {
|
|
279
|
+
path: (string | {
|
|
280
|
+
getPortSelector: () => string;
|
|
281
|
+
})[];
|
|
282
|
+
thickness?: string | number | undefined;
|
|
283
|
+
schematicRouteHints?: {
|
|
284
|
+
x: string | number;
|
|
285
|
+
y: string | number;
|
|
286
|
+
}[] | undefined;
|
|
287
|
+
pcbRouteHints?: {
|
|
288
|
+
x: string | number;
|
|
289
|
+
y: string | number;
|
|
290
|
+
trace_width?: string | number | undefined;
|
|
291
|
+
via?: boolean | undefined;
|
|
292
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
293
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
294
|
+
} | undefined;
|
|
295
|
+
}[] | undefined;
|
|
296
|
+
}>, z.ZodObject<{
|
|
297
|
+
from: z.ZodUnion<[z.ZodString, z.ZodType<{
|
|
298
|
+
getPortSelector: () => string;
|
|
299
|
+
}, z.ZodTypeDef, {
|
|
300
|
+
getPortSelector: () => string;
|
|
301
|
+
}>]>;
|
|
302
|
+
to: z.ZodUnion<[z.ZodString, z.ZodType<{
|
|
303
|
+
getPortSelector: () => string;
|
|
304
|
+
}, z.ZodTypeDef, {
|
|
305
|
+
getPortSelector: () => string;
|
|
306
|
+
}>]>;
|
|
307
|
+
thickness: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
308
|
+
schematicRouteHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
309
|
+
x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
310
|
+
y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
311
|
+
}, "strip", z.ZodTypeAny, {
|
|
312
|
+
x: number;
|
|
313
|
+
y: number;
|
|
314
|
+
}, {
|
|
315
|
+
x: string | number;
|
|
316
|
+
y: string | number;
|
|
317
|
+
}>, "many">>;
|
|
318
|
+
pcbRouteHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
319
|
+
x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
320
|
+
y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
321
|
+
via: z.ZodOptional<z.ZodBoolean>;
|
|
322
|
+
to_layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
323
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
324
|
+
}, "strip", z.ZodTypeAny, {
|
|
325
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
326
|
+
}, {
|
|
327
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
328
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
329
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
330
|
+
}>>;
|
|
331
|
+
trace_width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
332
|
+
}, "strip", z.ZodTypeAny, {
|
|
333
|
+
x: number;
|
|
334
|
+
y: number;
|
|
335
|
+
trace_width?: number | undefined;
|
|
336
|
+
via?: boolean | undefined;
|
|
337
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
338
|
+
}, {
|
|
339
|
+
x: string | number;
|
|
340
|
+
y: string | number;
|
|
341
|
+
trace_width?: string | number | undefined;
|
|
342
|
+
via?: boolean | undefined;
|
|
343
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
344
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
345
|
+
} | undefined;
|
|
346
|
+
}>, "many">>;
|
|
347
|
+
}, "strip", z.ZodTypeAny, {
|
|
348
|
+
from: string | {
|
|
349
|
+
getPortSelector: () => string;
|
|
350
|
+
};
|
|
351
|
+
to: string | {
|
|
352
|
+
getPortSelector: () => string;
|
|
353
|
+
};
|
|
354
|
+
thickness?: number | undefined;
|
|
355
|
+
schematicRouteHints?: {
|
|
356
|
+
x: number;
|
|
357
|
+
y: number;
|
|
358
|
+
}[] | undefined;
|
|
359
|
+
pcbRouteHints?: {
|
|
360
|
+
x: number;
|
|
361
|
+
y: number;
|
|
362
|
+
trace_width?: number | undefined;
|
|
363
|
+
via?: boolean | undefined;
|
|
364
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
365
|
+
}[] | undefined;
|
|
366
|
+
}, {
|
|
367
|
+
from: string | {
|
|
368
|
+
getPortSelector: () => string;
|
|
369
|
+
};
|
|
370
|
+
to: string | {
|
|
371
|
+
getPortSelector: () => string;
|
|
372
|
+
};
|
|
373
|
+
thickness?: string | number | undefined;
|
|
374
|
+
schematicRouteHints?: {
|
|
375
|
+
x: string | number;
|
|
376
|
+
y: string | number;
|
|
377
|
+
}[] | undefined;
|
|
378
|
+
pcbRouteHints?: {
|
|
379
|
+
x: string | number;
|
|
380
|
+
y: string | number;
|
|
381
|
+
trace_width?: string | number | undefined;
|
|
382
|
+
via?: boolean | undefined;
|
|
383
|
+
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
384
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
385
|
+
} | undefined;
|
|
386
|
+
}[] | undefined;
|
|
387
|
+
}>]>;
|
|
388
|
+
};
|
|
389
|
+
_getTracePortOrNetSelectorListFromProps(): string[];
|
|
390
|
+
getTracePortPathSelectors(): string[];
|
|
391
|
+
getTracePathNetSelectors(): string[];
|
|
392
|
+
_findConnectedPorts(): {
|
|
393
|
+
allPortsFound: true;
|
|
394
|
+
ports: Port[];
|
|
395
|
+
portsWithSelectors: Array<{
|
|
396
|
+
selector: string;
|
|
397
|
+
port: Port;
|
|
398
|
+
}>;
|
|
399
|
+
} | {
|
|
400
|
+
allPortsFound: false;
|
|
401
|
+
ports?: undefined;
|
|
402
|
+
portsWithSelectors?: undefined;
|
|
403
|
+
};
|
|
404
|
+
_findConnectedNets(): Array<{
|
|
405
|
+
selector: string;
|
|
406
|
+
net: Net;
|
|
407
|
+
}>;
|
|
408
|
+
/**
|
|
409
|
+
* Determine if a trace is explicitly connected to a port (not via a net)
|
|
410
|
+
*/
|
|
411
|
+
_isExplicitlyConnectedToPort(port: Port): boolean;
|
|
412
|
+
/**
|
|
413
|
+
* Determine if a trace is explicitly connected to a net (not via a port)
|
|
414
|
+
*/
|
|
415
|
+
_isExplicitlyConnectedToNet(net: Net): boolean;
|
|
416
|
+
doInitialSourceTraceRender(): void;
|
|
417
|
+
doInitialPcbTraceRender(): void;
|
|
418
|
+
doInitialSchematicTraceRender(): void;
|
|
419
|
+
}
|
|
420
|
+
|
|
178
421
|
declare const portProps: z.ZodObject<{
|
|
179
422
|
name: z.ZodOptional<z.ZodString>;
|
|
180
423
|
pinNumber: z.ZodOptional<z.ZodNumber>;
|
|
@@ -214,6 +457,10 @@ declare class Port extends PrimitiveComponent<typeof portProps> {
|
|
|
214
457
|
isMatchingPort(port: Port): boolean;
|
|
215
458
|
getPortSelector(): string;
|
|
216
459
|
getAvailablePcbLayers(): string[];
|
|
460
|
+
/**
|
|
461
|
+
* Return traces that are explicitly connected to this port (not via a net)
|
|
462
|
+
*/
|
|
463
|
+
_getDirectlyConnectedTraces(): Trace[];
|
|
217
464
|
doInitialSourceRender(): void;
|
|
218
465
|
doInitialSourceParentAttachment(): void;
|
|
219
466
|
/**
|
|
@@ -286,6 +533,7 @@ declare class NormalComponent<ZodProps extends ZodType = any, PortNames extends
|
|
|
286
533
|
add(componentOrElm: PrimitiveComponent | ReactElement): void;
|
|
287
534
|
getPortsFromFootprint(): Port[];
|
|
288
535
|
getPortsFromSchematicSymbol(): Port[];
|
|
536
|
+
_createNetsFromProps(propsWithConnections: (string | undefined | null)[]): void;
|
|
289
537
|
/**
|
|
290
538
|
* Use data from our props to create ports for this component.
|
|
291
539
|
*
|
|
@@ -298,9 +546,15 @@ declare class NormalComponent<ZodProps extends ZodType = any, PortNames extends
|
|
|
298
546
|
doInitialPortDiscovery(): void;
|
|
299
547
|
}
|
|
300
548
|
|
|
301
|
-
declare class
|
|
549
|
+
declare class Group<Props extends z.ZodType<any, any, any> = typeof groupProps> extends NormalComponent<Props> {
|
|
550
|
+
get config(): {
|
|
551
|
+
zodProps: Props;
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
declare class Board extends Group<typeof boardProps> {
|
|
302
556
|
pcb_board_id: string | null;
|
|
303
|
-
get
|
|
557
|
+
get isSubcircuit(): boolean;
|
|
304
558
|
get config(): {
|
|
305
559
|
zodProps: z.ZodObject<{
|
|
306
560
|
width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
@@ -326,24 +580,24 @@ declare class Board extends NormalComponent<typeof boardProps> {
|
|
|
326
580
|
children?: any;
|
|
327
581
|
width?: number | undefined;
|
|
328
582
|
height?: number | undefined;
|
|
329
|
-
layout?: any;
|
|
330
|
-
routingDisabled?: boolean | undefined;
|
|
331
583
|
outline?: {
|
|
332
584
|
x: number;
|
|
333
585
|
y: number;
|
|
334
586
|
}[] | undefined;
|
|
587
|
+
layout?: any;
|
|
588
|
+
routingDisabled?: boolean | undefined;
|
|
335
589
|
}, {
|
|
336
590
|
pcbX?: string | number | undefined;
|
|
337
591
|
pcbY?: string | number | undefined;
|
|
338
592
|
children?: any;
|
|
339
593
|
width?: string | number | undefined;
|
|
340
594
|
height?: string | number | undefined;
|
|
341
|
-
layout?: any;
|
|
342
|
-
routingDisabled?: boolean | undefined;
|
|
343
595
|
outline?: {
|
|
344
596
|
x: string | number;
|
|
345
597
|
y: string | number;
|
|
346
598
|
}[] | undefined;
|
|
599
|
+
layout?: any;
|
|
600
|
+
routingDisabled?: boolean | undefined;
|
|
347
601
|
}>;
|
|
348
602
|
};
|
|
349
603
|
doInitialPcbComponentRender(): void;
|
|
@@ -852,6 +1106,7 @@ declare class Resistor extends NormalComponent<typeof resistorProps, PassivePort
|
|
|
852
1106
|
};
|
|
853
1107
|
pin1: Port;
|
|
854
1108
|
pin2: Port;
|
|
1109
|
+
doInitialCreateNetsFromProps(): void;
|
|
855
1110
|
doInitialCreateTracesFromProps(): void;
|
|
856
1111
|
doInitialSourceRender(): void;
|
|
857
1112
|
}
|
|
@@ -1664,277 +1919,17 @@ declare class Capacitor extends NormalComponent<typeof capacitorProps, PortNames
|
|
|
1664
1919
|
};
|
|
1665
1920
|
pin1: Port;
|
|
1666
1921
|
pin2: Port;
|
|
1922
|
+
doInitialCreateNetsFromProps(): void;
|
|
1667
1923
|
doInitialCreateTracesFromProps(): void;
|
|
1668
1924
|
doInitialSourceRender(): void;
|
|
1669
1925
|
}
|
|
1670
1926
|
|
|
1671
|
-
declare const netProps: z.ZodObject<{
|
|
1672
|
-
name: z.ZodString;
|
|
1673
|
-
}, "strip", z.ZodTypeAny, {
|
|
1674
|
-
name: string;
|
|
1675
|
-
}, {
|
|
1676
|
-
name: string;
|
|
1677
|
-
}>;
|
|
1678
|
-
declare class Net extends PrimitiveComponent<typeof netProps> {
|
|
1679
|
-
getPortSelector(): string;
|
|
1680
|
-
}
|
|
1681
|
-
|
|
1682
|
-
declare class Trace extends PrimitiveComponent<typeof traceProps> {
|
|
1683
|
-
source_trace_id: string | null;
|
|
1684
|
-
pcb_trace_id: string | null;
|
|
1685
|
-
schematic_trace_id: string | null;
|
|
1686
|
-
get config(): {
|
|
1687
|
-
zodProps: zod.ZodUnion<[zod.ZodObject<{
|
|
1688
|
-
path: zod.ZodArray<zod.ZodUnion<[zod.ZodString, zod.ZodType<{
|
|
1689
|
-
getPortSelector: () => string;
|
|
1690
|
-
}, zod.ZodTypeDef, {
|
|
1691
|
-
getPortSelector: () => string;
|
|
1692
|
-
}>]>, "many">;
|
|
1693
|
-
thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1694
|
-
schematicRouteHints: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1695
|
-
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1696
|
-
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1697
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1698
|
-
x: number;
|
|
1699
|
-
y: number;
|
|
1700
|
-
}, {
|
|
1701
|
-
x: string | number;
|
|
1702
|
-
y: string | number;
|
|
1703
|
-
}>, "many">>;
|
|
1704
|
-
pcbRouteHints: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1705
|
-
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1706
|
-
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1707
|
-
via: zod.ZodOptional<zod.ZodBoolean>;
|
|
1708
|
-
to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
1709
|
-
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
1710
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1711
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1712
|
-
}, {
|
|
1713
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1714
|
-
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1715
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1716
|
-
}>>;
|
|
1717
|
-
trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1718
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1719
|
-
x: number;
|
|
1720
|
-
y: number;
|
|
1721
|
-
trace_width?: number | undefined;
|
|
1722
|
-
via?: boolean | undefined;
|
|
1723
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1724
|
-
}, {
|
|
1725
|
-
x: string | number;
|
|
1726
|
-
y: string | number;
|
|
1727
|
-
trace_width?: string | number | undefined;
|
|
1728
|
-
via?: boolean | undefined;
|
|
1729
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1730
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1731
|
-
} | undefined;
|
|
1732
|
-
}>, "many">>;
|
|
1733
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1734
|
-
path: (string | {
|
|
1735
|
-
getPortSelector: () => string;
|
|
1736
|
-
})[];
|
|
1737
|
-
thickness?: number | undefined;
|
|
1738
|
-
schematicRouteHints?: {
|
|
1739
|
-
x: number;
|
|
1740
|
-
y: number;
|
|
1741
|
-
}[] | undefined;
|
|
1742
|
-
pcbRouteHints?: {
|
|
1743
|
-
x: number;
|
|
1744
|
-
y: number;
|
|
1745
|
-
trace_width?: number | undefined;
|
|
1746
|
-
via?: boolean | undefined;
|
|
1747
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1748
|
-
}[] | undefined;
|
|
1749
|
-
}, {
|
|
1750
|
-
path: (string | {
|
|
1751
|
-
getPortSelector: () => string;
|
|
1752
|
-
})[];
|
|
1753
|
-
thickness?: string | number | undefined;
|
|
1754
|
-
schematicRouteHints?: {
|
|
1755
|
-
x: string | number;
|
|
1756
|
-
y: string | number;
|
|
1757
|
-
}[] | undefined;
|
|
1758
|
-
pcbRouteHints?: {
|
|
1759
|
-
x: string | number;
|
|
1760
|
-
y: string | number;
|
|
1761
|
-
trace_width?: string | number | undefined;
|
|
1762
|
-
via?: boolean | undefined;
|
|
1763
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1764
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1765
|
-
} | undefined;
|
|
1766
|
-
}[] | undefined;
|
|
1767
|
-
}>, zod.ZodObject<{
|
|
1768
|
-
from: zod.ZodUnion<[zod.ZodString, zod.ZodType<{
|
|
1769
|
-
getPortSelector: () => string;
|
|
1770
|
-
}, zod.ZodTypeDef, {
|
|
1771
|
-
getPortSelector: () => string;
|
|
1772
|
-
}>]>;
|
|
1773
|
-
to: zod.ZodUnion<[zod.ZodString, zod.ZodType<{
|
|
1774
|
-
getPortSelector: () => string;
|
|
1775
|
-
}, zod.ZodTypeDef, {
|
|
1776
|
-
getPortSelector: () => string;
|
|
1777
|
-
}>]>;
|
|
1778
|
-
thickness: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1779
|
-
schematicRouteHints: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1780
|
-
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1781
|
-
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1782
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1783
|
-
x: number;
|
|
1784
|
-
y: number;
|
|
1785
|
-
}, {
|
|
1786
|
-
x: string | number;
|
|
1787
|
-
y: string | number;
|
|
1788
|
-
}>, "many">>;
|
|
1789
|
-
pcbRouteHints: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1790
|
-
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1791
|
-
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1792
|
-
via: zod.ZodOptional<zod.ZodBoolean>;
|
|
1793
|
-
to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
1794
|
-
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
1795
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1796
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1797
|
-
}, {
|
|
1798
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1799
|
-
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1800
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1801
|
-
}>>;
|
|
1802
|
-
trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1803
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1804
|
-
x: number;
|
|
1805
|
-
y: number;
|
|
1806
|
-
trace_width?: number | undefined;
|
|
1807
|
-
via?: boolean | undefined;
|
|
1808
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1809
|
-
}, {
|
|
1810
|
-
x: string | number;
|
|
1811
|
-
y: string | number;
|
|
1812
|
-
trace_width?: string | number | undefined;
|
|
1813
|
-
via?: boolean | undefined;
|
|
1814
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1815
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1816
|
-
} | undefined;
|
|
1817
|
-
}>, "many">>;
|
|
1818
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1819
|
-
from: string | {
|
|
1820
|
-
getPortSelector: () => string;
|
|
1821
|
-
};
|
|
1822
|
-
to: string | {
|
|
1823
|
-
getPortSelector: () => string;
|
|
1824
|
-
};
|
|
1825
|
-
thickness?: number | undefined;
|
|
1826
|
-
schematicRouteHints?: {
|
|
1827
|
-
x: number;
|
|
1828
|
-
y: number;
|
|
1829
|
-
}[] | undefined;
|
|
1830
|
-
pcbRouteHints?: {
|
|
1831
|
-
x: number;
|
|
1832
|
-
y: number;
|
|
1833
|
-
trace_width?: number | undefined;
|
|
1834
|
-
via?: boolean | undefined;
|
|
1835
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1836
|
-
}[] | undefined;
|
|
1837
|
-
}, {
|
|
1838
|
-
from: string | {
|
|
1839
|
-
getPortSelector: () => string;
|
|
1840
|
-
};
|
|
1841
|
-
to: string | {
|
|
1842
|
-
getPortSelector: () => string;
|
|
1843
|
-
};
|
|
1844
|
-
thickness?: string | number | undefined;
|
|
1845
|
-
schematicRouteHints?: {
|
|
1846
|
-
x: string | number;
|
|
1847
|
-
y: string | number;
|
|
1848
|
-
}[] | undefined;
|
|
1849
|
-
pcbRouteHints?: {
|
|
1850
|
-
x: string | number;
|
|
1851
|
-
y: string | number;
|
|
1852
|
-
trace_width?: string | number | undefined;
|
|
1853
|
-
via?: boolean | undefined;
|
|
1854
|
-
to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1855
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1856
|
-
} | undefined;
|
|
1857
|
-
}[] | undefined;
|
|
1858
|
-
}>]>;
|
|
1859
|
-
};
|
|
1860
|
-
getTracePortPathSelectors(): string[];
|
|
1861
|
-
_findConnectedPorts(): {
|
|
1862
|
-
allPortsFound: true;
|
|
1863
|
-
ports: Array<{
|
|
1864
|
-
selector: string;
|
|
1865
|
-
port: Port;
|
|
1866
|
-
}>;
|
|
1867
|
-
} | {
|
|
1868
|
-
allPortsFound: false;
|
|
1869
|
-
ports?: undefined;
|
|
1870
|
-
};
|
|
1871
|
-
doInitialSourceTraceRender(): void;
|
|
1872
|
-
doInitialPcbTraceRender(): void;
|
|
1873
|
-
doInitialSchematicTraceRender(): void;
|
|
1874
|
-
}
|
|
1875
|
-
|
|
1876
1927
|
declare class TraceHint extends PrimitiveComponent<typeof traceHintProps> {
|
|
1877
1928
|
matchedPort: Port | null;
|
|
1878
1929
|
doInitialPortMatching(): void;
|
|
1879
1930
|
getPcbRouteHints(): Array<RouteHintPoint>;
|
|
1880
1931
|
}
|
|
1881
1932
|
|
|
1882
|
-
declare class Group extends PrimitiveComponent<typeof groupProps> {
|
|
1883
|
-
get config(): {
|
|
1884
|
-
zodProps: zod.ZodObject<zod.objectUtil.extendShape<{
|
|
1885
|
-
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1886
|
-
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1887
|
-
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1888
|
-
schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1889
|
-
schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1890
|
-
schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1891
|
-
layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
1892
|
-
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
1893
|
-
}, "strip", zod.ZodTypeAny, {
|
|
1894
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1895
|
-
}, {
|
|
1896
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1897
|
-
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1898
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1899
|
-
}>>;
|
|
1900
|
-
footprint: zod.ZodOptional<zod.ZodType<Props.Footprint, zod.ZodTypeDef, Props.Footprint>>;
|
|
1901
|
-
}, {
|
|
1902
|
-
name: zod.ZodOptional<zod.ZodString>;
|
|
1903
|
-
layout: zod.ZodOptional<zod.ZodType<_tscircuit_layout.LayoutBuilder, zod.ZodTypeDef, _tscircuit_layout.LayoutBuilder>>;
|
|
1904
|
-
children: zod.ZodOptional<zod.ZodAny>;
|
|
1905
|
-
routingDisabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
1906
|
-
}>, "strip", zod.ZodTypeAny, {
|
|
1907
|
-
pcbX?: number | undefined;
|
|
1908
|
-
pcbY?: number | undefined;
|
|
1909
|
-
pcbRotation?: number | undefined;
|
|
1910
|
-
schX?: number | undefined;
|
|
1911
|
-
schY?: number | undefined;
|
|
1912
|
-
schRotation?: number | undefined;
|
|
1913
|
-
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
1914
|
-
footprint?: Props.Footprint | undefined;
|
|
1915
|
-
name?: string | undefined;
|
|
1916
|
-
children?: any;
|
|
1917
|
-
layout?: _tscircuit_layout.LayoutBuilder | undefined;
|
|
1918
|
-
routingDisabled?: boolean | undefined;
|
|
1919
|
-
}, {
|
|
1920
|
-
pcbX?: string | number | undefined;
|
|
1921
|
-
pcbY?: string | number | undefined;
|
|
1922
|
-
pcbRotation?: string | number | undefined;
|
|
1923
|
-
schX?: string | number | undefined;
|
|
1924
|
-
schY?: string | number | undefined;
|
|
1925
|
-
schRotation?: string | number | undefined;
|
|
1926
|
-
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1927
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1928
|
-
} | undefined;
|
|
1929
|
-
footprint?: Props.Footprint | undefined;
|
|
1930
|
-
name?: string | undefined;
|
|
1931
|
-
children?: any;
|
|
1932
|
-
layout?: _tscircuit_layout.LayoutBuilder | undefined;
|
|
1933
|
-
routingDisabled?: boolean | undefined;
|
|
1934
|
-
}>;
|
|
1935
|
-
};
|
|
1936
|
-
}
|
|
1937
|
-
|
|
1938
1933
|
interface SchematicBoxDimensions {
|
|
1939
1934
|
pinCount: number;
|
|
1940
1935
|
getPortPositionByPinNumber(pinNumber: number): {
|
|
@@ -3341,6 +3336,7 @@ declare global {
|
|
|
3341
3336
|
port: Props.PortProps;
|
|
3342
3337
|
group: Props.GroupProps;
|
|
3343
3338
|
netalias: Props.NetAliasProps;
|
|
3339
|
+
net: Props.NetProps;
|
|
3344
3340
|
trace: Props.TraceProps;
|
|
3345
3341
|
custom: any;
|
|
3346
3342
|
component: Props.ComponentProps;
|