@tscircuit/core 0.0.164 → 0.0.165
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 +79 -57
- package/dist/index.js +37 -2
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as _tscircuit_props from '@tscircuit/props';
|
|
2
|
-
import { traceProps, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, inductorProps, CapacitorProps, ChipProps, ResistorProps } from '@tscircuit/props';
|
|
2
|
+
import { subcircuitGroupProps, traceProps, SupplierPartNumbers, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, diodeProps, jumperProps, ledProps, powerSourceProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, footprintProps, holeProps, pcbKeepoutProps, netAliasProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, smtPadProps, traceHintProps, viaProps, batteryProps, pinHeaderProps, inductorProps, CapacitorProps, ChipProps, ResistorProps } from '@tscircuit/props';
|
|
3
3
|
import React, { ReactElement } from 'react';
|
|
4
4
|
import * as zod from 'zod';
|
|
5
|
-
import {
|
|
5
|
+
import { z, ZodType } from 'zod';
|
|
6
6
|
import { symbols, SchSymbol, BaseSymbolName } from 'schematic-symbols';
|
|
7
7
|
import { PcbTraceError, PcbPlacementError, LayerRef, AnyCircuitElement, AnySourceComponent, RouteHintPoint } from 'circuit-json';
|
|
8
8
|
import { Matrix } from 'transformation-matrix';
|
|
9
9
|
import { SoupUtilObjects } from '@tscircuit/soup-util';
|
|
10
10
|
import * as _tscircuit_layout from '@tscircuit/layout';
|
|
11
11
|
|
|
12
|
-
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SourceAddConnectivityMapKey", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender"];
|
|
12
|
+
declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InitializePortsFromChildren", "CreateNetsFromProps", "CreateTracesFromProps", "CreateTraceHintsFromProps", "SourceRender", "SourceParentAttachment", "PortDiscovery", "PortMatching", "SourceTraceRender", "SourceAddConnectivityMapKey", "SchematicComponentRender", "SchematicPortRender", "SchematicLayout", "SchematicTraceRender", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbLayout", "PcbTraceRender", "PcbTraceHintRender", "PcbRouteNetIslands", "PcbComponentSizeCalculation", "CadModelRender", "PartsEngineRender"];
|
|
13
13
|
type RenderPhase = (typeof orderedRenderPhases)[number];
|
|
14
14
|
type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
|
|
15
15
|
type RenderPhaseStates = Record<RenderPhase, {
|
|
@@ -126,6 +126,7 @@ declare const Project: typeof Circuit;
|
|
|
126
126
|
|
|
127
127
|
interface ISubcircuit extends PrimitiveComponent {
|
|
128
128
|
_shouldUseTraceByTraceRouting(): boolean;
|
|
129
|
+
_parsedProps: z.infer<typeof subcircuitGroupProps>;
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
interface BaseComponentConfig {
|
|
@@ -709,6 +710,7 @@ declare class NormalComponent<ZodProps extends ZodType = any, PortNames extends
|
|
|
709
710
|
reactSubtrees: Array<ReactSubtree>;
|
|
710
711
|
_impliedFootprint?: string | undefined;
|
|
711
712
|
isPrimitiveContainer: boolean;
|
|
713
|
+
_asyncSupplierPartNumbers?: SupplierPartNumbers;
|
|
712
714
|
constructor(props: z.input<ZodProps>);
|
|
713
715
|
/**
|
|
714
716
|
* Override this method for better control over the auto-discovery of ports.
|
|
@@ -789,6 +791,8 @@ declare class NormalComponent<ZodProps extends ZodType = any, PortNames extends
|
|
|
789
791
|
_getSchematicPortArrangement(): SchematicPortArrangement | null;
|
|
790
792
|
_getSchematicBoxDimensions(): SchematicBoxDimensions | null;
|
|
791
793
|
doInitialCadModelRender(): void;
|
|
794
|
+
doInitialPartsEngineRender(): void;
|
|
795
|
+
updatePartsEngineRender(): void;
|
|
792
796
|
}
|
|
793
797
|
|
|
794
798
|
type SimplifiedPcbTrace = {
|
|
@@ -871,7 +875,36 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
871
875
|
get isSubcircuit(): boolean;
|
|
872
876
|
get config(): {
|
|
873
877
|
componentName: string;
|
|
874
|
-
zodProps: z.ZodObject<{
|
|
878
|
+
zodProps: z.ZodObject<z.objectUtil.extendShape<Omit<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
879
|
+
pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
880
|
+
pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
881
|
+
pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
882
|
+
schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
883
|
+
schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
884
|
+
schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
885
|
+
layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
|
|
886
|
+
name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
|
|
887
|
+
}, "strip", z.ZodTypeAny, {
|
|
888
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
889
|
+
}, {
|
|
890
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
891
|
+
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
892
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
893
|
+
}>>;
|
|
894
|
+
footprint: z.ZodOptional<z.ZodType<_tscircuit_props.Footprint, z.ZodTypeDef, _tscircuit_props.Footprint>>;
|
|
895
|
+
}, {
|
|
896
|
+
name: z.ZodOptional<z.ZodString>;
|
|
897
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
898
|
+
}>, {
|
|
899
|
+
subcircuit: z.ZodLiteral<true>;
|
|
900
|
+
layout: z.ZodOptional<z.ZodType<_tscircuit_layout.LayoutBuilder, z.ZodTypeDef, _tscircuit_layout.LayoutBuilder>>;
|
|
901
|
+
manualEdits: z.ZodOptional<z.ZodType<_tscircuit_layout.ManualEditFile, z.ZodTypeDef, _tscircuit_layout.ManualEditFile>>;
|
|
902
|
+
schAutoLayoutEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
903
|
+
routingDisabled: z.ZodOptional<z.ZodBoolean>;
|
|
904
|
+
defaultTraceWidth: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
905
|
+
minTraceWidth: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
906
|
+
partsEngine: z.ZodOptional<z.ZodType<_tscircuit_props.PartsEngine, z.ZodTypeDef, _tscircuit_props.PartsEngine>>;
|
|
907
|
+
}>, "subcircuit">, {
|
|
875
908
|
width: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
876
909
|
height: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
|
|
877
910
|
outline: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -884,44 +917,56 @@ declare class Board extends Group<typeof boardProps> {
|
|
|
884
917
|
x: string | number;
|
|
885
918
|
y: string | number;
|
|
886
919
|
}>, "many">>;
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
pcbY: number;
|
|
920
|
+
}>, "strip", z.ZodTypeAny, {
|
|
921
|
+
pcbX?: number | undefined;
|
|
922
|
+
pcbY?: number | undefined;
|
|
923
|
+
pcbRotation?: number | undefined;
|
|
924
|
+
schX?: number | undefined;
|
|
925
|
+
schY?: number | undefined;
|
|
926
|
+
schRotation?: number | undefined;
|
|
927
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
928
|
+
footprint?: _tscircuit_props.Footprint | undefined;
|
|
929
|
+
name?: string | undefined;
|
|
898
930
|
children?: any;
|
|
899
931
|
width?: number | undefined;
|
|
900
932
|
height?: number | undefined;
|
|
901
|
-
outline?: {
|
|
902
|
-
x: number;
|
|
903
|
-
y: number;
|
|
904
|
-
}[] | undefined;
|
|
905
933
|
layout?: _tscircuit_layout.LayoutBuilder | undefined;
|
|
906
934
|
manualEdits?: _tscircuit_layout.ManualEditFile | undefined;
|
|
907
935
|
routingDisabled?: boolean | undefined;
|
|
908
936
|
defaultTraceWidth?: number | undefined;
|
|
937
|
+
minTraceWidth?: number | undefined;
|
|
909
938
|
schAutoLayoutEnabled?: boolean | undefined;
|
|
939
|
+
partsEngine?: _tscircuit_props.PartsEngine | undefined;
|
|
940
|
+
outline?: {
|
|
941
|
+
x: number;
|
|
942
|
+
y: number;
|
|
943
|
+
}[] | undefined;
|
|
910
944
|
}, {
|
|
911
945
|
pcbX?: string | number | undefined;
|
|
912
946
|
pcbY?: string | number | undefined;
|
|
947
|
+
pcbRotation?: string | number | undefined;
|
|
948
|
+
schX?: string | number | undefined;
|
|
949
|
+
schY?: string | number | undefined;
|
|
950
|
+
schRotation?: string | number | undefined;
|
|
951
|
+
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
952
|
+
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
953
|
+
} | undefined;
|
|
954
|
+
footprint?: _tscircuit_props.Footprint | undefined;
|
|
955
|
+
name?: string | undefined;
|
|
913
956
|
children?: any;
|
|
914
957
|
width?: string | number | undefined;
|
|
915
958
|
height?: string | number | undefined;
|
|
916
|
-
outline?: {
|
|
917
|
-
x: string | number;
|
|
918
|
-
y: string | number;
|
|
919
|
-
}[] | undefined;
|
|
920
959
|
layout?: _tscircuit_layout.LayoutBuilder | undefined;
|
|
921
960
|
manualEdits?: _tscircuit_layout.ManualEditFile | undefined;
|
|
922
961
|
routingDisabled?: boolean | undefined;
|
|
923
962
|
defaultTraceWidth?: string | number | undefined;
|
|
963
|
+
minTraceWidth?: string | number | undefined;
|
|
924
964
|
schAutoLayoutEnabled?: boolean | undefined;
|
|
965
|
+
partsEngine?: _tscircuit_props.PartsEngine | undefined;
|
|
966
|
+
outline?: {
|
|
967
|
+
x: string | number;
|
|
968
|
+
y: string | number;
|
|
969
|
+
}[] | undefined;
|
|
925
970
|
}>;
|
|
926
971
|
};
|
|
927
972
|
get boardThickness(): number;
|
|
@@ -4311,7 +4356,7 @@ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationN
|
|
|
4311
4356
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4312
4357
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4313
4358
|
}>>;
|
|
4314
|
-
}, "
|
|
4359
|
+
}, "pcbX" | "pcbY" | "pcbRotation">, {
|
|
4315
4360
|
route: zod.ZodArray<zod.ZodObject<{
|
|
4316
4361
|
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
4317
4362
|
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
@@ -4611,47 +4656,24 @@ declare class NetAlias extends PrimitiveComponent<typeof netAliasProps> {
|
|
|
4611
4656
|
source_net_alias_id?: string;
|
|
4612
4657
|
get config(): {
|
|
4613
4658
|
componentName: string;
|
|
4614
|
-
zodProps: zod.ZodObject<
|
|
4615
|
-
|
|
4616
|
-
pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4617
|
-
pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4659
|
+
zodProps: zod.ZodObject<{
|
|
4660
|
+
net: zod.ZodOptional<zod.ZodString>;
|
|
4618
4661
|
schX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4619
4662
|
schY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4620
4663
|
schRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
}, "strip", zod.ZodTypeAny, {
|
|
4624
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4625
|
-
}, {
|
|
4626
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4627
|
-
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4628
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4629
|
-
}>>;
|
|
4630
|
-
footprint: zod.ZodOptional<zod.ZodType<_tscircuit_props.Footprint, zod.ZodTypeDef, _tscircuit_props.Footprint>>;
|
|
4631
|
-
}, {
|
|
4632
|
-
net: zod.ZodOptional<zod.ZodString>;
|
|
4633
|
-
}>, "strip", zod.ZodTypeAny, {
|
|
4634
|
-
pcbX?: number | undefined;
|
|
4635
|
-
pcbY?: number | undefined;
|
|
4636
|
-
pcbRotation?: number | undefined;
|
|
4664
|
+
anchorSide: zod.ZodOptional<zod.ZodEnum<["left", "up", "right", "down"]>>;
|
|
4665
|
+
}, "strip", zod.ZodTypeAny, {
|
|
4637
4666
|
schX?: number | undefined;
|
|
4638
4667
|
schY?: number | undefined;
|
|
4639
4668
|
schRotation?: number | undefined;
|
|
4640
|
-
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
|
|
4641
|
-
footprint?: _tscircuit_props.Footprint | undefined;
|
|
4642
4669
|
net?: string | undefined;
|
|
4670
|
+
anchorSide?: "left" | "right" | "up" | "down" | undefined;
|
|
4643
4671
|
}, {
|
|
4644
|
-
pcbX?: string | number | undefined;
|
|
4645
|
-
pcbY?: string | number | undefined;
|
|
4646
|
-
pcbRotation?: string | number | undefined;
|
|
4647
4672
|
schX?: string | number | undefined;
|
|
4648
4673
|
schY?: string | number | undefined;
|
|
4649
4674
|
schRotation?: string | number | undefined;
|
|
4650
|
-
layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4651
|
-
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4652
|
-
} | undefined;
|
|
4653
|
-
footprint?: _tscircuit_props.Footprint | undefined;
|
|
4654
4675
|
net?: string | undefined;
|
|
4676
|
+
anchorSide?: "left" | "right" | "up" | "down" | undefined;
|
|
4655
4677
|
}>;
|
|
4656
4678
|
};
|
|
4657
4679
|
doInitialSchematicComponentRender(): void;
|
|
@@ -4676,7 +4698,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
4676
4698
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4677
4699
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4678
4700
|
}>>;
|
|
4679
|
-
}, "
|
|
4701
|
+
}, "pcbRotation" | "layer">, {
|
|
4680
4702
|
name: zod.ZodOptional<zod.ZodString>;
|
|
4681
4703
|
shape: zod.ZodLiteral<"circle">;
|
|
4682
4704
|
holeDiameter: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
@@ -4711,7 +4733,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
4711
4733
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4712
4734
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4713
4735
|
}>>;
|
|
4714
|
-
}, "
|
|
4736
|
+
}, "pcbRotation" | "layer">, {
|
|
4715
4737
|
name: zod.ZodOptional<zod.ZodString>;
|
|
4716
4738
|
shape: zod.ZodLiteral<"oval">;
|
|
4717
4739
|
outerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
@@ -4752,7 +4774,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
|
|
|
4752
4774
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4753
4775
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4754
4776
|
}>>;
|
|
4755
|
-
}, "
|
|
4777
|
+
}, "pcbRotation" | "layer">, {
|
|
4756
4778
|
name: zod.ZodOptional<zod.ZodString>;
|
|
4757
4779
|
shape: zod.ZodLiteral<"pill">;
|
|
4758
4780
|
outerWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
@@ -4872,7 +4894,7 @@ declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathPro
|
|
|
4872
4894
|
}>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
|
|
4873
4895
|
name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
|
|
4874
4896
|
}>>;
|
|
4875
|
-
}, "
|
|
4897
|
+
}, "pcbX" | "pcbY" | "pcbRotation">, {
|
|
4876
4898
|
route: zod.ZodArray<zod.ZodObject<{
|
|
4877
4899
|
x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
|
4878
4900
|
y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
|
package/dist/index.js
CHANGED
|
@@ -77,7 +77,8 @@ var orderedRenderPhases = [
|
|
|
77
77
|
"PcbTraceHintRender",
|
|
78
78
|
"PcbRouteNetIslands",
|
|
79
79
|
"PcbComponentSizeCalculation",
|
|
80
|
-
"CadModelRender"
|
|
80
|
+
"CadModelRender",
|
|
81
|
+
"PartsEngineRender"
|
|
81
82
|
];
|
|
82
83
|
var globalRenderCounter = 0;
|
|
83
84
|
var Renderable = class {
|
|
@@ -2387,6 +2388,7 @@ var NormalComponent = class extends PrimitiveComponent {
|
|
|
2387
2388
|
reactSubtrees = [];
|
|
2388
2389
|
_impliedFootprint;
|
|
2389
2390
|
isPrimitiveContainer = true;
|
|
2391
|
+
_asyncSupplierPartNumbers;
|
|
2390
2392
|
constructor(props) {
|
|
2391
2393
|
super(props);
|
|
2392
2394
|
this._addChildrenFromStringFootprint();
|
|
@@ -2902,6 +2904,39 @@ var NormalComponent = class extends PrimitiveComponent {
|
|
|
2902
2904
|
footprinter_string: typeof this.props.footprint === "string" && !cadModel ? this.props.footprint : void 0
|
|
2903
2905
|
});
|
|
2904
2906
|
}
|
|
2907
|
+
doInitialPartsEngineRender() {
|
|
2908
|
+
console.log("doInitialPartsEngineRender", this);
|
|
2909
|
+
const { partsEngine } = this.getSubcircuit()._parsedProps;
|
|
2910
|
+
if (!partsEngine) return;
|
|
2911
|
+
const { db } = this.root;
|
|
2912
|
+
const source_component = db.source_component.get(this.source_component_id);
|
|
2913
|
+
if (!source_component) return;
|
|
2914
|
+
if (source_component.supplier_part_numbers) return;
|
|
2915
|
+
const supplierPartNumbersMaybePromise = partsEngine.findPart(source_component);
|
|
2916
|
+
if (!(supplierPartNumbersMaybePromise instanceof Promise)) {
|
|
2917
|
+
db.source_component.update(this.source_component_id, {
|
|
2918
|
+
supplier_part_numbers: supplierPartNumbersMaybePromise
|
|
2919
|
+
});
|
|
2920
|
+
return;
|
|
2921
|
+
}
|
|
2922
|
+
this._queueAsyncEffect(async () => {
|
|
2923
|
+
this._asyncSupplierPartNumbers = await supplierPartNumbersMaybePromise;
|
|
2924
|
+
this._markDirty("PartsEngineRender");
|
|
2925
|
+
});
|
|
2926
|
+
}
|
|
2927
|
+
updatePartsEngineRender() {
|
|
2928
|
+
const { db } = this.root;
|
|
2929
|
+
console.log("updatePartsEngineRender", this);
|
|
2930
|
+
const source_component = db.source_component.get(this.source_component_id);
|
|
2931
|
+
if (!source_component) return;
|
|
2932
|
+
if (source_component.supplier_part_numbers) return;
|
|
2933
|
+
if (this._asyncSupplierPartNumbers) {
|
|
2934
|
+
db.source_component.update(this.source_component_id, {
|
|
2935
|
+
supplier_part_numbers: this._asyncSupplierPartNumbers
|
|
2936
|
+
});
|
|
2937
|
+
return;
|
|
2938
|
+
}
|
|
2939
|
+
}
|
|
2905
2940
|
};
|
|
2906
2941
|
|
|
2907
2942
|
// lib/components/normal-components/Board.ts
|
|
@@ -3182,7 +3217,7 @@ var Board = class extends Group {
|
|
|
3182
3217
|
throw new Error("Board width and height or an outline are required");
|
|
3183
3218
|
}
|
|
3184
3219
|
const pcb_board = db.pcb_board.insert({
|
|
3185
|
-
center: { x: props.pcbX, y: props.pcbY },
|
|
3220
|
+
center: { x: props.pcbX ?? 0, y: props.pcbY ?? 0 },
|
|
3186
3221
|
thickness: this.boardThickness,
|
|
3187
3222
|
num_layers: this.allLayers.length,
|
|
3188
3223
|
width: props.width,
|
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.165",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"@tscircuit/footprinter": "^0.0.77",
|
|
41
41
|
"@tscircuit/infgrid-ijump-astar": "^0.0.24",
|
|
42
42
|
"@tscircuit/math-utils": "^0.0.4",
|
|
43
|
-
"@tscircuit/props": "^0.0.
|
|
43
|
+
"@tscircuit/props": "^0.0.91",
|
|
44
44
|
"@tscircuit/schematic-autolayout": "^0.0.5",
|
|
45
|
-
"@tscircuit/soup-util": "^0.0.
|
|
45
|
+
"@tscircuit/soup-util": "^0.0.40",
|
|
46
46
|
"circuit-json": "^0.0.99",
|
|
47
47
|
"circuit-json-to-connectivity-map": "^0.0.17",
|
|
48
48
|
"circuit-to-svg": "^0.0.71",
|