@tscircuit/core 0.0.783 → 0.0.785

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as circuit_json from 'circuit-json';
2
2
  import { PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, PcbViaClearanceError, LayerRef, AnyCircuitElement, Size, AnySourceComponent, PcbTraceRoutePoint, PcbTrace as PcbTrace$1, PcbVia, SchematicPort, SchematicComponent, RouteHintPoint, CircuitJson } from 'circuit-json';
3
3
  import * as _tscircuit_props from '@tscircuit/props';
4
- import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, pcbNoteLineProps, pcbNoteRectProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
4
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, pcbNoteLineProps, pcbNoteRectProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, voltageProbeProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
5
5
  import * as react from 'react';
6
6
  import react__default, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
7
7
  export { createElement } from 'react';
@@ -1199,6 +1199,11 @@ declare class NormalComponent<ZodProps extends z.ZodType = any, PortNames extend
1199
1199
  y: number;
1200
1200
  }): void;
1201
1201
  doInitialSilkscreenOverlapAdjustment(): void;
1202
+ /**
1203
+ * Returns true if this component has explicit PCB positioning (pcbX or pcbY)
1204
+ * and should not be moved by automatic packing/layout algorithms
1205
+ */
1206
+ isRelativelyPositioned(): boolean;
1202
1207
  }
1203
1208
 
1204
1209
  declare class Group<Props extends z.ZodType<any, any, any> = typeof groupProps> extends NormalComponent<Props> implements ISubcircuit {
@@ -33346,6 +33351,997 @@ declare class AnalogSimulation extends PrimitiveComponent<typeof analogSimulatio
33346
33351
  doInitialSimulationRender(): void;
33347
33352
  }
33348
33353
 
33354
+ declare class VoltageProbe extends PrimitiveComponent<typeof voltageProbeProps> {
33355
+ simulation_voltage_probe_id: string | null;
33356
+ get config(): {
33357
+ componentName: string;
33358
+ zodProps: z.ZodObject<Omit<{
33359
+ pcbX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33360
+ pcbY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33361
+ pcbRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33362
+ pcbPositionAnchor: z.ZodOptional<z.ZodString>;
33363
+ pcbMarginTop: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33364
+ pcbMarginRight: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33365
+ pcbMarginBottom: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33366
+ pcbMarginLeft: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33367
+ pcbMarginX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33368
+ pcbMarginY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33369
+ schMarginTop: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33370
+ schMarginRight: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33371
+ schMarginBottom: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33372
+ schMarginLeft: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33373
+ schMarginX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33374
+ schMarginY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33375
+ schX: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33376
+ schY: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33377
+ schRotation: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33378
+ layer: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, z.ZodObject<{
33379
+ name: z.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
33380
+ }, "strip", z.ZodTypeAny, {
33381
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
33382
+ }, {
33383
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
33384
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
33385
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
33386
+ }>>;
33387
+ footprint: z.ZodOptional<z.ZodType<_tscircuit_props.FootprintProp, z.ZodTypeDef, _tscircuit_props.FootprintProp>>;
33388
+ symbol: z.ZodOptional<z.ZodType<_tscircuit_props.SymbolProp, z.ZodTypeDef, _tscircuit_props.SymbolProp>>;
33389
+ relative: z.ZodOptional<z.ZodBoolean>;
33390
+ schRelative: z.ZodOptional<z.ZodBoolean>;
33391
+ pcbRelative: z.ZodOptional<z.ZodBoolean>;
33392
+ } & {
33393
+ supplierPartNumbers: z.ZodOptional<z.ZodRecord<z.ZodEnum<["jlcpcb", "macrofab", "pcbway", "digikey", "mouser", "lcsc"]>, z.ZodArray<z.ZodString, "many">>>;
33394
+ } & {
33395
+ key: z.ZodOptional<z.ZodAny>;
33396
+ name: z.ZodString;
33397
+ cadModel: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString, z.ZodType<react.ReactElement<any, string | react.JSXElementConstructor<any>>, z.ZodTypeDef, react.ReactElement<any, string | react.JSXElementConstructor<any>>>, z.ZodObject<{
33398
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33399
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33400
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33401
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33402
+ }, "strip", z.ZodTypeAny, {
33403
+ x: string | number;
33404
+ y: string | number;
33405
+ z: string | number;
33406
+ }, {
33407
+ x: string | number;
33408
+ y: string | number;
33409
+ z: string | number;
33410
+ }>]>>;
33411
+ positionOffset: z.ZodOptional<z.ZodObject<{
33412
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33413
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33414
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33415
+ }, "strip", z.ZodTypeAny, {
33416
+ x: number;
33417
+ y: number;
33418
+ z: number;
33419
+ }, {
33420
+ x: string | number;
33421
+ y: string | number;
33422
+ z: string | number;
33423
+ }>>;
33424
+ size: z.ZodOptional<z.ZodObject<{
33425
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33426
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33427
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33428
+ }, "strip", z.ZodTypeAny, {
33429
+ x: number;
33430
+ y: number;
33431
+ z: number;
33432
+ }, {
33433
+ x: string | number;
33434
+ y: string | number;
33435
+ z: string | number;
33436
+ }>>;
33437
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33438
+ } & {
33439
+ stlUrl: z.ZodString;
33440
+ }, "strip", z.ZodTypeAny, {
33441
+ stlUrl: string;
33442
+ rotationOffset?: number | {
33443
+ x: string | number;
33444
+ y: string | number;
33445
+ z: string | number;
33446
+ } | undefined;
33447
+ positionOffset?: {
33448
+ x: number;
33449
+ y: number;
33450
+ z: number;
33451
+ } | undefined;
33452
+ size?: {
33453
+ x: number;
33454
+ y: number;
33455
+ z: number;
33456
+ } | undefined;
33457
+ modelUnitToMmScale?: number | undefined;
33458
+ }, {
33459
+ stlUrl: string;
33460
+ rotationOffset?: number | {
33461
+ x: string | number;
33462
+ y: string | number;
33463
+ z: string | number;
33464
+ } | undefined;
33465
+ positionOffset?: {
33466
+ x: string | number;
33467
+ y: string | number;
33468
+ z: string | number;
33469
+ } | undefined;
33470
+ size?: {
33471
+ x: string | number;
33472
+ y: string | number;
33473
+ z: string | number;
33474
+ } | undefined;
33475
+ modelUnitToMmScale?: string | number | undefined;
33476
+ }>, z.ZodObject<{
33477
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33478
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33479
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33480
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33481
+ }, "strip", z.ZodTypeAny, {
33482
+ x: string | number;
33483
+ y: string | number;
33484
+ z: string | number;
33485
+ }, {
33486
+ x: string | number;
33487
+ y: string | number;
33488
+ z: string | number;
33489
+ }>]>>;
33490
+ positionOffset: z.ZodOptional<z.ZodObject<{
33491
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33492
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33493
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33494
+ }, "strip", z.ZodTypeAny, {
33495
+ x: number;
33496
+ y: number;
33497
+ z: number;
33498
+ }, {
33499
+ x: string | number;
33500
+ y: string | number;
33501
+ z: string | number;
33502
+ }>>;
33503
+ size: z.ZodOptional<z.ZodObject<{
33504
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33505
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33506
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33507
+ }, "strip", z.ZodTypeAny, {
33508
+ x: number;
33509
+ y: number;
33510
+ z: number;
33511
+ }, {
33512
+ x: string | number;
33513
+ y: string | number;
33514
+ z: string | number;
33515
+ }>>;
33516
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33517
+ } & {
33518
+ objUrl: z.ZodString;
33519
+ mtlUrl: z.ZodOptional<z.ZodString>;
33520
+ }, "strip", z.ZodTypeAny, {
33521
+ objUrl: string;
33522
+ rotationOffset?: number | {
33523
+ x: string | number;
33524
+ y: string | number;
33525
+ z: string | number;
33526
+ } | undefined;
33527
+ positionOffset?: {
33528
+ x: number;
33529
+ y: number;
33530
+ z: number;
33531
+ } | undefined;
33532
+ size?: {
33533
+ x: number;
33534
+ y: number;
33535
+ z: number;
33536
+ } | undefined;
33537
+ modelUnitToMmScale?: number | undefined;
33538
+ mtlUrl?: string | undefined;
33539
+ }, {
33540
+ objUrl: string;
33541
+ rotationOffset?: number | {
33542
+ x: string | number;
33543
+ y: string | number;
33544
+ z: string | number;
33545
+ } | undefined;
33546
+ positionOffset?: {
33547
+ x: string | number;
33548
+ y: string | number;
33549
+ z: string | number;
33550
+ } | undefined;
33551
+ size?: {
33552
+ x: string | number;
33553
+ y: string | number;
33554
+ z: string | number;
33555
+ } | undefined;
33556
+ modelUnitToMmScale?: string | number | undefined;
33557
+ mtlUrl?: string | undefined;
33558
+ }>, z.ZodObject<{
33559
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33560
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33561
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33562
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33563
+ }, "strip", z.ZodTypeAny, {
33564
+ x: string | number;
33565
+ y: string | number;
33566
+ z: string | number;
33567
+ }, {
33568
+ x: string | number;
33569
+ y: string | number;
33570
+ z: string | number;
33571
+ }>]>>;
33572
+ positionOffset: z.ZodOptional<z.ZodObject<{
33573
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33574
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33575
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33576
+ }, "strip", z.ZodTypeAny, {
33577
+ x: number;
33578
+ y: number;
33579
+ z: number;
33580
+ }, {
33581
+ x: string | number;
33582
+ y: string | number;
33583
+ z: string | number;
33584
+ }>>;
33585
+ size: z.ZodOptional<z.ZodObject<{
33586
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33587
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33588
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33589
+ }, "strip", z.ZodTypeAny, {
33590
+ x: number;
33591
+ y: number;
33592
+ z: number;
33593
+ }, {
33594
+ x: string | number;
33595
+ y: string | number;
33596
+ z: string | number;
33597
+ }>>;
33598
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33599
+ } & {
33600
+ gltfUrl: z.ZodString;
33601
+ }, "strip", z.ZodTypeAny, {
33602
+ gltfUrl: string;
33603
+ rotationOffset?: number | {
33604
+ x: string | number;
33605
+ y: string | number;
33606
+ z: string | number;
33607
+ } | undefined;
33608
+ positionOffset?: {
33609
+ x: number;
33610
+ y: number;
33611
+ z: number;
33612
+ } | undefined;
33613
+ size?: {
33614
+ x: number;
33615
+ y: number;
33616
+ z: number;
33617
+ } | undefined;
33618
+ modelUnitToMmScale?: number | undefined;
33619
+ }, {
33620
+ gltfUrl: string;
33621
+ rotationOffset?: number | {
33622
+ x: string | number;
33623
+ y: string | number;
33624
+ z: string | number;
33625
+ } | undefined;
33626
+ positionOffset?: {
33627
+ x: string | number;
33628
+ y: string | number;
33629
+ z: string | number;
33630
+ } | undefined;
33631
+ size?: {
33632
+ x: string | number;
33633
+ y: string | number;
33634
+ z: string | number;
33635
+ } | undefined;
33636
+ modelUnitToMmScale?: string | number | undefined;
33637
+ }>, z.ZodObject<{
33638
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33639
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33640
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33641
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33642
+ }, "strip", z.ZodTypeAny, {
33643
+ x: string | number;
33644
+ y: string | number;
33645
+ z: string | number;
33646
+ }, {
33647
+ x: string | number;
33648
+ y: string | number;
33649
+ z: string | number;
33650
+ }>]>>;
33651
+ positionOffset: z.ZodOptional<z.ZodObject<{
33652
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33653
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33654
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33655
+ }, "strip", z.ZodTypeAny, {
33656
+ x: number;
33657
+ y: number;
33658
+ z: number;
33659
+ }, {
33660
+ x: string | number;
33661
+ y: string | number;
33662
+ z: string | number;
33663
+ }>>;
33664
+ size: z.ZodOptional<z.ZodObject<{
33665
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33666
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33667
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33668
+ }, "strip", z.ZodTypeAny, {
33669
+ x: number;
33670
+ y: number;
33671
+ z: number;
33672
+ }, {
33673
+ x: string | number;
33674
+ y: string | number;
33675
+ z: string | number;
33676
+ }>>;
33677
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33678
+ } & {
33679
+ glbUrl: z.ZodString;
33680
+ }, "strip", z.ZodTypeAny, {
33681
+ glbUrl: string;
33682
+ rotationOffset?: number | {
33683
+ x: string | number;
33684
+ y: string | number;
33685
+ z: string | number;
33686
+ } | undefined;
33687
+ positionOffset?: {
33688
+ x: number;
33689
+ y: number;
33690
+ z: number;
33691
+ } | undefined;
33692
+ size?: {
33693
+ x: number;
33694
+ y: number;
33695
+ z: number;
33696
+ } | undefined;
33697
+ modelUnitToMmScale?: number | undefined;
33698
+ }, {
33699
+ glbUrl: string;
33700
+ rotationOffset?: number | {
33701
+ x: string | number;
33702
+ y: string | number;
33703
+ z: string | number;
33704
+ } | undefined;
33705
+ positionOffset?: {
33706
+ x: string | number;
33707
+ y: string | number;
33708
+ z: string | number;
33709
+ } | undefined;
33710
+ size?: {
33711
+ x: string | number;
33712
+ y: string | number;
33713
+ z: string | number;
33714
+ } | undefined;
33715
+ modelUnitToMmScale?: string | number | undefined;
33716
+ }>, z.ZodObject<{
33717
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33718
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33719
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33720
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33721
+ }, "strip", z.ZodTypeAny, {
33722
+ x: string | number;
33723
+ y: string | number;
33724
+ z: string | number;
33725
+ }, {
33726
+ x: string | number;
33727
+ y: string | number;
33728
+ z: string | number;
33729
+ }>]>>;
33730
+ positionOffset: z.ZodOptional<z.ZodObject<{
33731
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33732
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33733
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33734
+ }, "strip", z.ZodTypeAny, {
33735
+ x: number;
33736
+ y: number;
33737
+ z: number;
33738
+ }, {
33739
+ x: string | number;
33740
+ y: string | number;
33741
+ z: string | number;
33742
+ }>>;
33743
+ size: z.ZodOptional<z.ZodObject<{
33744
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33745
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33746
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33747
+ }, "strip", z.ZodTypeAny, {
33748
+ x: number;
33749
+ y: number;
33750
+ z: number;
33751
+ }, {
33752
+ x: string | number;
33753
+ y: string | number;
33754
+ z: string | number;
33755
+ }>>;
33756
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33757
+ } & {
33758
+ stepUrl: z.ZodString;
33759
+ }, "strip", z.ZodTypeAny, {
33760
+ stepUrl: string;
33761
+ rotationOffset?: number | {
33762
+ x: string | number;
33763
+ y: string | number;
33764
+ z: string | number;
33765
+ } | undefined;
33766
+ positionOffset?: {
33767
+ x: number;
33768
+ y: number;
33769
+ z: number;
33770
+ } | undefined;
33771
+ size?: {
33772
+ x: number;
33773
+ y: number;
33774
+ z: number;
33775
+ } | undefined;
33776
+ modelUnitToMmScale?: number | undefined;
33777
+ }, {
33778
+ stepUrl: string;
33779
+ rotationOffset?: number | {
33780
+ x: string | number;
33781
+ y: string | number;
33782
+ z: string | number;
33783
+ } | undefined;
33784
+ positionOffset?: {
33785
+ x: string | number;
33786
+ y: string | number;
33787
+ z: string | number;
33788
+ } | undefined;
33789
+ size?: {
33790
+ x: string | number;
33791
+ y: string | number;
33792
+ z: string | number;
33793
+ } | undefined;
33794
+ modelUnitToMmScale?: string | number | undefined;
33795
+ }>, z.ZodObject<{
33796
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33797
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33798
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33799
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33800
+ }, "strip", z.ZodTypeAny, {
33801
+ x: string | number;
33802
+ y: string | number;
33803
+ z: string | number;
33804
+ }, {
33805
+ x: string | number;
33806
+ y: string | number;
33807
+ z: string | number;
33808
+ }>]>>;
33809
+ positionOffset: z.ZodOptional<z.ZodObject<{
33810
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33811
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33812
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33813
+ }, "strip", z.ZodTypeAny, {
33814
+ x: number;
33815
+ y: number;
33816
+ z: number;
33817
+ }, {
33818
+ x: string | number;
33819
+ y: string | number;
33820
+ z: string | number;
33821
+ }>>;
33822
+ size: z.ZodOptional<z.ZodObject<{
33823
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33824
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33825
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33826
+ }, "strip", z.ZodTypeAny, {
33827
+ x: number;
33828
+ y: number;
33829
+ z: number;
33830
+ }, {
33831
+ x: string | number;
33832
+ y: string | number;
33833
+ z: string | number;
33834
+ }>>;
33835
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33836
+ } & {
33837
+ wrlUrl: z.ZodString;
33838
+ }, "strip", z.ZodTypeAny, {
33839
+ wrlUrl: string;
33840
+ rotationOffset?: number | {
33841
+ x: string | number;
33842
+ y: string | number;
33843
+ z: string | number;
33844
+ } | undefined;
33845
+ positionOffset?: {
33846
+ x: number;
33847
+ y: number;
33848
+ z: number;
33849
+ } | undefined;
33850
+ size?: {
33851
+ x: number;
33852
+ y: number;
33853
+ z: number;
33854
+ } | undefined;
33855
+ modelUnitToMmScale?: number | undefined;
33856
+ }, {
33857
+ wrlUrl: string;
33858
+ rotationOffset?: number | {
33859
+ x: string | number;
33860
+ y: string | number;
33861
+ z: string | number;
33862
+ } | undefined;
33863
+ positionOffset?: {
33864
+ x: string | number;
33865
+ y: string | number;
33866
+ z: string | number;
33867
+ } | undefined;
33868
+ size?: {
33869
+ x: string | number;
33870
+ y: string | number;
33871
+ z: string | number;
33872
+ } | undefined;
33873
+ modelUnitToMmScale?: string | number | undefined;
33874
+ }>, z.ZodObject<{
33875
+ rotationOffset: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodObject<{
33876
+ x: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33877
+ y: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33878
+ z: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
33879
+ }, "strip", z.ZodTypeAny, {
33880
+ x: string | number;
33881
+ y: string | number;
33882
+ z: string | number;
33883
+ }, {
33884
+ x: string | number;
33885
+ y: string | number;
33886
+ z: string | number;
33887
+ }>]>>;
33888
+ positionOffset: z.ZodOptional<z.ZodObject<{
33889
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33890
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33891
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33892
+ }, "strip", z.ZodTypeAny, {
33893
+ x: number;
33894
+ y: number;
33895
+ z: number;
33896
+ }, {
33897
+ x: string | number;
33898
+ y: string | number;
33899
+ z: string | number;
33900
+ }>>;
33901
+ size: z.ZodOptional<z.ZodObject<{
33902
+ x: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33903
+ y: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33904
+ z: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
33905
+ }, "strip", z.ZodTypeAny, {
33906
+ x: number;
33907
+ y: number;
33908
+ z: number;
33909
+ }, {
33910
+ x: string | number;
33911
+ y: string | number;
33912
+ z: string | number;
33913
+ }>>;
33914
+ modelUnitToMmScale: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
33915
+ } & {
33916
+ jscad: z.ZodRecord<z.ZodString, z.ZodAny>;
33917
+ }, "strip", z.ZodTypeAny, {
33918
+ jscad: Record<string, any>;
33919
+ rotationOffset?: number | {
33920
+ x: string | number;
33921
+ y: string | number;
33922
+ z: string | number;
33923
+ } | undefined;
33924
+ positionOffset?: {
33925
+ x: number;
33926
+ y: number;
33927
+ z: number;
33928
+ } | undefined;
33929
+ size?: {
33930
+ x: number;
33931
+ y: number;
33932
+ z: number;
33933
+ } | undefined;
33934
+ modelUnitToMmScale?: number | undefined;
33935
+ }, {
33936
+ jscad: Record<string, any>;
33937
+ rotationOffset?: number | {
33938
+ x: string | number;
33939
+ y: string | number;
33940
+ z: string | number;
33941
+ } | undefined;
33942
+ positionOffset?: {
33943
+ x: string | number;
33944
+ y: string | number;
33945
+ z: string | number;
33946
+ } | undefined;
33947
+ size?: {
33948
+ x: string | number;
33949
+ y: string | number;
33950
+ z: string | number;
33951
+ } | undefined;
33952
+ modelUnitToMmScale?: string | number | undefined;
33953
+ }>]>>;
33954
+ children: z.ZodOptional<z.ZodAny>;
33955
+ symbolName: z.ZodOptional<z.ZodString>;
33956
+ doNotPlace: z.ZodOptional<z.ZodBoolean>;
33957
+ obstructsWithinBounds: z.ZodOptional<z.ZodBoolean>;
33958
+ pinAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
33959
+ providesPower: z.ZodOptional<z.ZodBoolean>;
33960
+ requiresPower: z.ZodOptional<z.ZodBoolean>;
33961
+ providesGround: z.ZodOptional<z.ZodBoolean>;
33962
+ requiresGround: z.ZodOptional<z.ZodBoolean>;
33963
+ providesVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
33964
+ requiresVoltage: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
33965
+ doNotConnect: z.ZodOptional<z.ZodBoolean>;
33966
+ includeInBoardPinout: z.ZodOptional<z.ZodBoolean>;
33967
+ highlightColor: z.ZodOptional<z.ZodString>;
33968
+ }, "strip", z.ZodTypeAny, {
33969
+ providesPower?: boolean | undefined;
33970
+ requiresPower?: boolean | undefined;
33971
+ providesGround?: boolean | undefined;
33972
+ requiresGround?: boolean | undefined;
33973
+ providesVoltage?: string | number | undefined;
33974
+ requiresVoltage?: string | number | undefined;
33975
+ doNotConnect?: boolean | undefined;
33976
+ includeInBoardPinout?: boolean | undefined;
33977
+ highlightColor?: string | undefined;
33978
+ }, {
33979
+ providesPower?: boolean | undefined;
33980
+ requiresPower?: boolean | undefined;
33981
+ providesGround?: boolean | undefined;
33982
+ requiresGround?: boolean | undefined;
33983
+ providesVoltage?: string | number | undefined;
33984
+ requiresVoltage?: string | number | undefined;
33985
+ doNotConnect?: boolean | undefined;
33986
+ includeInBoardPinout?: boolean | undefined;
33987
+ highlightColor?: string | undefined;
33988
+ }>>>;
33989
+ }, "name"> & {
33990
+ name: z.ZodOptional<z.ZodString>;
33991
+ connectsTo: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
33992
+ }, "strip", z.ZodTypeAny, {
33993
+ connectsTo: string | string[];
33994
+ symbol?: _tscircuit_props.SymbolProp | undefined;
33995
+ key?: any;
33996
+ pcbX?: number | undefined;
33997
+ pcbY?: number | undefined;
33998
+ pcbRotation?: number | undefined;
33999
+ pcbPositionAnchor?: string | undefined;
34000
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
34001
+ pcbMarginTop?: number | undefined;
34002
+ pcbMarginRight?: number | undefined;
34003
+ pcbMarginBottom?: number | undefined;
34004
+ pcbMarginLeft?: number | undefined;
34005
+ pcbMarginX?: number | undefined;
34006
+ pcbMarginY?: number | undefined;
34007
+ pcbRelative?: boolean | undefined;
34008
+ relative?: boolean | undefined;
34009
+ schMarginTop?: number | undefined;
34010
+ schMarginRight?: number | undefined;
34011
+ schMarginBottom?: number | undefined;
34012
+ schMarginLeft?: number | undefined;
34013
+ schMarginX?: number | undefined;
34014
+ schMarginY?: number | undefined;
34015
+ schX?: number | undefined;
34016
+ schY?: number | undefined;
34017
+ schRotation?: number | undefined;
34018
+ footprint?: _tscircuit_props.FootprintProp | undefined;
34019
+ schRelative?: boolean | undefined;
34020
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
34021
+ name?: string | undefined;
34022
+ pinAttributes?: Record<string, {
34023
+ providesPower?: boolean | undefined;
34024
+ requiresPower?: boolean | undefined;
34025
+ providesGround?: boolean | undefined;
34026
+ requiresGround?: boolean | undefined;
34027
+ providesVoltage?: string | number | undefined;
34028
+ requiresVoltage?: string | number | undefined;
34029
+ doNotConnect?: boolean | undefined;
34030
+ includeInBoardPinout?: boolean | undefined;
34031
+ highlightColor?: string | undefined;
34032
+ }> | undefined;
34033
+ cadModel?: string | {
34034
+ stlUrl: string;
34035
+ rotationOffset?: number | {
34036
+ x: string | number;
34037
+ y: string | number;
34038
+ z: string | number;
34039
+ } | undefined;
34040
+ positionOffset?: {
34041
+ x: number;
34042
+ y: number;
34043
+ z: number;
34044
+ } | undefined;
34045
+ size?: {
34046
+ x: number;
34047
+ y: number;
34048
+ z: number;
34049
+ } | undefined;
34050
+ modelUnitToMmScale?: number | undefined;
34051
+ } | {
34052
+ objUrl: string;
34053
+ rotationOffset?: number | {
34054
+ x: string | number;
34055
+ y: string | number;
34056
+ z: string | number;
34057
+ } | undefined;
34058
+ positionOffset?: {
34059
+ x: number;
34060
+ y: number;
34061
+ z: number;
34062
+ } | undefined;
34063
+ size?: {
34064
+ x: number;
34065
+ y: number;
34066
+ z: number;
34067
+ } | undefined;
34068
+ modelUnitToMmScale?: number | undefined;
34069
+ mtlUrl?: string | undefined;
34070
+ } | {
34071
+ gltfUrl: string;
34072
+ rotationOffset?: number | {
34073
+ x: string | number;
34074
+ y: string | number;
34075
+ z: string | number;
34076
+ } | undefined;
34077
+ positionOffset?: {
34078
+ x: number;
34079
+ y: number;
34080
+ z: number;
34081
+ } | undefined;
34082
+ size?: {
34083
+ x: number;
34084
+ y: number;
34085
+ z: number;
34086
+ } | undefined;
34087
+ modelUnitToMmScale?: number | undefined;
34088
+ } | {
34089
+ glbUrl: string;
34090
+ rotationOffset?: number | {
34091
+ x: string | number;
34092
+ y: string | number;
34093
+ z: string | number;
34094
+ } | undefined;
34095
+ positionOffset?: {
34096
+ x: number;
34097
+ y: number;
34098
+ z: number;
34099
+ } | undefined;
34100
+ size?: {
34101
+ x: number;
34102
+ y: number;
34103
+ z: number;
34104
+ } | undefined;
34105
+ modelUnitToMmScale?: number | undefined;
34106
+ } | {
34107
+ stepUrl: string;
34108
+ rotationOffset?: number | {
34109
+ x: string | number;
34110
+ y: string | number;
34111
+ z: string | number;
34112
+ } | undefined;
34113
+ positionOffset?: {
34114
+ x: number;
34115
+ y: number;
34116
+ z: number;
34117
+ } | undefined;
34118
+ size?: {
34119
+ x: number;
34120
+ y: number;
34121
+ z: number;
34122
+ } | undefined;
34123
+ modelUnitToMmScale?: number | undefined;
34124
+ } | {
34125
+ wrlUrl: string;
34126
+ rotationOffset?: number | {
34127
+ x: string | number;
34128
+ y: string | number;
34129
+ z: string | number;
34130
+ } | undefined;
34131
+ positionOffset?: {
34132
+ x: number;
34133
+ y: number;
34134
+ z: number;
34135
+ } | undefined;
34136
+ size?: {
34137
+ x: number;
34138
+ y: number;
34139
+ z: number;
34140
+ } | undefined;
34141
+ modelUnitToMmScale?: number | undefined;
34142
+ } | {
34143
+ jscad: Record<string, any>;
34144
+ rotationOffset?: number | {
34145
+ x: string | number;
34146
+ y: string | number;
34147
+ z: string | number;
34148
+ } | undefined;
34149
+ positionOffset?: {
34150
+ x: number;
34151
+ y: number;
34152
+ z: number;
34153
+ } | undefined;
34154
+ size?: {
34155
+ x: number;
34156
+ y: number;
34157
+ z: number;
34158
+ } | undefined;
34159
+ modelUnitToMmScale?: number | undefined;
34160
+ } | react.ReactElement<any, string | react.JSXElementConstructor<any>> | null | undefined;
34161
+ children?: any;
34162
+ symbolName?: string | undefined;
34163
+ doNotPlace?: boolean | undefined;
34164
+ obstructsWithinBounds?: boolean | undefined;
34165
+ }, {
34166
+ connectsTo: string | string[];
34167
+ symbol?: _tscircuit_props.SymbolProp | undefined;
34168
+ key?: any;
34169
+ pcbX?: string | number | undefined;
34170
+ pcbY?: string | number | undefined;
34171
+ pcbRotation?: string | number | undefined;
34172
+ pcbPositionAnchor?: string | undefined;
34173
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
34174
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
34175
+ } | undefined;
34176
+ pcbMarginTop?: string | number | undefined;
34177
+ pcbMarginRight?: string | number | undefined;
34178
+ pcbMarginBottom?: string | number | undefined;
34179
+ pcbMarginLeft?: string | number | undefined;
34180
+ pcbMarginX?: string | number | undefined;
34181
+ pcbMarginY?: string | number | undefined;
34182
+ pcbRelative?: boolean | undefined;
34183
+ relative?: boolean | undefined;
34184
+ schMarginTop?: string | number | undefined;
34185
+ schMarginRight?: string | number | undefined;
34186
+ schMarginBottom?: string | number | undefined;
34187
+ schMarginLeft?: string | number | undefined;
34188
+ schMarginX?: string | number | undefined;
34189
+ schMarginY?: string | number | undefined;
34190
+ schX?: string | number | undefined;
34191
+ schY?: string | number | undefined;
34192
+ schRotation?: string | number | undefined;
34193
+ footprint?: _tscircuit_props.FootprintProp | undefined;
34194
+ schRelative?: boolean | undefined;
34195
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
34196
+ name?: string | undefined;
34197
+ pinAttributes?: Record<string, {
34198
+ providesPower?: boolean | undefined;
34199
+ requiresPower?: boolean | undefined;
34200
+ providesGround?: boolean | undefined;
34201
+ requiresGround?: boolean | undefined;
34202
+ providesVoltage?: string | number | undefined;
34203
+ requiresVoltage?: string | number | undefined;
34204
+ doNotConnect?: boolean | undefined;
34205
+ includeInBoardPinout?: boolean | undefined;
34206
+ highlightColor?: string | undefined;
34207
+ }> | undefined;
34208
+ cadModel?: string | {
34209
+ stlUrl: string;
34210
+ rotationOffset?: number | {
34211
+ x: string | number;
34212
+ y: string | number;
34213
+ z: string | number;
34214
+ } | undefined;
34215
+ positionOffset?: {
34216
+ x: string | number;
34217
+ y: string | number;
34218
+ z: string | number;
34219
+ } | undefined;
34220
+ size?: {
34221
+ x: string | number;
34222
+ y: string | number;
34223
+ z: string | number;
34224
+ } | undefined;
34225
+ modelUnitToMmScale?: string | number | undefined;
34226
+ } | {
34227
+ objUrl: string;
34228
+ rotationOffset?: number | {
34229
+ x: string | number;
34230
+ y: string | number;
34231
+ z: string | number;
34232
+ } | undefined;
34233
+ positionOffset?: {
34234
+ x: string | number;
34235
+ y: string | number;
34236
+ z: string | number;
34237
+ } | undefined;
34238
+ size?: {
34239
+ x: string | number;
34240
+ y: string | number;
34241
+ z: string | number;
34242
+ } | undefined;
34243
+ modelUnitToMmScale?: string | number | undefined;
34244
+ mtlUrl?: string | undefined;
34245
+ } | {
34246
+ gltfUrl: string;
34247
+ rotationOffset?: number | {
34248
+ x: string | number;
34249
+ y: string | number;
34250
+ z: string | number;
34251
+ } | undefined;
34252
+ positionOffset?: {
34253
+ x: string | number;
34254
+ y: string | number;
34255
+ z: string | number;
34256
+ } | undefined;
34257
+ size?: {
34258
+ x: string | number;
34259
+ y: string | number;
34260
+ z: string | number;
34261
+ } | undefined;
34262
+ modelUnitToMmScale?: string | number | undefined;
34263
+ } | {
34264
+ glbUrl: string;
34265
+ rotationOffset?: number | {
34266
+ x: string | number;
34267
+ y: string | number;
34268
+ z: string | number;
34269
+ } | undefined;
34270
+ positionOffset?: {
34271
+ x: string | number;
34272
+ y: string | number;
34273
+ z: string | number;
34274
+ } | undefined;
34275
+ size?: {
34276
+ x: string | number;
34277
+ y: string | number;
34278
+ z: string | number;
34279
+ } | undefined;
34280
+ modelUnitToMmScale?: string | number | undefined;
34281
+ } | {
34282
+ stepUrl: string;
34283
+ rotationOffset?: number | {
34284
+ x: string | number;
34285
+ y: string | number;
34286
+ z: string | number;
34287
+ } | undefined;
34288
+ positionOffset?: {
34289
+ x: string | number;
34290
+ y: string | number;
34291
+ z: string | number;
34292
+ } | undefined;
34293
+ size?: {
34294
+ x: string | number;
34295
+ y: string | number;
34296
+ z: string | number;
34297
+ } | undefined;
34298
+ modelUnitToMmScale?: string | number | undefined;
34299
+ } | {
34300
+ wrlUrl: string;
34301
+ rotationOffset?: number | {
34302
+ x: string | number;
34303
+ y: string | number;
34304
+ z: string | number;
34305
+ } | undefined;
34306
+ positionOffset?: {
34307
+ x: string | number;
34308
+ y: string | number;
34309
+ z: string | number;
34310
+ } | undefined;
34311
+ size?: {
34312
+ x: string | number;
34313
+ y: string | number;
34314
+ z: string | number;
34315
+ } | undefined;
34316
+ modelUnitToMmScale?: string | number | undefined;
34317
+ } | {
34318
+ jscad: Record<string, any>;
34319
+ rotationOffset?: number | {
34320
+ x: string | number;
34321
+ y: string | number;
34322
+ z: string | number;
34323
+ } | undefined;
34324
+ positionOffset?: {
34325
+ x: string | number;
34326
+ y: string | number;
34327
+ z: string | number;
34328
+ } | undefined;
34329
+ size?: {
34330
+ x: string | number;
34331
+ y: string | number;
34332
+ z: string | number;
34333
+ } | undefined;
34334
+ modelUnitToMmScale?: string | number | undefined;
34335
+ } | react.ReactElement<any, string | react.JSXElementConstructor<any>> | null | undefined;
34336
+ children?: any;
34337
+ symbolName?: string | undefined;
34338
+ doNotPlace?: boolean | undefined;
34339
+ obstructsWithinBounds?: boolean | undefined;
34340
+ }>;
34341
+ };
34342
+ doInitialSimulationRender(): void;
34343
+ }
34344
+
33349
34345
  declare const useRenderedCircuit: (reactElements: react__default.ReactElement) => {
33350
34346
  isLoading: boolean;
33351
34347
  error?: Error | null;
@@ -33973,6 +34969,7 @@ interface TscircuitElements {
33973
34969
  mosfet: _tscircuit_props.MosfetProps;
33974
34970
  testpoint: _tscircuit_props.TestpointProps;
33975
34971
  voltagesource: VoltageSourceProps;
34972
+ voltageprobe: _tscircuit_props.VoltageProbeProps;
33976
34973
  copperpour: _tscircuit_props.CopperPourProps;
33977
34974
  analogsimulation: _tscircuit_props.AnalogSimulationProps;
33978
34975
  jscad: any;
@@ -33991,4 +34988,4 @@ declare module "react/jsx-runtime" {
33991
34988
  }
33992
34989
  }
33993
34990
 
33994
- export { AnalogSimulation, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteRect, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbNoteDimension, PcbNoteLine, PcbNotePath, PcbNoteRect, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
34991
+ export { AnalogSimulation, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteRect, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbNoteDimension, PcbNoteLine, PcbNotePath, PcbNoteRect, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageProbe, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -76,6 +76,7 @@ __export(components_exports, {
76
76
  TraceHint: () => TraceHint,
77
77
  Transistor: () => Transistor,
78
78
  Via: () => Via,
79
+ VoltageProbe: () => VoltageProbe,
79
80
  VoltageSource: () => VoltageSource
80
81
  });
81
82
 
@@ -8429,6 +8430,13 @@ var NormalComponent3 = class extends PrimitiveComponent2 {
8429
8430
  doInitialSilkscreenOverlapAdjustment() {
8430
8431
  return NormalComponent_doInitialSilkscreenOverlapAdjustment(this);
8431
8432
  }
8433
+ /**
8434
+ * Returns true if this component has explicit PCB positioning (pcbX or pcbY)
8435
+ * and should not be moved by automatic packing/layout algorithms
8436
+ */
8437
+ isRelativelyPositioned() {
8438
+ return this._parsedProps.pcbX !== void 0 || this._parsedProps.pcbY !== void 0;
8439
+ }
8432
8440
  };
8433
8441
 
8434
8442
  // lib/utils/boards/get-board-center-from-anchor.ts
@@ -11069,6 +11077,7 @@ var Group_doInitialPcbLayoutPack = (group) => {
11069
11077
  const gap = pcbPackGap ?? pcbGap ?? gapProp;
11070
11078
  const gapMm = length4.parse(gap ?? DEFAULT_MIN_GAP);
11071
11079
  const chipMarginsMap = {};
11080
+ const excludedPcbComponentIds = /* @__PURE__ */ new Set();
11072
11081
  const collectMargins = (comp) => {
11073
11082
  if (comp?.pcb_component_id && comp?._parsedProps) {
11074
11083
  const props2 = comp._parsedProps;
@@ -11085,9 +11094,34 @@ var Group_doInitialPcbLayoutPack = (group) => {
11085
11094
  if (comp?.children) comp.children.forEach(collectMargins);
11086
11095
  };
11087
11096
  collectMargins(group);
11097
+ const excludedPcbGroupIds = /* @__PURE__ */ new Set();
11098
+ for (const child of group.children) {
11099
+ const childIsGroupOrNormalComponent = child;
11100
+ if (childIsGroupOrNormalComponent._isNormalComponent && childIsGroupOrNormalComponent.isRelativelyPositioned?.()) {
11101
+ if (childIsGroupOrNormalComponent.pcb_component_id) {
11102
+ excludedPcbComponentIds.add(
11103
+ childIsGroupOrNormalComponent.pcb_component_id
11104
+ );
11105
+ }
11106
+ if (childIsGroupOrNormalComponent.pcb_group_id) {
11107
+ excludedPcbGroupIds.add(
11108
+ childIsGroupOrNormalComponent.pcb_group_id
11109
+ );
11110
+ }
11111
+ }
11112
+ }
11113
+ const filteredCircuitJson = db.toArray().filter((element) => {
11114
+ if (element.type === "pcb_component") {
11115
+ return !excludedPcbComponentIds.has(element.pcb_component_id);
11116
+ }
11117
+ if (element.type === "pcb_group") {
11118
+ return !excludedPcbGroupIds.has(element.pcb_group_id);
11119
+ }
11120
+ return true;
11121
+ });
11088
11122
  const packInput = {
11089
11123
  ...convertPackOutputToPackInput(
11090
- convertCircuitJsonToPackOutput(db.toArray(), {
11124
+ convertCircuitJsonToPackOutput(filteredCircuitJson, {
11091
11125
  source_group_id: group.source_group_id,
11092
11126
  shouldAddInnerObstacles: true,
11093
11127
  chipMarginsMap
@@ -12781,13 +12815,11 @@ var Group6 = class extends NormalComponent3 {
12781
12815
  if (props.grid) return "grid";
12782
12816
  const groupHasCoords = props.pcbX !== void 0 || props.pcbY !== void 0;
12783
12817
  const hasManualEdits = (props.manualEdits?.pcb_placements?.length ?? 0) > 0;
12784
- const anyDirectChildHasPcbCoords = this.children.some((child) => {
12785
- const childProps = child._parsedProps;
12786
- return childProps?.pcbX !== void 0 || childProps?.pcbY !== void 0;
12787
- });
12788
- if (anyDirectChildHasPcbCoords) return "none";
12789
12818
  const unpositionedDirectChildrenCount = this.children.reduce(
12790
12819
  (count, child) => {
12820
+ if (!child.pcb_component_id && !child.pcb_group_id) {
12821
+ return count;
12822
+ }
12791
12823
  const childProps = child._parsedProps;
12792
12824
  const hasCoords = childProps?.pcbX !== void 0 || childProps?.pcbY !== void 0;
12793
12825
  return count + (hasCoords ? 0 : 1);
@@ -16518,6 +16550,57 @@ var AnalogSimulation = class extends PrimitiveComponent2 {
16518
16550
  }
16519
16551
  };
16520
16552
 
16553
+ // lib/components/primitive-components/VoltageProbe.ts
16554
+ import { voltageProbeProps } from "@tscircuit/props";
16555
+ import "zod";
16556
+ var VoltageProbe = class extends PrimitiveComponent2 {
16557
+ simulation_voltage_probe_id = null;
16558
+ get config() {
16559
+ return {
16560
+ componentName: "VoltageProbe",
16561
+ zodProps: voltageProbeProps
16562
+ };
16563
+ }
16564
+ doInitialSimulationRender() {
16565
+ const { db } = this.root;
16566
+ const { connectsTo, name } = this._parsedProps;
16567
+ const subcircuit = this.getSubcircuit();
16568
+ if (!subcircuit) {
16569
+ this.renderError("VoltageProbe must be inside a subcircuit");
16570
+ return;
16571
+ }
16572
+ const targets = Array.isArray(connectsTo) ? connectsTo : [connectsTo];
16573
+ if (targets.length !== 1) {
16574
+ this.renderError("VoltageProbe must connect to exactly one port or net");
16575
+ return;
16576
+ }
16577
+ const targetSelector = targets[0];
16578
+ const port = subcircuit.selectOne(targetSelector, {
16579
+ type: "port"
16580
+ });
16581
+ const net = !port ? subcircuit.selectOne(targetSelector, { type: "net" }) : null;
16582
+ if (net && net.componentName !== "Net") {
16583
+ this.renderError(
16584
+ `VoltageProbe connection target "${targetSelector}" resolved to a non-net component "${net.componentName}".`
16585
+ );
16586
+ return;
16587
+ }
16588
+ if (!port && !net) {
16589
+ this.renderError(
16590
+ `VoltageProbe could not find connection target "${targetSelector}"`
16591
+ );
16592
+ return;
16593
+ }
16594
+ const { simulation_voltage_probe_id } = db.simulation_voltage_probe.insert({
16595
+ name: name ?? this.name,
16596
+ source_port_id: port?.source_port_id ?? void 0,
16597
+ source_net_id: net?.source_net_id ?? void 0,
16598
+ subcircuit_id: subcircuit.subcircuit_id || void 0
16599
+ });
16600
+ this.simulation_voltage_probe_id = simulation_voltage_probe_id;
16601
+ }
16602
+ };
16603
+
16521
16604
  // lib/RootCircuit.ts
16522
16605
  import { su as su5 } from "@tscircuit/circuit-json-util";
16523
16606
  import { isValidElement as isValidElement2 } from "react";
@@ -16527,7 +16610,7 @@ import { identity as identity6 } from "transformation-matrix";
16527
16610
  var package_default = {
16528
16611
  name: "@tscircuit/core",
16529
16612
  type: "module",
16530
- version: "0.0.782",
16613
+ version: "0.0.784",
16531
16614
  types: "dist/index.d.ts",
16532
16615
  main: "dist/index.js",
16533
16616
  module: "dist/index.js",
@@ -16559,7 +16642,7 @@ var package_default = {
16559
16642
  "@tscircuit/capacity-autorouter": "^0.0.132",
16560
16643
  "@tscircuit/checks": "^0.0.85",
16561
16644
  "@tscircuit/circuit-json-util": "^0.0.72",
16562
- "@tscircuit/common": "^0.0.9",
16645
+ "@tscircuit/common": "^0.0.11",
16563
16646
  "@tscircuit/footprinter": "^0.0.236",
16564
16647
  "@tscircuit/import-snippet": "^0.0.4",
16565
16648
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
@@ -16585,8 +16668,8 @@ var package_default = {
16585
16668
  "circuit-json-to-connectivity-map": "^0.0.22",
16586
16669
  "circuit-json-to-gltf": "^0.0.7",
16587
16670
  "circuit-json-to-simple-3d": "^0.0.9",
16588
- "circuit-json-to-spice": "^0.0.13",
16589
16671
  "circuit-to-svg": "^0.0.235",
16672
+ "circuit-json-to-spice": "^0.0.14",
16590
16673
  concurrently: "^9.1.2",
16591
16674
  "connectivity-map": "^1.0.0",
16592
16675
  debug: "^4.3.6",
@@ -16601,7 +16684,7 @@ var package_default = {
16601
16684
  react: "^19.1.0",
16602
16685
  "react-dom": "^19.1.0",
16603
16686
  "schematic-symbols": "^0.0.202",
16604
- spicey: "^0.0.4",
16687
+ spicey: "^0.0.8",
16605
16688
  "ts-expect": "^1.3.0",
16606
16689
  tsup: "^8.2.4"
16607
16690
  },
@@ -17106,6 +17189,7 @@ export {
17106
17189
  TraceHint,
17107
17190
  Transistor,
17108
17191
  Via,
17192
+ VoltageProbe,
17109
17193
  VoltageSource,
17110
17194
  applyEditEvents,
17111
17195
  applyEditEventsToManualEditsFile,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.783",
4
+ "version": "0.0.785",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "@tscircuit/capacity-autorouter": "^0.0.132",
34
34
  "@tscircuit/checks": "^0.0.85",
35
35
  "@tscircuit/circuit-json-util": "^0.0.72",
36
- "@tscircuit/common": "^0.0.9",
36
+ "@tscircuit/common": "^0.0.11",
37
37
  "@tscircuit/footprinter": "^0.0.236",
38
38
  "@tscircuit/import-snippet": "^0.0.4",
39
39
  "@tscircuit/infgrid-ijump-astar": "^0.0.33",
@@ -59,8 +59,8 @@
59
59
  "circuit-json-to-connectivity-map": "^0.0.22",
60
60
  "circuit-json-to-gltf": "^0.0.7",
61
61
  "circuit-json-to-simple-3d": "^0.0.9",
62
- "circuit-json-to-spice": "^0.0.13",
63
62
  "circuit-to-svg": "^0.0.235",
63
+ "circuit-json-to-spice": "^0.0.14",
64
64
  "concurrently": "^9.1.2",
65
65
  "connectivity-map": "^1.0.0",
66
66
  "debug": "^4.3.6",
@@ -75,7 +75,7 @@
75
75
  "react": "^19.1.0",
76
76
  "react-dom": "^19.1.0",
77
77
  "schematic-symbols": "^0.0.202",
78
- "spicey": "^0.0.4",
78
+ "spicey": "^0.0.8",
79
79
  "ts-expect": "^1.3.0",
80
80
  "tsup": "^8.2.4"
81
81
  },