@tscircuit/core 0.0.697 → 0.0.699
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 +43 -25
- package/dist/index.js +65 -4
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -868,12 +868,18 @@ declare const portProps: z.ZodObject<{
|
|
|
868
868
|
name: z.ZodOptional<z.ZodString>;
|
|
869
869
|
pinNumber: z.ZodOptional<z.ZodNumber>;
|
|
870
870
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
871
|
+
layer: z.ZodOptional<z.ZodString>;
|
|
872
|
+
layers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
871
873
|
}, "strip", z.ZodTypeAny, {
|
|
872
874
|
name?: string | undefined;
|
|
875
|
+
layer?: string | undefined;
|
|
876
|
+
layers?: string[] | undefined;
|
|
873
877
|
pinNumber?: number | undefined;
|
|
874
878
|
aliases?: string[] | undefined;
|
|
875
879
|
}, {
|
|
876
880
|
name?: string | undefined;
|
|
881
|
+
layer?: string | undefined;
|
|
882
|
+
layers?: string[] | undefined;
|
|
877
883
|
pinNumber?: number | undefined;
|
|
878
884
|
aliases?: string[] | undefined;
|
|
879
885
|
}>;
|
|
@@ -891,12 +897,18 @@ declare class Port extends PrimitiveComponent<typeof portProps> {
|
|
|
891
897
|
name: z.ZodOptional<z.ZodString>;
|
|
892
898
|
pinNumber: z.ZodOptional<z.ZodNumber>;
|
|
893
899
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
900
|
+
layer: z.ZodOptional<z.ZodString>;
|
|
901
|
+
layers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
894
902
|
}, "strip", z.ZodTypeAny, {
|
|
895
903
|
name?: string | undefined;
|
|
904
|
+
layer?: string | undefined;
|
|
905
|
+
layers?: string[] | undefined;
|
|
896
906
|
pinNumber?: number | undefined;
|
|
897
907
|
aliases?: string[] | undefined;
|
|
898
908
|
}, {
|
|
899
909
|
name?: string | undefined;
|
|
910
|
+
layer?: string | undefined;
|
|
911
|
+
layers?: string[] | undefined;
|
|
900
912
|
pinNumber?: number | undefined;
|
|
901
913
|
aliases?: string[] | undefined;
|
|
902
914
|
}>;
|
|
@@ -13325,52 +13337,54 @@ declare class Via extends PrimitiveComponent<typeof viaProps> {
|
|
|
13325
13337
|
pcb_via_id: string | null;
|
|
13326
13338
|
matchedPort: Port | null;
|
|
13327
13339
|
isPcbPrimitive: boolean;
|
|
13340
|
+
source_manually_placed_via_id: string | null;
|
|
13341
|
+
constructor(props: z.input<typeof viaProps>);
|
|
13328
13342
|
get config(): {
|
|
13329
13343
|
componentName: string;
|
|
13330
|
-
zodProps:
|
|
13331
|
-
pcbX:
|
|
13332
|
-
pcbY:
|
|
13333
|
-
pcbRotation:
|
|
13334
|
-
schX:
|
|
13335
|
-
schY:
|
|
13336
|
-
schRotation:
|
|
13337
|
-
layer:
|
|
13338
|
-
name:
|
|
13339
|
-
}, "strip",
|
|
13344
|
+
zodProps: z.ZodObject<{
|
|
13345
|
+
pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13346
|
+
pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13347
|
+
pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13348
|
+
schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13349
|
+
schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13350
|
+
schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
13351
|
+
layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
13352
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
13353
|
+
}, "strip", z.ZodTypeAny, {
|
|
13340
13354
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13341
13355
|
}, {
|
|
13342
13356
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13343
13357
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
13344
13358
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13345
13359
|
}>>;
|
|
13346
|
-
footprint:
|
|
13347
|
-
relative:
|
|
13348
|
-
schRelative:
|
|
13349
|
-
pcbRelative:
|
|
13360
|
+
footprint: z.ZodOptional<z.ZodType<_tscircuit_props.FootprintProp, z.ZodTypeDef, _tscircuit_props.FootprintProp>>;
|
|
13361
|
+
relative: z.ZodOptional<z.ZodBoolean>;
|
|
13362
|
+
schRelative: z.ZodOptional<z.ZodBoolean>;
|
|
13363
|
+
pcbRelative: z.ZodOptional<z.ZodBoolean>;
|
|
13350
13364
|
} & {
|
|
13351
|
-
name:
|
|
13352
|
-
fromLayer:
|
|
13353
|
-
name:
|
|
13354
|
-
}, "strip",
|
|
13365
|
+
name: z.ZodOptional<z.ZodString>;
|
|
13366
|
+
fromLayer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
13367
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
13368
|
+
}, "strip", z.ZodTypeAny, {
|
|
13355
13369
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13356
13370
|
}, {
|
|
13357
13371
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13358
13372
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
13359
13373
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13360
13374
|
}>;
|
|
13361
|
-
toLayer:
|
|
13362
|
-
name:
|
|
13363
|
-
}, "strip",
|
|
13375
|
+
toLayer: z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
13376
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
13377
|
+
}, "strip", z.ZodTypeAny, {
|
|
13364
13378
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13365
13379
|
}, {
|
|
13366
13380
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13367
13381
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
13368
13382
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
13369
13383
|
}>;
|
|
13370
|
-
holeDiameter:
|
|
13371
|
-
outerDiameter:
|
|
13372
|
-
connectsTo:
|
|
13373
|
-
}, "strip",
|
|
13384
|
+
holeDiameter: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
13385
|
+
outerDiameter: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
|
|
13386
|
+
connectsTo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
13387
|
+
}, "strip", z.ZodTypeAny, {
|
|
13374
13388
|
holeDiameter: number;
|
|
13375
13389
|
outerDiameter: number;
|
|
13376
13390
|
fromLayer: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
@@ -13437,6 +13451,10 @@ declare class Via extends PrimitiveComponent<typeof viaProps> {
|
|
|
13437
13451
|
x: number;
|
|
13438
13452
|
y: number;
|
|
13439
13453
|
}): void;
|
|
13454
|
+
_getLayers(): LayerRef[];
|
|
13455
|
+
initPorts(): void;
|
|
13456
|
+
doInitialPcbComponentRender(): void;
|
|
13457
|
+
doInitialSourceRender(): void;
|
|
13440
13458
|
doInitialPcbPrimitiveRender(): void;
|
|
13441
13459
|
}
|
|
13442
13460
|
|
package/dist/index.js
CHANGED
|
@@ -3037,7 +3037,9 @@ var getCenterOfPcbPrimitives = (pcbPrimitives) => {
|
|
|
3037
3037
|
var portProps = z6.object({
|
|
3038
3038
|
name: z6.string().optional(),
|
|
3039
3039
|
pinNumber: z6.number().optional(),
|
|
3040
|
-
aliases: z6.array(z6.string()).optional()
|
|
3040
|
+
aliases: z6.array(z6.string()).optional(),
|
|
3041
|
+
layer: z6.string().optional(),
|
|
3042
|
+
layers: z6.array(z6.string()).optional()
|
|
3041
3043
|
});
|
|
3042
3044
|
var Port = class extends PrimitiveComponent2 {
|
|
3043
3045
|
source_port_id = null;
|
|
@@ -3217,6 +3219,9 @@ var Port = class extends PrimitiveComponent2 {
|
|
|
3217
3219
|
return `.${this.parent?.props.name} > port.${this.props.name}`;
|
|
3218
3220
|
}
|
|
3219
3221
|
getAvailablePcbLayers() {
|
|
3222
|
+
const { layer, layers } = this._parsedProps;
|
|
3223
|
+
if (layers) return layers;
|
|
3224
|
+
if (layer) return [layer];
|
|
3220
3225
|
return Array.from(
|
|
3221
3226
|
new Set(this.matchedComponents.flatMap((c) => c.getAvailablePcbLayers()))
|
|
3222
3227
|
);
|
|
@@ -8104,7 +8109,10 @@ var getSimpleRouteJsonFromCircuitJson = ({
|
|
|
8104
8109
|
};
|
|
8105
8110
|
}
|
|
8106
8111
|
}
|
|
8107
|
-
const
|
|
8112
|
+
const routedTraceIds = new Set(
|
|
8113
|
+
db.pcb_trace.list().map((t) => t.source_trace_id).filter((id) => Boolean(id))
|
|
8114
|
+
);
|
|
8115
|
+
const directTraceConnections = db.source_trace.list().filter((trace) => !routedTraceIds.has(trace.source_trace_id)).map((trace) => {
|
|
8108
8116
|
const connectedPorts = trace.connected_source_port_ids.map((id) => {
|
|
8109
8117
|
const source_port = db.source_port.get(id);
|
|
8110
8118
|
const pcb_port = db.pcb_port.getWhere({ source_port_id: id });
|
|
@@ -13261,10 +13269,18 @@ var SilkscreenLine = class extends PrimitiveComponent2 {
|
|
|
13261
13269
|
|
|
13262
13270
|
// lib/components/primitive-components/Via.ts
|
|
13263
13271
|
import { viaProps } from "@tscircuit/props";
|
|
13272
|
+
import "zod";
|
|
13264
13273
|
var Via = class extends PrimitiveComponent2 {
|
|
13265
13274
|
pcb_via_id = null;
|
|
13266
13275
|
matchedPort = null;
|
|
13267
13276
|
isPcbPrimitive = true;
|
|
13277
|
+
source_manually_placed_via_id = null;
|
|
13278
|
+
constructor(props) {
|
|
13279
|
+
super(props);
|
|
13280
|
+
const layers = this._getLayers();
|
|
13281
|
+
this._parsedProps.layers = layers;
|
|
13282
|
+
this.initPorts();
|
|
13283
|
+
}
|
|
13268
13284
|
get config() {
|
|
13269
13285
|
return {
|
|
13270
13286
|
componentName: "Via",
|
|
@@ -13301,6 +13317,51 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
13301
13317
|
y: newCenter.y
|
|
13302
13318
|
});
|
|
13303
13319
|
}
|
|
13320
|
+
_getLayers() {
|
|
13321
|
+
const { fromLayer = "top", toLayer = "bottom" } = this._parsedProps;
|
|
13322
|
+
if (fromLayer === toLayer) return [fromLayer];
|
|
13323
|
+
return [fromLayer, toLayer];
|
|
13324
|
+
}
|
|
13325
|
+
initPorts() {
|
|
13326
|
+
const layers = this._parsedProps.layers;
|
|
13327
|
+
for (const layer of layers) {
|
|
13328
|
+
const port2 = new Port({ name: layer, layer });
|
|
13329
|
+
port2.registerMatch(this);
|
|
13330
|
+
this.add(port2);
|
|
13331
|
+
}
|
|
13332
|
+
const port = new Port({ name: "pin1" });
|
|
13333
|
+
port.registerMatch(this);
|
|
13334
|
+
this.add(port);
|
|
13335
|
+
}
|
|
13336
|
+
doInitialPcbComponentRender() {
|
|
13337
|
+
if (this.root?.pcbDisabled) return;
|
|
13338
|
+
const { db } = this.root;
|
|
13339
|
+
const { _parsedProps: props } = this;
|
|
13340
|
+
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
13341
|
+
const subcircuit = this.getSubcircuit();
|
|
13342
|
+
const pcb_component = db.pcb_component.insert({
|
|
13343
|
+
center: position,
|
|
13344
|
+
width: props.outerDiameter,
|
|
13345
|
+
height: props.outerDiameter,
|
|
13346
|
+
layer: props.fromLayer ?? "top",
|
|
13347
|
+
rotation: 0,
|
|
13348
|
+
source_component_id: this.source_component_id,
|
|
13349
|
+
subcircuit_id: subcircuit?.subcircuit_id ?? void 0
|
|
13350
|
+
});
|
|
13351
|
+
this.pcb_component_id = pcb_component.pcb_component_id;
|
|
13352
|
+
}
|
|
13353
|
+
doInitialSourceRender() {
|
|
13354
|
+
const { db } = this.root;
|
|
13355
|
+
const { _parsedProps: props } = this;
|
|
13356
|
+
const group = this.getGroup();
|
|
13357
|
+
const subcircuit = this.getSubcircuit();
|
|
13358
|
+
const source_via = db.source_manually_placed_via.insert({
|
|
13359
|
+
source_group_id: group?.source_group_id,
|
|
13360
|
+
source_net_id: props.net ?? "",
|
|
13361
|
+
subcircuit_id: subcircuit?.subcircuit_id ?? void 0
|
|
13362
|
+
});
|
|
13363
|
+
this.source_component_id = source_via.source_manually_placed_via_id;
|
|
13364
|
+
}
|
|
13304
13365
|
doInitialPcbPrimitiveRender() {
|
|
13305
13366
|
if (this.root?.pcbDisabled) return;
|
|
13306
13367
|
const { db } = this.root;
|
|
@@ -14296,7 +14357,7 @@ import { identity as identity6 } from "transformation-matrix";
|
|
|
14296
14357
|
var package_default = {
|
|
14297
14358
|
name: "@tscircuit/core",
|
|
14298
14359
|
type: "module",
|
|
14299
|
-
version: "0.0.
|
|
14360
|
+
version: "0.0.698",
|
|
14300
14361
|
types: "dist/index.d.ts",
|
|
14301
14362
|
main: "dist/index.js",
|
|
14302
14363
|
module: "dist/index.js",
|
|
@@ -14349,7 +14410,7 @@ var package_default = {
|
|
|
14349
14410
|
"bun-match-svg": "0.0.12",
|
|
14350
14411
|
"calculate-elbow": "^0.0.11",
|
|
14351
14412
|
"chokidar-cli": "^3.0.0",
|
|
14352
|
-
"circuit-json": "^0.0.
|
|
14413
|
+
"circuit-json": "^0.0.245",
|
|
14353
14414
|
"circuit-json-to-bpc": "^0.0.13",
|
|
14354
14415
|
"circuit-json-to-connectivity-map": "^0.0.22",
|
|
14355
14416
|
"circuit-json-to-simple-3d": "^0.0.6",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.699",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"bun-match-svg": "0.0.12",
|
|
55
55
|
"calculate-elbow": "^0.0.11",
|
|
56
56
|
"chokidar-cli": "^3.0.0",
|
|
57
|
-
"circuit-json": "^0.0.
|
|
57
|
+
"circuit-json": "^0.0.245",
|
|
58
58
|
"circuit-json-to-bpc": "^0.0.13",
|
|
59
59
|
"circuit-json-to-connectivity-map": "^0.0.22",
|
|
60
60
|
"circuit-json-to-simple-3d": "^0.0.6",
|