@tscircuit/core 0.0.1936 → 0.0.1938
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 +12 -6
- package/dist/index.js +59 -21
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -99217,6 +99217,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99217
99217
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
|
|
99218
99218
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
|
|
99219
99219
|
}>, "many">>;
|
|
99220
|
+
warningOnly: zod.ZodOptional<zod.ZodBoolean>;
|
|
99220
99221
|
excludeRefs: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
99221
99222
|
}, "strip", zod.ZodTypeAny, {
|
|
99222
99223
|
shape: "circle";
|
|
@@ -99253,6 +99254,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99253
99254
|
pcbSx?: _tscircuit_props.PcbSx | undefined;
|
|
99254
99255
|
pcbRelative?: boolean | undefined;
|
|
99255
99256
|
relative?: boolean | undefined;
|
|
99257
|
+
warningOnly?: boolean | undefined;
|
|
99256
99258
|
excludeRefs?: string[] | undefined;
|
|
99257
99259
|
}, {
|
|
99258
99260
|
shape: "circle";
|
|
@@ -99293,6 +99295,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99293
99295
|
pcbSx?: _tscircuit_props.PcbSx | undefined;
|
|
99294
99296
|
pcbRelative?: boolean | undefined;
|
|
99295
99297
|
relative?: boolean | undefined;
|
|
99298
|
+
warningOnly?: boolean | undefined;
|
|
99296
99299
|
excludeRefs?: string[] | undefined;
|
|
99297
99300
|
}>, zod.ZodObject<{
|
|
99298
99301
|
pcbX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
|
|
@@ -99372,6 +99375,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99372
99375
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
|
|
99373
99376
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
|
|
99374
99377
|
}>, "many">>;
|
|
99378
|
+
warningOnly: zod.ZodOptional<zod.ZodBoolean>;
|
|
99375
99379
|
excludeRefs: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
99376
99380
|
}, "strip", zod.ZodTypeAny, {
|
|
99377
99381
|
shape: "rect";
|
|
@@ -99410,6 +99414,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99410
99414
|
pcbSx?: _tscircuit_props.PcbSx | undefined;
|
|
99411
99415
|
pcbRelative?: boolean | undefined;
|
|
99412
99416
|
relative?: boolean | undefined;
|
|
99417
|
+
warningOnly?: boolean | undefined;
|
|
99413
99418
|
excludeRefs?: string[] | undefined;
|
|
99414
99419
|
}, {
|
|
99415
99420
|
shape: "rect";
|
|
@@ -99452,6 +99457,7 @@ declare class Keepout extends PrimitiveComponent<typeof pcbKeepoutProps> {
|
|
|
99452
99457
|
pcbSx?: _tscircuit_props.PcbSx | undefined;
|
|
99453
99458
|
pcbRelative?: boolean | undefined;
|
|
99454
99459
|
relative?: boolean | undefined;
|
|
99460
|
+
warningOnly?: boolean | undefined;
|
|
99455
99461
|
excludeRefs?: string[] | undefined;
|
|
99456
99462
|
}>]>;
|
|
99457
99463
|
};
|
|
@@ -108279,12 +108285,12 @@ declare const pcbViaProps: z.ZodObject<{
|
|
|
108279
108285
|
}>>;
|
|
108280
108286
|
schRelative: z.ZodOptional<z.ZodBoolean>;
|
|
108281
108287
|
pcbRelative: z.ZodOptional<z.ZodBoolean>;
|
|
108288
|
+
tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | "both_sides">>;
|
|
108282
108289
|
isTented: z.ZodOptional<z.ZodBoolean>;
|
|
108283
108290
|
tentedOnTop: z.ZodOptional<z.ZodBoolean>;
|
|
108284
108291
|
tentedOnBottom: z.ZodOptional<z.ZodBoolean>;
|
|
108285
108292
|
outerDiameter: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
108286
108293
|
netIsAssignable: z.ZodOptional<z.ZodBoolean>;
|
|
108287
|
-
tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
|
|
108288
108294
|
}, "strip", z.ZodTypeAny, {
|
|
108289
108295
|
symbol?: _tscircuit_props.SymbolProp | undefined;
|
|
108290
108296
|
fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | undefined;
|
|
@@ -108340,12 +108346,12 @@ declare const pcbViaProps: z.ZodObject<{
|
|
|
108340
108346
|
} | undefined;
|
|
108341
108347
|
schRelative?: boolean | undefined;
|
|
108342
108348
|
pcbRelative?: boolean | undefined;
|
|
108349
|
+
tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108343
108350
|
isTented?: boolean | undefined;
|
|
108344
108351
|
tentedOnTop?: boolean | undefined;
|
|
108345
108352
|
tentedOnBottom?: boolean | undefined;
|
|
108346
108353
|
outerDiameter?: number | undefined;
|
|
108347
108354
|
netIsAssignable?: boolean | undefined;
|
|
108348
|
-
tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108349
108355
|
}, {
|
|
108350
108356
|
symbol?: _tscircuit_props.SymbolProp | undefined;
|
|
108351
108357
|
fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
|
|
@@ -108409,12 +108415,12 @@ declare const pcbViaProps: z.ZodObject<{
|
|
|
108409
108415
|
} | undefined;
|
|
108410
108416
|
schRelative?: boolean | undefined;
|
|
108411
108417
|
pcbRelative?: boolean | undefined;
|
|
108418
|
+
tented?: boolean | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | "both_sides" | undefined;
|
|
108412
108419
|
isTented?: boolean | undefined;
|
|
108413
108420
|
tentedOnTop?: boolean | undefined;
|
|
108414
108421
|
tentedOnBottom?: boolean | undefined;
|
|
108415
108422
|
outerDiameter?: string | number | undefined;
|
|
108416
108423
|
netIsAssignable?: boolean | undefined;
|
|
108417
|
-
tented?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108418
108424
|
}>;
|
|
108419
108425
|
declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
|
|
108420
108426
|
pcb_via_id: string | null;
|
|
@@ -108539,12 +108545,12 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
|
|
|
108539
108545
|
}>>;
|
|
108540
108546
|
schRelative: z.ZodOptional<z.ZodBoolean>;
|
|
108541
108547
|
pcbRelative: z.ZodOptional<z.ZodBoolean>;
|
|
108548
|
+
tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | "both_sides">>;
|
|
108542
108549
|
isTented: z.ZodOptional<z.ZodBoolean>;
|
|
108543
108550
|
tentedOnTop: z.ZodOptional<z.ZodBoolean>;
|
|
108544
108551
|
tentedOnBottom: z.ZodOptional<z.ZodBoolean>;
|
|
108545
108552
|
outerDiameter: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
108546
108553
|
netIsAssignable: z.ZodOptional<z.ZodBoolean>;
|
|
108547
|
-
tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
|
|
108548
108554
|
}, "strip", z.ZodTypeAny, {
|
|
108549
108555
|
symbol?: _tscircuit_props.SymbolProp | undefined;
|
|
108550
108556
|
fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | undefined;
|
|
@@ -108600,12 +108606,12 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
|
|
|
108600
108606
|
} | undefined;
|
|
108601
108607
|
schRelative?: boolean | undefined;
|
|
108602
108608
|
pcbRelative?: boolean | undefined;
|
|
108609
|
+
tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108603
108610
|
isTented?: boolean | undefined;
|
|
108604
108611
|
tentedOnTop?: boolean | undefined;
|
|
108605
108612
|
tentedOnBottom?: boolean | undefined;
|
|
108606
108613
|
outerDiameter?: number | undefined;
|
|
108607
108614
|
netIsAssignable?: boolean | undefined;
|
|
108608
|
-
tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108609
108615
|
}, {
|
|
108610
108616
|
symbol?: _tscircuit_props.SymbolProp | undefined;
|
|
108611
108617
|
fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
|
|
@@ -108669,12 +108675,12 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
|
|
|
108669
108675
|
} | undefined;
|
|
108670
108676
|
schRelative?: boolean | undefined;
|
|
108671
108677
|
pcbRelative?: boolean | undefined;
|
|
108678
|
+
tented?: boolean | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | "both_sides" | undefined;
|
|
108672
108679
|
isTented?: boolean | undefined;
|
|
108673
108680
|
tentedOnTop?: boolean | undefined;
|
|
108674
108681
|
tentedOnBottom?: boolean | undefined;
|
|
108675
108682
|
outerDiameter?: string | number | undefined;
|
|
108676
108683
|
netIsAssignable?: boolean | undefined;
|
|
108677
|
-
tented?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
|
|
108678
108684
|
}>;
|
|
108679
108685
|
};
|
|
108680
108686
|
private _getLayers;
|
package/dist/index.js
CHANGED
|
@@ -3166,6 +3166,7 @@ var getObstaclesFromCircuitJson = (circuitJson, connMap) => {
|
|
|
3166
3166
|
}
|
|
3167
3167
|
}
|
|
3168
3168
|
} else if (element.type === "pcb_keepout") {
|
|
3169
|
+
if (element.warning_only) continue;
|
|
3169
3170
|
if (element.shape === "circle") {
|
|
3170
3171
|
obstacles.push({
|
|
3171
3172
|
componentId: pcbComponentId,
|
|
@@ -3667,6 +3668,15 @@ var getViaDiameterDefaultsWithOverrides = (overrides, pcbStyle) => {
|
|
|
3667
3668
|
};
|
|
3668
3669
|
};
|
|
3669
3670
|
|
|
3671
|
+
// lib/utils/getViaTenting.ts
|
|
3672
|
+
var getViaTenting = (tented) => {
|
|
3673
|
+
if (tented === void 0) return {};
|
|
3674
|
+
return {
|
|
3675
|
+
tented_on_top: tented === "top_tented" || tented === "top_and_bottom_tented",
|
|
3676
|
+
tented_on_bottom: tented === "bottom_tented" || tented === "top_and_bottom_tented"
|
|
3677
|
+
};
|
|
3678
|
+
};
|
|
3679
|
+
|
|
3670
3680
|
// lib/components/primitive-components/Via.ts
|
|
3671
3681
|
import "zod";
|
|
3672
3682
|
|
|
@@ -4991,9 +5001,11 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
4991
5001
|
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
4992
5002
|
const subcircuit = this.getSubcircuit();
|
|
4993
5003
|
const connectedNetOrTrace = this._getConnectedNetOrTrace();
|
|
5004
|
+
const { isFlipped } = this._getPcbPrimitiveFlippedHelpers();
|
|
5005
|
+
const viaTenting = getViaTenting(this._parsedProps.tented);
|
|
4994
5006
|
const sourceTraceId = this.source_trace_id ?? (connectedNetOrTrace instanceof Net ? void 0 : connectedNetOrTrace?.source_trace_id);
|
|
4995
5007
|
const sourceNetId = !sourceTraceId && connectedNetOrTrace instanceof Net ? connectedNetOrTrace.source_net_id : void 0;
|
|
4996
|
-
const
|
|
5008
|
+
const pcb_via4 = db.pcb_via.insert({
|
|
4997
5009
|
x: position.x,
|
|
4998
5010
|
y: position.y,
|
|
4999
5011
|
hole_diameter: holeDiameter,
|
|
@@ -5005,10 +5017,12 @@ var Via = class extends PrimitiveComponent2 {
|
|
|
5005
5017
|
subcircuit_connectivity_map_key: this.subcircuit_connectivity_map_key ?? void 0,
|
|
5006
5018
|
pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0,
|
|
5007
5019
|
net_is_assignable: this._parsedProps.netIsAssignable ?? void 0,
|
|
5020
|
+
tented_on_top: isFlipped ? viaTenting.tented_on_bottom : viaTenting.tented_on_top,
|
|
5021
|
+
tented_on_bottom: isFlipped ? viaTenting.tented_on_top : viaTenting.tented_on_bottom,
|
|
5008
5022
|
...sourceTraceId ? { source_trace_id: sourceTraceId } : {},
|
|
5009
5023
|
...sourceNetId ? { source_net_id: sourceNetId } : {}
|
|
5010
5024
|
});
|
|
5011
|
-
this.pcb_via_id =
|
|
5025
|
+
this.pcb_via_id = pcb_via4.pcb_via_id;
|
|
5012
5026
|
}
|
|
5013
5027
|
};
|
|
5014
5028
|
|
|
@@ -5527,7 +5541,9 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
5527
5541
|
...restOfPoint,
|
|
5528
5542
|
...transformedPoint,
|
|
5529
5543
|
from_layer: maybeFlipLayer(point6.from_layer),
|
|
5530
|
-
to_layer: maybeFlipLayer(point6.to_layer)
|
|
5544
|
+
to_layer: maybeFlipLayer(point6.to_layer),
|
|
5545
|
+
tented_on_top: isFlipped ? point6.tented_on_bottom : point6.tented_on_top,
|
|
5546
|
+
tented_on_bottom: isFlipped ? point6.tented_on_top : point6.tented_on_bottom
|
|
5531
5547
|
};
|
|
5532
5548
|
}
|
|
5533
5549
|
return {
|
|
@@ -5583,8 +5599,8 @@ function Trace_doInitialPcbManualTraceRender(trace) {
|
|
|
5583
5599
|
net_is_assignable: inflatedPcbVia?.net_is_assignable,
|
|
5584
5600
|
net_assigned: inflatedPcbVia?.net_assigned,
|
|
5585
5601
|
// Use the same footprint flip as the route and via layers above.
|
|
5586
|
-
tented_on_top: isFlipped ? inflatedPcbVia?.tented_on_bottom : inflatedPcbVia?.tented_on_top,
|
|
5587
|
-
tented_on_bottom: isFlipped ? inflatedPcbVia?.tented_on_top : inflatedPcbVia?.tented_on_bottom
|
|
5602
|
+
tented_on_top: (isFlipped ? inflatedPcbVia?.tented_on_bottom : inflatedPcbVia?.tented_on_top) ?? point6.tented_on_top,
|
|
5603
|
+
tented_on_bottom: (isFlipped ? inflatedPcbVia?.tented_on_top : inflatedPcbVia?.tented_on_bottom) ?? point6.tented_on_bottom
|
|
5588
5604
|
});
|
|
5589
5605
|
}
|
|
5590
5606
|
}
|
|
@@ -8017,7 +8033,8 @@ var underscorifyPortArrangement = (portArrangement) => {
|
|
|
8017
8033
|
// lib/utils/createComponentsFromCircuitJson.ts
|
|
8018
8034
|
import { getUnitVectorFromDirection as getUnitVectorFromDirection2 } from "@tscircuit/math-utils";
|
|
8019
8035
|
import {
|
|
8020
|
-
pcb_via as pcb_via2
|
|
8036
|
+
pcb_via as pcb_via2,
|
|
8037
|
+
layer_ref as layer_ref2
|
|
8021
8038
|
} from "circuit-json";
|
|
8022
8039
|
|
|
8023
8040
|
// lib/utils/normalizeTextForCircuitJson.ts
|
|
@@ -9025,6 +9042,7 @@ var Keepout = class extends PrimitiveComponent2 {
|
|
|
9025
9042
|
layers,
|
|
9026
9043
|
shape: "circle",
|
|
9027
9044
|
...pcbKeepoutExclusionProps,
|
|
9045
|
+
...props.warningOnly !== void 0 ? { warning_only: props.warningOnly } : {},
|
|
9028
9046
|
// @ts-ignore: no idea why this is triggering
|
|
9029
9047
|
radius: props.radius,
|
|
9030
9048
|
center: {
|
|
@@ -9039,6 +9057,7 @@ var Keepout = class extends PrimitiveComponent2 {
|
|
|
9039
9057
|
layers,
|
|
9040
9058
|
shape: "rect",
|
|
9041
9059
|
...pcbKeepoutExclusionProps,
|
|
9060
|
+
...props.warningOnly !== void 0 ? { warning_only: props.warningOnly } : {},
|
|
9042
9061
|
...isRotated90 ? { width: props.height, height: props.width } : { width: props.width, height: props.height },
|
|
9043
9062
|
// @ts-ignore: no idea why this is triggering
|
|
9044
9063
|
center: {
|
|
@@ -9351,7 +9370,7 @@ var PcbTrace = class extends PrimitiveComponent2 {
|
|
|
9351
9370
|
const { _parsedProps: props } = this;
|
|
9352
9371
|
const container = this.getPrimitiveContainer();
|
|
9353
9372
|
const subcircuit = this.getSubcircuit();
|
|
9354
|
-
const { maybeFlipLayer } = this._getPcbPrimitiveFlippedHelpers();
|
|
9373
|
+
const { isFlipped, maybeFlipLayer } = this._getPcbPrimitiveFlippedHelpers();
|
|
9355
9374
|
const parentTransform = this._computePcbGlobalTransformBeforeLayout();
|
|
9356
9375
|
const transformedRoute = props.route.map((point6) => {
|
|
9357
9376
|
if (point6.route_type === "wire") {
|
|
@@ -9370,7 +9389,9 @@ var PcbTrace = class extends PrimitiveComponent2 {
|
|
|
9370
9389
|
...restOfPoint,
|
|
9371
9390
|
...transformedPoint,
|
|
9372
9391
|
from_layer: maybeFlipLayer(point6.from_layer),
|
|
9373
|
-
to_layer: maybeFlipLayer(point6.to_layer)
|
|
9392
|
+
to_layer: maybeFlipLayer(point6.to_layer),
|
|
9393
|
+
tented_on_top: isFlipped ? point6.tented_on_bottom : point6.tented_on_top,
|
|
9394
|
+
tented_on_bottom: isFlipped ? point6.tented_on_top : point6.tented_on_bottom
|
|
9374
9395
|
};
|
|
9375
9396
|
}
|
|
9376
9397
|
return {
|
|
@@ -9537,10 +9558,14 @@ var PcbVia = class extends PrimitiveComponent2 {
|
|
|
9537
9558
|
holeDiameter,
|
|
9538
9559
|
outerDiameter,
|
|
9539
9560
|
netIsAssignable,
|
|
9561
|
+
tented,
|
|
9540
9562
|
isTented,
|
|
9541
9563
|
tentedOnTop,
|
|
9542
9564
|
tentedOnBottom
|
|
9543
9565
|
} = this._parsedProps;
|
|
9566
|
+
const viaTenting = getViaTenting(tented);
|
|
9567
|
+
const topTenting = tentedOnTop ?? viaTenting.tented_on_top ?? isTented;
|
|
9568
|
+
const bottomTenting = tentedOnBottom ?? viaTenting.tented_on_bottom ?? isTented;
|
|
9544
9569
|
const subcircuit = this.getSubcircuit();
|
|
9545
9570
|
const position = this._getGlobalPcbPositionBeforeLayout();
|
|
9546
9571
|
const { isFlipped, maybeFlipLayer } = this._getPcbPrimitiveFlippedHelpers();
|
|
@@ -9562,8 +9587,8 @@ var PcbVia = class extends PrimitiveComponent2 {
|
|
|
9562
9587
|
pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0,
|
|
9563
9588
|
net_is_assignable: netIsAssignable,
|
|
9564
9589
|
// Use the same footprint flip as the via layers above.
|
|
9565
|
-
tented_on_top:
|
|
9566
|
-
tented_on_bottom:
|
|
9590
|
+
tented_on_top: isFlipped ? bottomTenting : topTenting,
|
|
9591
|
+
tented_on_bottom: isFlipped ? topTenting : bottomTenting
|
|
9567
9592
|
});
|
|
9568
9593
|
this.pcb_via_id = pcbVia.pcb_via_id;
|
|
9569
9594
|
}
|
|
@@ -11925,6 +11950,8 @@ var createComponentsFromCircuitJson = ({
|
|
|
11925
11950
|
} else if (elm.type === "pcb_keepout" && elm.shape === "circle") {
|
|
11926
11951
|
components.push(
|
|
11927
11952
|
new Keepout({
|
|
11953
|
+
warningOnly: elm.warning_only,
|
|
11954
|
+
layers: elm.layers.map((layer) => layer_ref2.parse(layer)),
|
|
11928
11955
|
pcbX: elm.center.x,
|
|
11929
11956
|
pcbY: elm.center.y,
|
|
11930
11957
|
shape: "circle",
|
|
@@ -11934,6 +11961,8 @@ var createComponentsFromCircuitJson = ({
|
|
|
11934
11961
|
} else if (elm.type === "pcb_keepout" && elm.shape === "rect") {
|
|
11935
11962
|
components.push(
|
|
11936
11963
|
new Keepout({
|
|
11964
|
+
warningOnly: elm.warning_only,
|
|
11965
|
+
layers: elm.layers.map((layer) => layer_ref2.parse(layer)),
|
|
11937
11966
|
pcbX: elm.center.x,
|
|
11938
11967
|
pcbY: elm.center.y,
|
|
11939
11968
|
shape: "rect",
|
|
@@ -63379,7 +63408,7 @@ function Group_getRoutingPhasePlans(group) {
|
|
|
63379
63408
|
var package_default = {
|
|
63380
63409
|
name: "@tscircuit/core",
|
|
63381
63410
|
type: "module",
|
|
63382
|
-
version: "0.0.
|
|
63411
|
+
version: "0.0.1937",
|
|
63383
63412
|
types: "dist/index.d.ts",
|
|
63384
63413
|
main: "dist/index.js",
|
|
63385
63414
|
module: "dist/index.js",
|
|
@@ -63415,7 +63444,7 @@ var package_default = {
|
|
|
63415
63444
|
"@tscircuit/bga-fanout-solver": "github:tscircuit/bga-fanout-solver#247c835cb8d69b65e53891dcf869731079415b39",
|
|
63416
63445
|
"@tscircuit/bus-lanes-solver": "github:tscircuit/bus-lanes-solver#0bc8d071241b18a3e7465a878881abe4998f6384",
|
|
63417
63446
|
"@tscircuit/capacity-autorouter": "^0.0.900",
|
|
63418
|
-
"@tscircuit/checks": "^0.0.
|
|
63447
|
+
"@tscircuit/checks": "^0.0.201",
|
|
63419
63448
|
"@tscircuit/circuit-json-util": "^0.0.114",
|
|
63420
63449
|
"@tscircuit/common": "^0.0.20",
|
|
63421
63450
|
"@tscircuit/copper-pour-solver": "^0.0.54",
|
|
@@ -63433,7 +63462,7 @@ var package_default = {
|
|
|
63433
63462
|
"@tscircuit/math-utils": "^0.0.36",
|
|
63434
63463
|
"@tscircuit/miniflex": "^0.0.4",
|
|
63435
63464
|
"@tscircuit/ngspice-spice-engine": "^0.0.20",
|
|
63436
|
-
"@tscircuit/props": "^0.0.
|
|
63465
|
+
"@tscircuit/props": "^0.0.661",
|
|
63437
63466
|
"@tscircuit/schematic-match-adapt": "^0.0.18",
|
|
63438
63467
|
"@tscircuit/schematic-trace-solver": "^0.0.199",
|
|
63439
63468
|
"@tscircuit/solver-utils": "^0.0.16",
|
|
@@ -63449,12 +63478,12 @@ var package_default = {
|
|
|
63449
63478
|
"bun-match-svg": "0.0.12",
|
|
63450
63479
|
"calculate-elbow": "^0.0.12",
|
|
63451
63480
|
"chokidar-cli": "^3.0.0",
|
|
63452
|
-
"circuit-json": "^0.0.
|
|
63481
|
+
"circuit-json": "^0.0.494",
|
|
63453
63482
|
"circuit-json-to-bpc": "^0.0.13",
|
|
63454
63483
|
"circuit-json-to-connectivity-map": "^0.0.30",
|
|
63455
63484
|
"circuit-json-to-gltf": "^0.0.128",
|
|
63456
63485
|
"circuit-json-to-spice": "^0.0.45",
|
|
63457
|
-
"circuit-to-svg": "^0.0.
|
|
63486
|
+
"circuit-to-svg": "^0.0.424",
|
|
63458
63487
|
concurrently: "^9.1.2",
|
|
63459
63488
|
"connectivity-map": "^1.0.0",
|
|
63460
63489
|
debug: "^4.3.6",
|
|
@@ -63512,8 +63541,8 @@ var package_default = {
|
|
|
63512
63541
|
},
|
|
63513
63542
|
overrides: {
|
|
63514
63543
|
"@tscircuit/circuit-json-util": "^0.0.114",
|
|
63515
|
-
"@tscircuit/props": "^0.0.
|
|
63516
|
-
"circuit-json": "^0.0.
|
|
63544
|
+
"@tscircuit/props": "^0.0.661",
|
|
63545
|
+
"circuit-json": "^0.0.494"
|
|
63517
63546
|
}
|
|
63518
63547
|
};
|
|
63519
63548
|
|
|
@@ -68689,6 +68718,7 @@ function CopperPour_doInitialPcbCopperPourRender(copperPour) {
|
|
|
68689
68718
|
}
|
|
68690
68719
|
|
|
68691
68720
|
// lib/components/primitive-components/CopperPour/CopperPour_doInitialPcbViaStitchRender.ts
|
|
68721
|
+
import { pcb_via as pcb_via3 } from "circuit-json";
|
|
68692
68722
|
var renderViaStitchingForCopperPours = (copperPour) => {
|
|
68693
68723
|
const subcircuit = copperPour.getSubcircuit();
|
|
68694
68724
|
if (!subcircuit.root) return;
|
|
@@ -68730,8 +68760,12 @@ var renderViaStitchingForCopperPours = (copperPour) => {
|
|
|
68730
68760
|
throw new Error(solver.error ?? "Via stitching solver failed");
|
|
68731
68761
|
}
|
|
68732
68762
|
for (const pcbVia of solver.getOutput().pcbVias) {
|
|
68733
|
-
const { pcb_via_id: _solverViaId, ...pcbViaInput } = pcbVia;
|
|
68734
|
-
const insertedVia = db.pcb_via.insert(
|
|
68763
|
+
const { pcb_via_id: _solverViaId, ...pcbViaInput } = pcb_via3.parse(pcbVia);
|
|
68764
|
+
const insertedVia = db.pcb_via.insert({
|
|
68765
|
+
...pcbViaInput,
|
|
68766
|
+
tented_on_top: void 0,
|
|
68767
|
+
tented_on_bottom: void 0
|
|
68768
|
+
});
|
|
68735
68769
|
boardComponent?._generatedStitchingViaIds?.add(insertedVia.pcb_via_id);
|
|
68736
68770
|
}
|
|
68737
68771
|
};
|
|
@@ -69541,6 +69575,7 @@ var Board = class extends Group5 {
|
|
|
69541
69575
|
const pcbBoardFromCircuitJson = circuitJsonElements?.find(
|
|
69542
69576
|
(elm) => elm.type === "pcb_board"
|
|
69543
69577
|
);
|
|
69578
|
+
const viaTenting = getViaTenting(props.defaultViaTenting);
|
|
69544
69579
|
const rawProps = this.props;
|
|
69545
69580
|
const resolvedIsViaInPadAllowed = rawProps.isViaInPadAllowed ?? pcbBoardFromCircuitJson?.is_via_in_pad_allowed;
|
|
69546
69581
|
const resolvedAllowBlindAndBuriedVias = rawProps.allowBlindAndBuriedVias ?? pcbBoardFromCircuitJson?.allow_blind_and_buried_vias;
|
|
@@ -69598,7 +69633,10 @@ var Board = class extends Group5 {
|
|
|
69598
69633
|
const resolvedMinViaPadDiameter = subcircuitProps2.minViaPadDiameter ?? (pcbStyle?.viaPadDiameter !== void 0 ? styledViaDimensions.padDiameter : configuredViaHoleDiameter !== void 0 ? configuredViaHoleDiameter + DEFAULT_VIA_PAD_DIAMETER_OVER_HOLE_DIAMETER_MM : jlcMinTolerances.min_via_pad_diameter);
|
|
69599
69634
|
const pcb_board = db.pcb_board.insert({
|
|
69600
69635
|
source_board_id: this.source_board_id,
|
|
69636
|
+
subcircuit_id: this.subcircuit_id ?? void 0,
|
|
69601
69637
|
center,
|
|
69638
|
+
default_via_tented_on_top: viaTenting.tented_on_top ?? pcbBoardFromCircuitJson?.default_via_tented_on_top,
|
|
69639
|
+
default_via_tented_on_bottom: viaTenting.tented_on_bottom ?? pcbBoardFromCircuitJson?.default_via_tented_on_bottom,
|
|
69602
69640
|
thickness: this.boardThickness,
|
|
69603
69641
|
num_layers: this.allLayers.length,
|
|
69604
69642
|
width: computedWidth,
|
|
@@ -72410,7 +72448,7 @@ var PcbNoteDimension = class extends PrimitiveComponent2 {
|
|
|
72410
72448
|
import { breakoutProps } from "@tscircuit/props";
|
|
72411
72449
|
|
|
72412
72450
|
// lib/components/primitive-components/AutoplacedBreakoutPoint.ts
|
|
72413
|
-
import { layer_ref as
|
|
72451
|
+
import { layer_ref as layer_ref3 } from "circuit-json";
|
|
72414
72452
|
var AutoplacedBreakoutPoint = class extends BaseBreakoutPoint {
|
|
72415
72453
|
get config() {
|
|
72416
72454
|
return {
|
|
@@ -72424,7 +72462,7 @@ var AutoplacedBreakoutPoint = class extends BaseBreakoutPoint {
|
|
|
72424
72462
|
position
|
|
72425
72463
|
}) {
|
|
72426
72464
|
this.matchedSourceTraceId = sourceTraceId;
|
|
72427
|
-
this._renderPcbBreakoutPoint({ layer:
|
|
72465
|
+
this._renderPcbBreakoutPoint({ layer: layer_ref3.parse(layer) });
|
|
72428
72466
|
this._setPositionFromLayout(position);
|
|
72429
72467
|
}
|
|
72430
72468
|
};
|
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.1938",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@tscircuit/bga-fanout-solver": "github:tscircuit/bga-fanout-solver#247c835cb8d69b65e53891dcf869731079415b39",
|
|
38
38
|
"@tscircuit/bus-lanes-solver": "github:tscircuit/bus-lanes-solver#0bc8d071241b18a3e7465a878881abe4998f6384",
|
|
39
39
|
"@tscircuit/capacity-autorouter": "^0.0.900",
|
|
40
|
-
"@tscircuit/checks": "^0.0.
|
|
40
|
+
"@tscircuit/checks": "^0.0.201",
|
|
41
41
|
"@tscircuit/circuit-json-util": "^0.0.114",
|
|
42
42
|
"@tscircuit/common": "^0.0.20",
|
|
43
43
|
"@tscircuit/copper-pour-solver": "^0.0.54",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@tscircuit/math-utils": "^0.0.36",
|
|
56
56
|
"@tscircuit/miniflex": "^0.0.4",
|
|
57
57
|
"@tscircuit/ngspice-spice-engine": "^0.0.20",
|
|
58
|
-
"@tscircuit/props": "^0.0.
|
|
58
|
+
"@tscircuit/props": "^0.0.661",
|
|
59
59
|
"@tscircuit/schematic-match-adapt": "^0.0.18",
|
|
60
60
|
"@tscircuit/schematic-trace-solver": "^0.0.199",
|
|
61
61
|
"@tscircuit/solver-utils": "^0.0.16",
|
|
@@ -71,12 +71,12 @@
|
|
|
71
71
|
"bun-match-svg": "0.0.12",
|
|
72
72
|
"calculate-elbow": "^0.0.12",
|
|
73
73
|
"chokidar-cli": "^3.0.0",
|
|
74
|
-
"circuit-json": "^0.0.
|
|
74
|
+
"circuit-json": "^0.0.494",
|
|
75
75
|
"circuit-json-to-bpc": "^0.0.13",
|
|
76
76
|
"circuit-json-to-connectivity-map": "^0.0.30",
|
|
77
77
|
"circuit-json-to-gltf": "^0.0.128",
|
|
78
78
|
"circuit-json-to-spice": "^0.0.45",
|
|
79
|
-
"circuit-to-svg": "^0.0.
|
|
79
|
+
"circuit-to-svg": "^0.0.424",
|
|
80
80
|
"concurrently": "^9.1.2",
|
|
81
81
|
"connectivity-map": "^1.0.0",
|
|
82
82
|
"debug": "^4.3.6",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
},
|
|
135
135
|
"overrides": {
|
|
136
136
|
"@tscircuit/circuit-json-util": "^0.0.114",
|
|
137
|
-
"@tscircuit/props": "^0.0.
|
|
138
|
-
"circuit-json": "^0.0.
|
|
137
|
+
"@tscircuit/props": "^0.0.661",
|
|
138
|
+
"circuit-json": "^0.0.494"
|
|
139
139
|
}
|
|
140
140
|
}
|