@tscircuit/core 0.0.781 → 0.0.783

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, 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, 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';
@@ -17405,6 +17405,320 @@ declare class PcbNoteLine extends PrimitiveComponent<typeof pcbNoteLineProps> {
17405
17405
  };
17406
17406
  }
17407
17407
 
17408
+ declare class PcbNoteRect extends PrimitiveComponent<typeof pcbNoteRectProps> {
17409
+ pcb_note_rect_id: string | null;
17410
+ isPcbPrimitive: boolean;
17411
+ get config(): {
17412
+ componentName: string;
17413
+ zodProps: zod.ZodObject<Omit<{
17414
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17415
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17416
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17417
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
17418
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
17419
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
17420
+ }, "strip", zod.ZodTypeAny, {
17421
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17422
+ }, {
17423
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17424
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17425
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17426
+ }>>;
17427
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17428
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17429
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17430
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17431
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17432
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17433
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
17434
+ relative: zod.ZodOptional<zod.ZodBoolean>;
17435
+ }, "pcbRotation"> & {
17436
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17437
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17438
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17439
+ isFilled: zod.ZodOptional<zod.ZodBoolean>;
17440
+ hasStroke: zod.ZodOptional<zod.ZodBoolean>;
17441
+ isStrokeDashed: zod.ZodOptional<zod.ZodBoolean>;
17442
+ color: zod.ZodOptional<zod.ZodString>;
17443
+ }, "strip", zod.ZodTypeAny, {
17444
+ width: number;
17445
+ height: number;
17446
+ pcbX?: number | undefined;
17447
+ pcbY?: number | undefined;
17448
+ pcbPositionAnchor?: string | undefined;
17449
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17450
+ pcbMarginTop?: number | undefined;
17451
+ pcbMarginRight?: number | undefined;
17452
+ pcbMarginBottom?: number | undefined;
17453
+ pcbMarginLeft?: number | undefined;
17454
+ pcbMarginX?: number | undefined;
17455
+ pcbMarginY?: number | undefined;
17456
+ pcbRelative?: boolean | undefined;
17457
+ relative?: boolean | undefined;
17458
+ strokeWidth?: number | undefined;
17459
+ color?: string | undefined;
17460
+ isFilled?: boolean | undefined;
17461
+ hasStroke?: boolean | undefined;
17462
+ isStrokeDashed?: boolean | undefined;
17463
+ }, {
17464
+ width: string | number;
17465
+ height: string | number;
17466
+ pcbX?: string | number | undefined;
17467
+ pcbY?: string | number | undefined;
17468
+ pcbPositionAnchor?: string | undefined;
17469
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17470
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17471
+ } | undefined;
17472
+ pcbMarginTop?: string | number | undefined;
17473
+ pcbMarginRight?: string | number | undefined;
17474
+ pcbMarginBottom?: string | number | undefined;
17475
+ pcbMarginLeft?: string | number | undefined;
17476
+ pcbMarginX?: string | number | undefined;
17477
+ pcbMarginY?: string | number | undefined;
17478
+ pcbRelative?: boolean | undefined;
17479
+ relative?: boolean | undefined;
17480
+ strokeWidth?: string | number | undefined;
17481
+ color?: string | undefined;
17482
+ isFilled?: boolean | undefined;
17483
+ hasStroke?: boolean | undefined;
17484
+ isStrokeDashed?: boolean | undefined;
17485
+ }>;
17486
+ };
17487
+ doInitialPcbPrimitiveRender(): void;
17488
+ getPcbSize(): {
17489
+ width: number;
17490
+ height: number;
17491
+ };
17492
+ }
17493
+
17494
+ declare class PcbNotePath extends PrimitiveComponent<typeof pcbNotePathProps> {
17495
+ pcb_note_path_id: string | null;
17496
+ isPcbPrimitive: boolean;
17497
+ get config(): {
17498
+ componentName: string;
17499
+ zodProps: zod.ZodObject<Omit<{
17500
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17501
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17502
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17503
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
17504
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
17505
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
17506
+ }, "strip", zod.ZodTypeAny, {
17507
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17508
+ }, {
17509
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17510
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17511
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17512
+ }>>;
17513
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17514
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17515
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17516
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17517
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17518
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17519
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
17520
+ relative: zod.ZodOptional<zod.ZodBoolean>;
17521
+ }, "pcbRotation" | "pcbX" | "pcbY"> & {
17522
+ route: zod.ZodArray<zod.ZodObject<{
17523
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17524
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17525
+ via: zod.ZodOptional<zod.ZodBoolean>;
17526
+ to_layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
17527
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
17528
+ }, "strip", zod.ZodTypeAny, {
17529
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17530
+ }, {
17531
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17532
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17533
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17534
+ }>>;
17535
+ trace_width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17536
+ }, "strip", zod.ZodTypeAny, {
17537
+ x: number;
17538
+ y: number;
17539
+ via?: boolean | undefined;
17540
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17541
+ trace_width?: number | undefined;
17542
+ }, {
17543
+ x: string | number;
17544
+ y: string | number;
17545
+ via?: boolean | undefined;
17546
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17547
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17548
+ } | undefined;
17549
+ trace_width?: string | number | undefined;
17550
+ }>, "many">;
17551
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17552
+ color: zod.ZodOptional<zod.ZodString>;
17553
+ }, "strip", zod.ZodTypeAny, {
17554
+ route: {
17555
+ x: number;
17556
+ y: number;
17557
+ via?: boolean | undefined;
17558
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17559
+ trace_width?: number | undefined;
17560
+ }[];
17561
+ pcbPositionAnchor?: string | undefined;
17562
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17563
+ pcbMarginTop?: number | undefined;
17564
+ pcbMarginRight?: number | undefined;
17565
+ pcbMarginBottom?: number | undefined;
17566
+ pcbMarginLeft?: number | undefined;
17567
+ pcbMarginX?: number | undefined;
17568
+ pcbMarginY?: number | undefined;
17569
+ pcbRelative?: boolean | undefined;
17570
+ relative?: boolean | undefined;
17571
+ strokeWidth?: number | undefined;
17572
+ color?: string | undefined;
17573
+ }, {
17574
+ route: {
17575
+ x: string | number;
17576
+ y: string | number;
17577
+ via?: boolean | undefined;
17578
+ to_layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17579
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17580
+ } | undefined;
17581
+ trace_width?: string | number | undefined;
17582
+ }[];
17583
+ pcbPositionAnchor?: string | undefined;
17584
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17585
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17586
+ } | undefined;
17587
+ pcbMarginTop?: string | number | undefined;
17588
+ pcbMarginRight?: string | number | undefined;
17589
+ pcbMarginBottom?: string | number | undefined;
17590
+ pcbMarginLeft?: string | number | undefined;
17591
+ pcbMarginX?: string | number | undefined;
17592
+ pcbMarginY?: string | number | undefined;
17593
+ pcbRelative?: boolean | undefined;
17594
+ relative?: boolean | undefined;
17595
+ strokeWidth?: string | number | undefined;
17596
+ color?: string | undefined;
17597
+ }>;
17598
+ };
17599
+ doInitialPcbPrimitiveRender(): void;
17600
+ getPcbSize(): {
17601
+ width: number;
17602
+ height: number;
17603
+ };
17604
+ }
17605
+
17606
+ declare class PcbNoteDimension extends PrimitiveComponent<typeof pcbNoteDimensionProps> {
17607
+ pcb_note_dimension_id: string | null;
17608
+ isPcbPrimitive: boolean;
17609
+ get config(): {
17610
+ componentName: string;
17611
+ zodProps: zod.ZodObject<Omit<{
17612
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17613
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17614
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17615
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
17616
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
17617
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
17618
+ }, "strip", zod.ZodTypeAny, {
17619
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17620
+ }, {
17621
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17622
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17623
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17624
+ }>>;
17625
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17626
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17627
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17628
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17629
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17630
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17631
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
17632
+ relative: zod.ZodOptional<zod.ZodBoolean>;
17633
+ }, "pcbRotation" | "pcbX" | "pcbY"> & {
17634
+ from: zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
17635
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17636
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17637
+ }, "strip", zod.ZodTypeAny, {
17638
+ x: number;
17639
+ y: number;
17640
+ }, {
17641
+ x: string | number;
17642
+ y: string | number;
17643
+ }>]>;
17644
+ to: zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
17645
+ x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17646
+ y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17647
+ }, "strip", zod.ZodTypeAny, {
17648
+ x: number;
17649
+ y: number;
17650
+ }, {
17651
+ x: string | number;
17652
+ y: string | number;
17653
+ }>]>;
17654
+ text: zod.ZodOptional<zod.ZodString>;
17655
+ offset: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17656
+ font: zod.ZodOptional<zod.ZodEnum<["tscircuit2024"]>>;
17657
+ fontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17658
+ color: zod.ZodOptional<zod.ZodString>;
17659
+ arrowSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17660
+ }, "strip", zod.ZodTypeAny, {
17661
+ from: string | {
17662
+ x: number;
17663
+ y: number;
17664
+ };
17665
+ to: string | {
17666
+ x: number;
17667
+ y: number;
17668
+ };
17669
+ pcbPositionAnchor?: string | undefined;
17670
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17671
+ pcbMarginTop?: number | undefined;
17672
+ pcbMarginRight?: number | undefined;
17673
+ pcbMarginBottom?: number | undefined;
17674
+ pcbMarginLeft?: number | undefined;
17675
+ pcbMarginX?: number | undefined;
17676
+ pcbMarginY?: number | undefined;
17677
+ pcbRelative?: boolean | undefined;
17678
+ relative?: boolean | undefined;
17679
+ color?: string | undefined;
17680
+ text?: string | undefined;
17681
+ font?: "tscircuit2024" | undefined;
17682
+ fontSize?: number | undefined;
17683
+ offset?: number | undefined;
17684
+ arrowSize?: number | undefined;
17685
+ }, {
17686
+ from: string | {
17687
+ x: string | number;
17688
+ y: string | number;
17689
+ };
17690
+ to: string | {
17691
+ x: string | number;
17692
+ y: string | number;
17693
+ };
17694
+ pcbPositionAnchor?: string | undefined;
17695
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17696
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17697
+ } | undefined;
17698
+ pcbMarginTop?: string | number | undefined;
17699
+ pcbMarginRight?: string | number | undefined;
17700
+ pcbMarginBottom?: string | number | undefined;
17701
+ pcbMarginLeft?: string | number | undefined;
17702
+ pcbMarginX?: string | number | undefined;
17703
+ pcbMarginY?: string | number | undefined;
17704
+ pcbRelative?: boolean | undefined;
17705
+ relative?: boolean | undefined;
17706
+ color?: string | undefined;
17707
+ text?: string | undefined;
17708
+ font?: "tscircuit2024" | undefined;
17709
+ fontSize?: string | number | undefined;
17710
+ offset?: string | number | undefined;
17711
+ arrowSize?: string | number | undefined;
17712
+ }>;
17713
+ };
17714
+ private _resolvePoint;
17715
+ doInitialPcbPrimitiveRender(): void;
17716
+ getPcbSize(): {
17717
+ width: number;
17718
+ height: number;
17719
+ };
17720
+ }
17721
+
17408
17722
  declare class Footprint extends PrimitiveComponent<typeof footprintProps> {
17409
17723
  get config(): {
17410
17724
  componentName: string;
@@ -33643,6 +33957,9 @@ interface TscircuitElements {
33643
33957
  pcbtrace: _tscircuit_props.PcbTraceProps;
33644
33958
  fabricationnoterect: _tscircuit_props.FabricationNoteRectProps;
33645
33959
  pcbnoteline: _tscircuit_props.PcbNoteLineProps;
33960
+ pcbnoterect: _tscircuit_props.PcbNoteRectProps;
33961
+ pcbnotepath: _tscircuit_props.PcbNotePathProps;
33962
+ pcbnotedimension: _tscircuit_props.PcbNoteDimensionProps;
33646
33963
  fabricationnotetext: _tscircuit_props.FabricationNoteTextProps;
33647
33964
  fabricationnotepath: _tscircuit_props.FabricationNotePathProps;
33648
33965
  constraint: _tscircuit_props.ConstraintProps;
@@ -33674,4 +33991,4 @@ declare module "react/jsx-runtime" {
33674
33991
  }
33675
33992
  }
33676
33993
 
33677
- 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, PcbNoteLine, 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 };
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 };
package/dist/index.js CHANGED
@@ -36,7 +36,10 @@ __export(components_exports, {
36
36
  Net: () => Net,
37
37
  NetLabel: () => NetLabel,
38
38
  NormalComponent: () => NormalComponent3,
39
+ PcbNoteDimension: () => PcbNoteDimension,
39
40
  PcbNoteLine: () => PcbNoteLine,
41
+ PcbNotePath: () => PcbNotePath,
42
+ PcbNoteRect: () => PcbNoteRect,
40
43
  PcbTrace: () => PcbTrace,
41
44
  PinHeader: () => PinHeader,
42
45
  Pinout: () => Pinout,
@@ -14382,6 +14385,166 @@ var PcbNoteLine = class extends PrimitiveComponent2 {
14382
14385
  }
14383
14386
  };
14384
14387
 
14388
+ // lib/components/primitive-components/PcbNoteRect.ts
14389
+ import { pcbNoteRectProps } from "@tscircuit/props";
14390
+ import { applyToPoint as applyToPoint11 } from "transformation-matrix";
14391
+ var PcbNoteRect = class extends PrimitiveComponent2 {
14392
+ pcb_note_rect_id = null;
14393
+ isPcbPrimitive = true;
14394
+ get config() {
14395
+ return {
14396
+ componentName: "PcbNoteRect",
14397
+ zodProps: pcbNoteRectProps
14398
+ };
14399
+ }
14400
+ doInitialPcbPrimitiveRender() {
14401
+ if (this.root?.pcbDisabled) return;
14402
+ const { db } = this.root;
14403
+ const { _parsedProps: props } = this;
14404
+ const transform = this._computePcbGlobalTransformBeforeLayout();
14405
+ const center = applyToPoint11(transform, { x: 0, y: 0 });
14406
+ const subcircuit = this.getSubcircuit();
14407
+ const group = this.getGroup();
14408
+ const pcb_component_id = this.parent?.pcb_component_id ?? this.getPrimitiveContainer()?.pcb_component_id ?? void 0;
14409
+ const pcb_note_rect = db.pcb_note_rect.insert({
14410
+ pcb_component_id,
14411
+ subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
14412
+ pcb_group_id: group?.pcb_group_id ?? void 0,
14413
+ center,
14414
+ width: props.width,
14415
+ height: props.height,
14416
+ stroke_width: props.strokeWidth ?? 0.1,
14417
+ is_filled: props.isFilled ?? false,
14418
+ has_stroke: props.hasStroke ?? true,
14419
+ is_stroke_dashed: props.isStrokeDashed ?? false,
14420
+ color: props.color
14421
+ });
14422
+ this.pcb_note_rect_id = pcb_note_rect.pcb_note_rect_id;
14423
+ }
14424
+ getPcbSize() {
14425
+ const { _parsedProps: props } = this;
14426
+ const width = typeof props.width === "string" ? parseFloat(props.width) : props.width;
14427
+ const height = typeof props.height === "string" ? parseFloat(props.height) : props.height;
14428
+ return { width, height };
14429
+ }
14430
+ };
14431
+
14432
+ // lib/components/primitive-components/PcbNotePath.ts
14433
+ import { pcbNotePathProps } from "@tscircuit/props";
14434
+ import { applyToPoint as applyToPoint12 } from "transformation-matrix";
14435
+ var PcbNotePath = class extends PrimitiveComponent2 {
14436
+ pcb_note_path_id = null;
14437
+ isPcbPrimitive = true;
14438
+ get config() {
14439
+ return {
14440
+ componentName: "PcbNotePath",
14441
+ zodProps: pcbNotePathProps
14442
+ };
14443
+ }
14444
+ doInitialPcbPrimitiveRender() {
14445
+ if (this.root?.pcbDisabled) return;
14446
+ const { db } = this.root;
14447
+ const { _parsedProps: props } = this;
14448
+ const transform = this._computePcbGlobalTransformBeforeLayout();
14449
+ const subcircuit = this.getSubcircuit();
14450
+ const group = this.getGroup();
14451
+ const pcb_component_id = this.parent?.pcb_component_id ?? this.getPrimitiveContainer()?.pcb_component_id ?? void 0;
14452
+ const transformedRoute = props.route.map((point) => {
14453
+ const { x, y, ...rest } = point;
14454
+ const numericX = typeof x === "string" ? parseFloat(x) : x;
14455
+ const numericY = typeof y === "string" ? parseFloat(y) : y;
14456
+ const transformed = applyToPoint12(transform, { x: numericX, y: numericY });
14457
+ return { ...rest, x: transformed.x, y: transformed.y };
14458
+ });
14459
+ const pcb_note_path = db.pcb_note_path.insert({
14460
+ pcb_component_id,
14461
+ subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
14462
+ pcb_group_id: group?.pcb_group_id ?? void 0,
14463
+ route: transformedRoute,
14464
+ stroke_width: props.strokeWidth ?? 0.1,
14465
+ color: props.color
14466
+ });
14467
+ this.pcb_note_path_id = pcb_note_path.pcb_note_path_id;
14468
+ }
14469
+ getPcbSize() {
14470
+ const { _parsedProps: props } = this;
14471
+ if (props.route.length === 0) return { width: 0, height: 0 };
14472
+ const xs = props.route.map(
14473
+ (point) => typeof point.x === "string" ? parseFloat(point.x) : point.x
14474
+ );
14475
+ const ys = props.route.map(
14476
+ (point) => typeof point.y === "string" ? parseFloat(point.y) : point.y
14477
+ );
14478
+ const minX = Math.min(...xs);
14479
+ const maxX = Math.max(...xs);
14480
+ const minY = Math.min(...ys);
14481
+ const maxY = Math.max(...ys);
14482
+ return { width: maxX - minX, height: maxY - minY };
14483
+ }
14484
+ };
14485
+
14486
+ // lib/components/primitive-components/PcbNoteDimension.ts
14487
+ import { pcbNoteDimensionProps } from "@tscircuit/props";
14488
+ import { applyToPoint as applyToPoint13 } from "transformation-matrix";
14489
+ var PcbNoteDimension = class extends PrimitiveComponent2 {
14490
+ pcb_note_dimension_id = null;
14491
+ isPcbPrimitive = true;
14492
+ get config() {
14493
+ return {
14494
+ componentName: "PcbNoteDimension",
14495
+ zodProps: pcbNoteDimensionProps
14496
+ };
14497
+ }
14498
+ _resolvePoint(input, transform) {
14499
+ if (typeof input === "string") {
14500
+ const target = this.getSubcircuit().selectOne(
14501
+ input
14502
+ );
14503
+ if (!target) {
14504
+ this.renderError(`PcbNoteDimension could not find selector "${input}"`);
14505
+ return applyToPoint13(transform, { x: 0, y: 0 });
14506
+ }
14507
+ return target._getGlobalPcbPositionBeforeLayout();
14508
+ }
14509
+ const numericX = typeof input.x === "string" ? parseFloat(input.x) : input.x;
14510
+ const numericY = typeof input.y === "string" ? parseFloat(input.y) : input.y;
14511
+ return applyToPoint13(transform, { x: numericX, y: numericY });
14512
+ }
14513
+ doInitialPcbPrimitiveRender() {
14514
+ if (this.root?.pcbDisabled) return;
14515
+ const { db } = this.root;
14516
+ const { _parsedProps: props } = this;
14517
+ const transform = this._computePcbGlobalTransformBeforeLayout();
14518
+ const from = this._resolvePoint(props.from, transform);
14519
+ const to = this._resolvePoint(props.to, transform);
14520
+ const subcircuit = this.getSubcircuit();
14521
+ const group = this.getGroup();
14522
+ const pcb_component_id = this.parent?.pcb_component_id ?? this.getPrimitiveContainer()?.pcb_component_id ?? void 0;
14523
+ const pcb_note_dimension = db.pcb_note_dimension.insert({
14524
+ pcb_component_id,
14525
+ subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
14526
+ pcb_group_id: group?.pcb_group_id ?? void 0,
14527
+ from,
14528
+ to,
14529
+ text: props.text,
14530
+ font: props.font ?? "tscircuit2024",
14531
+ font_size: props.fontSize ?? 1,
14532
+ color: props.color,
14533
+ arrow_size: props.arrowSize ?? 1
14534
+ });
14535
+ this.pcb_note_dimension_id = pcb_note_dimension.pcb_note_dimension_id;
14536
+ }
14537
+ getPcbSize() {
14538
+ const transform = this._computePcbGlobalTransformBeforeLayout();
14539
+ const from = this._resolvePoint(this._parsedProps.from, transform);
14540
+ const to = this._resolvePoint(this._parsedProps.to, transform);
14541
+ return {
14542
+ width: Math.abs(to.x - from.x),
14543
+ height: Math.abs(to.y - from.y)
14544
+ };
14545
+ }
14546
+ };
14547
+
14385
14548
  // lib/components/primitive-components/Group/Subcircuit.ts
14386
14549
  import "@tscircuit/props";
14387
14550
  var Subcircuit = class extends Group6 {
@@ -14506,7 +14669,7 @@ var BreakoutPoint = class extends PrimitiveComponent2 {
14506
14669
  // lib/components/primitive-components/NetLabel.ts
14507
14670
  import { netLabelProps } from "@tscircuit/props";
14508
14671
  import {
14509
- applyToPoint as applyToPoint11,
14672
+ applyToPoint as applyToPoint14,
14510
14673
  identity as identity5,
14511
14674
  translate as translate6
14512
14675
  } from "transformation-matrix";
@@ -14557,7 +14720,7 @@ var NetLabel = class extends PrimitiveComponent2 {
14557
14720
  const connectedPorts = this._getConnectedPorts();
14558
14721
  if (connectedPorts.length > 0) {
14559
14722
  const portPos = connectedPorts[0]._getGlobalSchematicPositionBeforeLayout();
14560
- const parentCenter = applyToPoint11(
14723
+ const parentCenter = applyToPoint14(
14561
14724
  this.parent?.computeSchematicGlobalTransform?.() ?? identity5(),
14562
14725
  { x: 0, y: 0 }
14563
14726
  );
@@ -16364,7 +16527,7 @@ import { identity as identity6 } from "transformation-matrix";
16364
16527
  var package_default = {
16365
16528
  name: "@tscircuit/core",
16366
16529
  type: "module",
16367
- version: "0.0.780",
16530
+ version: "0.0.782",
16368
16531
  types: "dist/index.d.ts",
16369
16532
  main: "dist/index.js",
16370
16533
  module: "dist/index.js",
@@ -16393,7 +16556,7 @@ var package_default = {
16393
16556
  },
16394
16557
  devDependencies: {
16395
16558
  "@biomejs/biome": "^1.8.3",
16396
- "@tscircuit/capacity-autorouter": "^0.0.131",
16559
+ "@tscircuit/capacity-autorouter": "^0.0.132",
16397
16560
  "@tscircuit/checks": "^0.0.85",
16398
16561
  "@tscircuit/circuit-json-util": "^0.0.72",
16399
16562
  "@tscircuit/common": "^0.0.9",
@@ -16901,7 +17064,10 @@ export {
16901
17064
  Net,
16902
17065
  NetLabel,
16903
17066
  NormalComponent3 as NormalComponent,
17067
+ PcbNoteDimension,
16904
17068
  PcbNoteLine,
17069
+ PcbNotePath,
17070
+ PcbNoteRect,
16905
17071
  PcbTrace,
16906
17072
  PinHeader,
16907
17073
  Pinout,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.781",
4
+ "version": "0.0.783",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@biomejs/biome": "^1.8.3",
33
- "@tscircuit/capacity-autorouter": "^0.0.131",
33
+ "@tscircuit/capacity-autorouter": "^0.0.132",
34
34
  "@tscircuit/checks": "^0.0.85",
35
35
  "@tscircuit/circuit-json-util": "^0.0.72",
36
36
  "@tscircuit/common": "^0.0.9",