@tscircuit/core 0.0.318 → 0.0.319
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 +73 -72
- package/dist/index.js +37 -5
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { Matrix } from 'transformation-matrix';
|
|
|
10
10
|
import { SoupUtilObjects } from '@tscircuit/soup-util';
|
|
11
11
|
import * as _tscircuit_layout from '@tscircuit/layout';
|
|
12
12
|
|
|
13
|
-
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortMatching", "SourceTraceRender", "SourceAddConnectivityMapKey", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbComponentSizeCalculation", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "CadModelRender", "PartsEngineRender"];
|
|
13
|
+
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortMatching", "SourceTraceRender", "SourceAddConnectivityMapKey", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbComponentSizeCalculation", "PcbBoardAutoSize", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "CadModelRender", "PartsEngineRender"];
|
|
14
14
|
type RenderPhase = (typeof orderedRenderPhases)[number];
|
|
15
15
|
type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
|
|
16
16
|
type RenderPhaseStates = Record<RenderPhase, {
|
|
@@ -990,44 +990,44 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
990
990
|
get isSubcircuit(): boolean;
|
|
991
991
|
get config(): {
|
|
992
992
|
componentName: string;
|
|
993
|
-
zodProps:
|
|
994
|
-
pcbX:
|
|
995
|
-
pcbY:
|
|
996
|
-
pcbRotation:
|
|
997
|
-
schX:
|
|
998
|
-
schY:
|
|
999
|
-
schRotation:
|
|
1000
|
-
layer:
|
|
1001
|
-
name:
|
|
1002
|
-
}, "strip",
|
|
993
|
+
zodProps: zod.ZodObject<zod.objectUtil.extendShape<zod.objectUtil.extendShape<zod.objectUtil.extendShape<{
|
|
994
|
+
pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
995
|
+
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
996
|
+
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
997
|
+
schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
998
|
+
schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
999
|
+
schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1000
|
+
layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
1001
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
1002
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1003
1003
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1004
1004
|
}, {
|
|
1005
1005
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1006
1006
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1007
1007
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1008
1008
|
}>>;
|
|
1009
|
-
footprint:
|
|
1009
|
+
footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
|
|
1010
1010
|
}, {
|
|
1011
|
-
name:
|
|
1012
|
-
children:
|
|
1013
|
-
key:
|
|
1011
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
1012
|
+
children: zod.ZodOptional<zod.ZodAny>;
|
|
1013
|
+
key: zod.ZodOptional<zod.ZodAny>;
|
|
1014
1014
|
}>, {
|
|
1015
|
-
layout:
|
|
1016
|
-
manualEdits:
|
|
1017
|
-
pcb_placements:
|
|
1018
|
-
selector:
|
|
1019
|
-
relative_to:
|
|
1020
|
-
center:
|
|
1021
|
-
x:
|
|
1022
|
-
y:
|
|
1023
|
-
}, "strip",
|
|
1015
|
+
layout: zod.ZodOptional<zod.ZodType<_tscircuit_layout.LayoutBuilder, zod.ZodTypeDef, _tscircuit_layout.LayoutBuilder>>;
|
|
1016
|
+
manualEdits: zod.ZodOptional<zod.ZodObject<{
|
|
1017
|
+
pcb_placements: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1018
|
+
selector: zod.ZodString;
|
|
1019
|
+
relative_to: zod.ZodDefault<zod.ZodOptional<zod.ZodString>>;
|
|
1020
|
+
center: zod.ZodObject<{
|
|
1021
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1022
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1023
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1024
1024
|
x: number;
|
|
1025
1025
|
y: number;
|
|
1026
1026
|
}, {
|
|
1027
1027
|
x: string | number;
|
|
1028
1028
|
y: string | number;
|
|
1029
1029
|
}>;
|
|
1030
|
-
}, "strip",
|
|
1030
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1031
1031
|
selector: string;
|
|
1032
1032
|
relative_to: string;
|
|
1033
1033
|
center: {
|
|
@@ -1042,23 +1042,23 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1042
1042
|
};
|
|
1043
1043
|
relative_to?: string | undefined;
|
|
1044
1044
|
}>, "many">>;
|
|
1045
|
-
manual_trace_hints:
|
|
1046
|
-
pcb_port_selector:
|
|
1047
|
-
offsets:
|
|
1048
|
-
x:
|
|
1049
|
-
y:
|
|
1050
|
-
via:
|
|
1051
|
-
to_layer:
|
|
1052
|
-
name:
|
|
1053
|
-
}, "strip",
|
|
1045
|
+
manual_trace_hints: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1046
|
+
pcb_port_selector: zod.ZodString;
|
|
1047
|
+
offsets: zod.ZodArray<zod.ZodObject<{
|
|
1048
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1049
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1050
|
+
via: zod.ZodOptional<zod.ZodBoolean>;
|
|
1051
|
+
to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
|
|
1052
|
+
name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
1053
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1054
1054
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1055
1055
|
}, {
|
|
1056
1056
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1057
1057
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
1058
1058
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1059
1059
|
}>>;
|
|
1060
|
-
trace_width:
|
|
1061
|
-
}, "strip",
|
|
1060
|
+
trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1061
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1062
1062
|
x: number;
|
|
1063
1063
|
y: number;
|
|
1064
1064
|
trace_width?: number | undefined;
|
|
@@ -1073,7 +1073,7 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1073
1073
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
1074
1074
|
} | undefined;
|
|
1075
1075
|
}>, "many">;
|
|
1076
|
-
}, "strip",
|
|
1076
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1077
1077
|
pcb_port_selector: string;
|
|
1078
1078
|
offsets: {
|
|
1079
1079
|
x: number;
|
|
@@ -1094,20 +1094,20 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1094
1094
|
} | undefined;
|
|
1095
1095
|
}[];
|
|
1096
1096
|
}>, "many">>;
|
|
1097
|
-
schematic_placements:
|
|
1098
|
-
selector:
|
|
1099
|
-
relative_to:
|
|
1100
|
-
center:
|
|
1101
|
-
x:
|
|
1102
|
-
y:
|
|
1103
|
-
}, "strip",
|
|
1097
|
+
schematic_placements: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1098
|
+
selector: zod.ZodString;
|
|
1099
|
+
relative_to: zod.ZodDefault<zod.ZodOptional<zod.ZodString>>;
|
|
1100
|
+
center: zod.ZodObject<{
|
|
1101
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1102
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1103
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1104
1104
|
x: number;
|
|
1105
1105
|
y: number;
|
|
1106
1106
|
}, {
|
|
1107
1107
|
x: string | number;
|
|
1108
1108
|
y: string | number;
|
|
1109
1109
|
}>;
|
|
1110
|
-
}, "strip",
|
|
1110
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1111
1111
|
selector: string;
|
|
1112
1112
|
relative_to: string;
|
|
1113
1113
|
center: {
|
|
@@ -1122,7 +1122,7 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1122
1122
|
};
|
|
1123
1123
|
relative_to?: string | undefined;
|
|
1124
1124
|
}>, "many">>;
|
|
1125
|
-
}, "strip",
|
|
1125
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1126
1126
|
pcb_placements?: {
|
|
1127
1127
|
selector: string;
|
|
1128
1128
|
relative_to: string;
|
|
@@ -1179,22 +1179,22 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1179
1179
|
relative_to?: string | undefined;
|
|
1180
1180
|
}[] | undefined;
|
|
1181
1181
|
}>>;
|
|
1182
|
-
schAutoLayoutEnabled:
|
|
1183
|
-
schTraceAutoLabelEnabled:
|
|
1184
|
-
routingDisabled:
|
|
1185
|
-
defaultTraceWidth:
|
|
1186
|
-
minTraceWidth:
|
|
1187
|
-
partsEngine:
|
|
1188
|
-
pcbRouteCache:
|
|
1189
|
-
autorouter:
|
|
1190
|
-
serverUrl:
|
|
1191
|
-
inputFormat:
|
|
1192
|
-
serverMode:
|
|
1193
|
-
serverCacheEnabled:
|
|
1194
|
-
cache:
|
|
1195
|
-
groupMode:
|
|
1196
|
-
local:
|
|
1197
|
-
}, "strip",
|
|
1182
|
+
schAutoLayoutEnabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
1183
|
+
schTraceAutoLabelEnabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
1184
|
+
routingDisabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
1185
|
+
defaultTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1186
|
+
minTraceWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1187
|
+
partsEngine: zod.ZodOptional<zod.ZodType<_tscircuit_props.PartsEngine, zod.ZodTypeDef, _tscircuit_props.PartsEngine>>;
|
|
1188
|
+
pcbRouteCache: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbRouteCache, zod.ZodTypeDef, _tscircuit_props.PcbRouteCache>>;
|
|
1189
|
+
autorouter: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
|
|
1190
|
+
serverUrl: zod.ZodOptional<zod.ZodString>;
|
|
1191
|
+
inputFormat: zod.ZodOptional<zod.ZodEnum<["simplified", "circuit-json"]>>;
|
|
1192
|
+
serverMode: zod.ZodOptional<zod.ZodEnum<["job", "solve-endpoint"]>>;
|
|
1193
|
+
serverCacheEnabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
1194
|
+
cache: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbRouteCache, zod.ZodTypeDef, _tscircuit_props.PcbRouteCache>>;
|
|
1195
|
+
groupMode: zod.ZodOptional<zod.ZodEnum<["sequential-trace", "subcircuit"]>>;
|
|
1196
|
+
local: zod.ZodOptional<zod.ZodBoolean>;
|
|
1197
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1198
1198
|
serverUrl?: string | undefined;
|
|
1199
1199
|
inputFormat?: "simplified" | "circuit-json" | undefined;
|
|
1200
1200
|
serverMode?: "job" | "solve-endpoint" | undefined;
|
|
@@ -1210,23 +1210,23 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1210
1210
|
cache?: _tscircuit_props.PcbRouteCache | undefined;
|
|
1211
1211
|
groupMode?: "sequential-trace" | "subcircuit" | undefined;
|
|
1212
1212
|
local?: boolean | undefined;
|
|
1213
|
-
}>,
|
|
1213
|
+
}>, zod.ZodLiteral<"sequential-trace">, zod.ZodLiteral<"subcircuit">, zod.ZodLiteral<"auto">, zod.ZodLiteral<"auto-local">, zod.ZodLiteral<"auto-cloud">]>>;
|
|
1214
1214
|
}>, {
|
|
1215
|
-
width:
|
|
1216
|
-
height:
|
|
1217
|
-
outline:
|
|
1218
|
-
x:
|
|
1219
|
-
y:
|
|
1220
|
-
}, "strip",
|
|
1215
|
+
width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1216
|
+
height: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1217
|
+
outline: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
1218
|
+
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1219
|
+
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
1220
|
+
}, "strip", zod.ZodTypeAny, {
|
|
1221
1221
|
x: number;
|
|
1222
1222
|
y: number;
|
|
1223
1223
|
}, {
|
|
1224
1224
|
x: string | number;
|
|
1225
1225
|
y: string | number;
|
|
1226
1226
|
}>, "many">>;
|
|
1227
|
-
outlineOffsetX:
|
|
1228
|
-
outlineOffsetY:
|
|
1229
|
-
}>, "strip",
|
|
1227
|
+
outlineOffsetX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1228
|
+
outlineOffsetY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
1229
|
+
}>, "strip", zod.ZodTypeAny, {
|
|
1230
1230
|
pcbX?: number | undefined;
|
|
1231
1231
|
pcbY?: number | undefined;
|
|
1232
1232
|
pcbRotation?: number | undefined;
|
|
@@ -1367,6 +1367,7 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
1367
1367
|
* Get all available layers for the board
|
|
1368
1368
|
*/
|
|
1369
1369
|
get allLayers(): string[];
|
|
1370
|
+
doInitialPcbBoardAutoSize(): void;
|
|
1370
1371
|
doInitialPcbComponentRender(): void;
|
|
1371
1372
|
removePcbComponentRender(): void;
|
|
1372
1373
|
_computePcbGlobalTransformBeforeLayout(): Matrix;
|
package/dist/index.js
CHANGED
|
@@ -87,6 +87,7 @@ var orderedRenderPhases = [
|
|
|
87
87
|
"PcbPortAttachment",
|
|
88
88
|
"PcbLayout",
|
|
89
89
|
"PcbComponentSizeCalculation",
|
|
90
|
+
"PcbBoardAutoSize",
|
|
90
91
|
"PcbTraceRender",
|
|
91
92
|
"PcbTraceHintRender",
|
|
92
93
|
"PcbRouteNetIslands",
|
|
@@ -4077,15 +4078,46 @@ var Board = class extends Group {
|
|
|
4077
4078
|
get allLayers() {
|
|
4078
4079
|
return ["top", "bottom", "inner1", "inner2"];
|
|
4079
4080
|
}
|
|
4081
|
+
doInitialPcbBoardAutoSize() {
|
|
4082
|
+
if (this.root?.pcbDisabled) return;
|
|
4083
|
+
if (!this.pcb_board_id) return;
|
|
4084
|
+
const { db } = this.root;
|
|
4085
|
+
const { _parsedProps: props } = this;
|
|
4086
|
+
if (props.width && props.height) return;
|
|
4087
|
+
let minX = Infinity;
|
|
4088
|
+
let minY = Infinity;
|
|
4089
|
+
let maxX = -Infinity;
|
|
4090
|
+
let maxY = -Infinity;
|
|
4091
|
+
for (const child of this.children) {
|
|
4092
|
+
if (!child.pcb_component_id) continue;
|
|
4093
|
+
const pcb_component = db.pcb_component.get(child.pcb_component_id);
|
|
4094
|
+
if (!pcb_component) continue;
|
|
4095
|
+
const { width, height, center: center2 } = pcb_component;
|
|
4096
|
+
if (width === 0 || height === 0) continue;
|
|
4097
|
+
minX = Math.min(minX, center2.x - width / 2);
|
|
4098
|
+
minY = Math.min(minY, center2.y - height / 2);
|
|
4099
|
+
maxX = Math.max(maxX, center2.x + width / 2);
|
|
4100
|
+
maxY = Math.max(maxY, center2.y + height / 2);
|
|
4101
|
+
}
|
|
4102
|
+
const padding = 2;
|
|
4103
|
+
const computedWidth = maxX - minX + padding * 2;
|
|
4104
|
+
const computedHeight = maxY - minY + padding * 2;
|
|
4105
|
+
const center = {
|
|
4106
|
+
x: (minX + maxX) / 2 + (props.outlineOffsetX ?? 0),
|
|
4107
|
+
y: (minY + maxY) / 2 + (props.outlineOffsetY ?? 0)
|
|
4108
|
+
};
|
|
4109
|
+
db.pcb_board.update(this.pcb_board_id, {
|
|
4110
|
+
width: computedWidth,
|
|
4111
|
+
height: computedHeight,
|
|
4112
|
+
center
|
|
4113
|
+
});
|
|
4114
|
+
}
|
|
4080
4115
|
doInitialPcbComponentRender() {
|
|
4081
4116
|
if (this.root?.pcbDisabled) return;
|
|
4082
4117
|
const { db } = this.root;
|
|
4083
4118
|
const { _parsedProps: props } = this;
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
}
|
|
4087
|
-
let computedWidth = props.width;
|
|
4088
|
-
let computedHeight = props.height;
|
|
4119
|
+
let computedWidth = props.width ?? 0;
|
|
4120
|
+
let computedHeight = props.height ?? 0;
|
|
4089
4121
|
if (props.outline) {
|
|
4090
4122
|
const xValues = props.outline.map((point) => point.x);
|
|
4091
4123
|
const yValues = props.outline.map((point) => point.y);
|