@tscircuit/core 0.0.1028 → 0.0.1029

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +120 -109
  2. package/dist/index.js +12626 -12422
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  import * as circuit_json from 'circuit-json';
2
- import { PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, PcbViaClearanceError, Size, AnySourceComponent, LayerRef, AnyCircuitElement, PcbTraceRoutePoint, PcbTrace as PcbTrace$1, PcbVia, SchematicPort, SchematicComponent, RouteHintPoint, CircuitJson } from 'circuit-json';
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 { subcircuitGroupProps, AutorouterConfig, PlatformConfig, PcbSx, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, subcircuitProps, mountedboardProps, subpanelProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, interconnectProps, solderjumperProps, ledProps, powerSourceProps, voltageSourceProps, currentSourceProps, resistorProps, constraintProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, fabricationNoteDimensionProps, pcbNoteLineProps, pcbNoteRectProps, pcbNoteTextProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, courtyardCircleProps, courtyardOutlineProps, courtyardRectProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, fiducialProps, traceHintProps, viaProps, copperPourProps, copperTextProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, opampProps, OpAmpPinLabels, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicPathProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, voltageProbeProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
4
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, PcbSx, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, subcircuitProps, mountedboardProps, subpanelProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, interconnectProps, solderjumperProps, ledProps, powerSourceProps, voltageSourceProps, currentSourceProps, resistorProps, constraintProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, fabricationNoteDimensionProps, pcbNoteLineProps, pcbNoteRectProps, pcbNoteTextProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, courtyardCircleProps, courtyardOutlineProps, courtyardRectProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, fiducialProps, traceHintProps, viaProps, copperPourProps, copperTextProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, opampProps, OpAmpPinLabels, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicPathProps, 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';
8
8
  import * as zod from 'zod';
9
9
  import { z, ZodType } from 'zod';
10
10
  import { symbols, SchSymbol, BaseSymbolName } from 'schematic-symbols';
11
+ import { CircuitJsonUtilObjects } from '@tscircuit/circuit-json-util';
11
12
  import { Matrix } from 'transformation-matrix';
12
13
  import { PackSolver2 } from 'calculate-packing';
13
14
  import { AutoroutingPipelineSolver, AssignableAutoroutingPipeline2, AssignableAutoroutingPipeline3, AutoroutingPipeline1_OriginalUnravel } from '@tscircuit/capacity-autorouter';
14
15
  import { CopperPourPipelineSolver } from '@tscircuit/copper-pour-solver';
15
- import { CircuitJsonUtilObjects } from '@tscircuit/circuit-json-util';
16
16
  import { ConnectivityMap } from 'circuit-json-to-connectivity-map';
17
17
  import { GraphicsObject } from 'graphics-debug';
18
18
 
@@ -172,9 +172,9 @@ interface IIsolatedCircuit {
172
172
  interface IRootCircuit extends IIsolatedCircuit {
173
173
  }
174
174
 
175
- declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InflateSubcircuitCircuitJson", "SourceNameDuplicateComponentRemoval", "PcbFootprintStringRender", "InitializePortsFromChildren", "CreateNetsFromProps", "AssignFallbackProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SourceDesignRuleChecks", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SymbolContainerRender", "SchematicPrimitiveRender", "SchematicSymbolResize", "SchematicComponentSizeCalculation", "SchematicLayout", "SchematicTraceRender", "SchematicReplaceNetLabelsWithSymbols", "PanelBoardLayout", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbComponentAnchorAlignment", "PcbLayout", "PcbBoardAutoSize", "PanelLayout", "PcbTraceHintRender", "PcbManualTraceRender", "PcbTraceRender", "PcbRouteNetIslands", "PcbCopperPourRender", "PcbDesignRuleChecks", "SilkscreenOverlapAdjustment", "CadModelRender", "PartsEngineRender", "SimulationSpiceEngineRender"];
175
+ declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "InflateSubcircuitCircuitJson", "SourceNameDuplicateComponentRemoval", "PcbFootprintStringRender", "InitializePortsFromChildren", "CreateNetsFromProps", "AssignFallbackProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SourceDesignRuleChecks", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SymbolContainerRender", "SchematicPrimitiveRender", "SchematicSymbolResize", "SchematicComponentSizeCalculation", "SchematicLayout", "SchematicTraceRender", "SchematicReplaceNetLabelsWithSymbols", "PanelBoardLayout", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbComponentAnchorAlignment", "PcbCalcPlacementResolution", "PcbLayout", "PcbBoardAutoSize", "PanelLayout", "PcbTraceHintRender", "PcbManualTraceRender", "PcbTraceRender", "PcbRouteNetIslands", "PcbCopperPourRender", "PcbDesignRuleChecks", "SilkscreenOverlapAdjustment", "CadModelRender", "PartsEngineRender", "SimulationSpiceEngineRender"];
176
176
  type RenderPhase = (typeof orderedRenderPhases)[number];
177
- declare const renderPhaseIndexMap: Map<"ReactSubtreesRender" | "InflateSubcircuitCircuitJson" | "SourceNameDuplicateComponentRemoval" | "PcbFootprintStringRender" | "InitializePortsFromChildren" | "CreateNetsFromProps" | "AssignFallbackProps" | "CreateTracesFromProps" | "CreateTracesFromNetLabels" | "CreateTraceHintsFromProps" | "SourceGroupRender" | "AssignNameToUnnamedComponents" | "SourceRender" | "SourceParentAttachment" | "PortMatching" | "OptimizeSelectorCache" | "SourceTraceRender" | "SourceAddConnectivityMapKey" | "SourceDesignRuleChecks" | "SimulationRender" | "SchematicComponentRender" | "SchematicPortRender" | "SymbolContainerRender" | "SchematicPrimitiveRender" | "SchematicSymbolResize" | "SchematicComponentSizeCalculation" | "SchematicLayout" | "SchematicTraceRender" | "SchematicReplaceNetLabelsWithSymbols" | "PanelBoardLayout" | "PcbComponentRender" | "PcbPrimitiveRender" | "PcbFootprintLayout" | "PcbPortRender" | "PcbPortAttachment" | "PcbComponentSizeCalculation" | "PcbComponentAnchorAlignment" | "PcbLayout" | "PcbBoardAutoSize" | "PanelLayout" | "PcbTraceHintRender" | "PcbManualTraceRender" | "PcbTraceRender" | "PcbRouteNetIslands" | "PcbCopperPourRender" | "PcbDesignRuleChecks" | "SilkscreenOverlapAdjustment" | "CadModelRender" | "PartsEngineRender" | "SimulationSpiceEngineRender", number>;
177
+ declare const renderPhaseIndexMap: Map<"ReactSubtreesRender" | "InflateSubcircuitCircuitJson" | "SourceNameDuplicateComponentRemoval" | "PcbFootprintStringRender" | "InitializePortsFromChildren" | "CreateNetsFromProps" | "AssignFallbackProps" | "CreateTracesFromProps" | "CreateTracesFromNetLabels" | "CreateTraceHintsFromProps" | "SourceGroupRender" | "AssignNameToUnnamedComponents" | "SourceRender" | "SourceParentAttachment" | "PortMatching" | "OptimizeSelectorCache" | "SourceTraceRender" | "SourceAddConnectivityMapKey" | "SourceDesignRuleChecks" | "SimulationRender" | "SchematicComponentRender" | "SchematicPortRender" | "SymbolContainerRender" | "SchematicPrimitiveRender" | "SchematicSymbolResize" | "SchematicComponentSizeCalculation" | "SchematicLayout" | "SchematicTraceRender" | "SchematicReplaceNetLabelsWithSymbols" | "PanelBoardLayout" | "PcbComponentRender" | "PcbPrimitiveRender" | "PcbFootprintLayout" | "PcbPortRender" | "PcbPortAttachment" | "PcbComponentSizeCalculation" | "PcbComponentAnchorAlignment" | "PcbCalcPlacementResolution" | "PcbLayout" | "PcbBoardAutoSize" | "PanelLayout" | "PcbTraceHintRender" | "PcbManualTraceRender" | "PcbTraceRender" | "PcbRouteNetIslands" | "PcbCopperPourRender" | "PcbDesignRuleChecks" | "SilkscreenOverlapAdjustment" | "CadModelRender" | "PartsEngineRender" | "SimulationSpiceEngineRender", number>;
178
178
  type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
179
179
  type RenderPhaseStates = Record<RenderPhase, {
180
180
  initialized: boolean;
@@ -275,80 +275,6 @@ interface SchematicBoxComponentDimensions {
275
275
  schHeight: number;
276
276
  }
277
277
 
278
- interface ISubcircuit extends PrimitiveComponent {
279
- _shouldUseTraceByTraceRouting(): boolean;
280
- _parsedProps: z.infer<typeof subcircuitGroupProps>;
281
- _getAutorouterConfig(): AutorouterConfig;
282
- _isAutoJumperAutorouter(autorouterConfig?: AutorouterConfig): boolean;
283
- getNextAvailableName(elm: PrimitiveComponent): string;
284
- _getSubcircuitLayerCount(): number;
285
- subcircuit_id: string | null;
286
- getNormalComponentNameMap?: () => Map<string, NormalComponent[]>;
287
- _isInflatedFromCircuitJson: boolean;
288
- }
289
-
290
- interface SchematicSymbolBounds {
291
- minX: number;
292
- maxX: number;
293
- minY: number;
294
- maxY: number;
295
- }
296
- interface ISymbol {
297
- /**
298
- * The circuit-json schematic_symbol_id for this symbol.
299
- * Created during SchematicPrimitiveRender phase.
300
- */
301
- schematic_symbol_id?: string;
302
- /**
303
- * The transformation matrix to convert from user coordinates (as specified
304
- * in the symbol's children) to the final resized symbol coordinates.
305
- * This is computed lazily when first requested.
306
- */
307
- userCoordinateToResizedSymbolTransformMat?: Matrix;
308
- /**
309
- * The computed bounds of the symbol's schematic primitives before any
310
- * resizing is applied.
311
- */
312
- schematicSymbolBoundsInUserCoordinates?: SchematicSymbolBounds;
313
- /**
314
- * Get the bounds of the symbol's schematic primitives.
315
- * This triggers computation if not already done.
316
- */
317
- getSchematicSymbolBounds(): SchematicSymbolBounds | null;
318
- /**
319
- * Get the transformation matrix for resizing symbol contents.
320
- * Returns null if no resizing is needed (no width/height specified).
321
- */
322
- getUserCoordinateToResizedSymbolTransform(): Matrix | null;
323
- /**
324
- * Check if this symbol has explicit width/height that requires resizing.
325
- */
326
- hasExplicitSize(): boolean;
327
- }
328
-
329
- interface IGroup extends PrimitiveComponent {
330
- source_group_id: string | null;
331
- pcb_group_id: string | null;
332
- _getSchematicLayoutMode(): "match-adapt" | "flex" | "grid" | "relative";
333
- _getMinimumFlexContainerSize(): Size | null;
334
- _repositionOnPcb(position: {
335
- x: number;
336
- y: number;
337
- }): void;
338
- _repositionOnSchematic(position: {
339
- x: number;
340
- y: number;
341
- }): void;
342
- }
343
-
344
- type Ftype = Extract<AnySourceComponent, {
345
- ftype: string;
346
- }>["ftype"];
347
- type TwoPinPorts = "pin1" | "pin2";
348
- type PassivePorts = TwoPinPorts;
349
- type PolarizedPassivePorts = PassivePorts | "anode" | "cathode" | "pos" | "neg";
350
- type TransistorPorts = "pin1" | "pin2" | "pin3" | "emitter" | "collector" | "base";
351
-
352
278
  interface BoardI {
353
279
  componentName: string;
354
280
  boardThickness: number;
@@ -428,6 +354,80 @@ declare class IsolatedCircuit {
428
354
  private _registerAsyncEffectEnd;
429
355
  }
430
356
 
357
+ interface IGroup extends PrimitiveComponent {
358
+ source_group_id: string | null;
359
+ pcb_group_id: string | null;
360
+ _getSchematicLayoutMode(): "match-adapt" | "flex" | "grid" | "relative";
361
+ _getMinimumFlexContainerSize(): Size | null;
362
+ _repositionOnPcb(position: {
363
+ x: number;
364
+ y: number;
365
+ }): void;
366
+ _repositionOnSchematic(position: {
367
+ x: number;
368
+ y: number;
369
+ }): void;
370
+ }
371
+
372
+ interface ISubcircuit extends PrimitiveComponent {
373
+ _shouldUseTraceByTraceRouting(): boolean;
374
+ _parsedProps: z.infer<typeof subcircuitGroupProps>;
375
+ _getAutorouterConfig(): AutorouterConfig;
376
+ _isAutoJumperAutorouter(autorouterConfig?: AutorouterConfig): boolean;
377
+ getNextAvailableName(elm: PrimitiveComponent): string;
378
+ _getSubcircuitLayerCount(): number;
379
+ subcircuit_id: string | null;
380
+ getNormalComponentNameMap?: () => Map<string, NormalComponent[]>;
381
+ _isInflatedFromCircuitJson: boolean;
382
+ }
383
+
384
+ interface SchematicSymbolBounds {
385
+ minX: number;
386
+ maxX: number;
387
+ minY: number;
388
+ maxY: number;
389
+ }
390
+ interface ISymbol {
391
+ /**
392
+ * The circuit-json schematic_symbol_id for this symbol.
393
+ * Created during SchematicPrimitiveRender phase.
394
+ */
395
+ schematic_symbol_id?: string;
396
+ /**
397
+ * The transformation matrix to convert from user coordinates (as specified
398
+ * in the symbol's children) to the final resized symbol coordinates.
399
+ * This is computed lazily when first requested.
400
+ */
401
+ userCoordinateToResizedSymbolTransformMat?: Matrix;
402
+ /**
403
+ * The computed bounds of the symbol's schematic primitives before any
404
+ * resizing is applied.
405
+ */
406
+ schematicSymbolBoundsInUserCoordinates?: SchematicSymbolBounds;
407
+ /**
408
+ * Get the bounds of the symbol's schematic primitives.
409
+ * This triggers computation if not already done.
410
+ */
411
+ getSchematicSymbolBounds(): SchematicSymbolBounds | null;
412
+ /**
413
+ * Get the transformation matrix for resizing symbol contents.
414
+ * Returns null if no resizing is needed (no width/height specified).
415
+ */
416
+ getUserCoordinateToResizedSymbolTransform(): Matrix | null;
417
+ /**
418
+ * Check if this symbol has explicit width/height that requires resizing.
419
+ */
420
+ hasExplicitSize(): boolean;
421
+ }
422
+
423
+ type Ftype = Extract<AnySourceComponent, {
424
+ ftype: string;
425
+ }>["ftype"];
426
+ type TwoPinPorts = "pin1" | "pin2";
427
+ type PassivePorts = TwoPinPorts;
428
+ type PolarizedPassivePorts = PassivePorts | "anode" | "cathode" | "pos" | "neg";
429
+ type TransistorPorts = "pin1" | "pin2" | "pin3" | "emitter" | "collector" | "base";
430
+
431
431
  interface BaseComponentConfig {
432
432
  componentName: string;
433
433
  schematicSymbolName?: string | null;
@@ -489,6 +489,13 @@ declare abstract class PrimitiveComponent<ZodProps extends ZodType = any> extend
489
489
  };
490
490
  protected _resolvePcbCoordinate(rawValue: unknown, axis: "pcbX" | "pcbY", options?: {
491
491
  allowBoardVariables?: boolean;
492
+ allowComponentVariables?: boolean;
493
+ componentVariables?: Record<string, number>;
494
+ }): number;
495
+ resolvePcbCoordinate(rawValue: unknown, axis: "pcbX" | "pcbY", options?: {
496
+ allowBoardVariables?: boolean;
497
+ allowComponentVariables?: boolean;
498
+ componentVariables?: Record<string, number>;
492
499
  }): number;
493
500
  /**
494
501
  * Computes a transformation matrix from the props of this component for PCB
@@ -1318,24 +1325,24 @@ declare const portProps: z.ZodObject<{
1318
1325
  direction: z.ZodOptional<z.ZodEnum<["up", "down", "left", "right"]>>;
1319
1326
  connectsTo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
1320
1327
  }, "strip", z.ZodTypeAny, {
1321
- name?: string | undefined;
1322
1328
  layer?: string | undefined;
1323
1329
  layers?: string[] | undefined;
1330
+ name?: string | undefined;
1324
1331
  pinNumber?: number | undefined;
1325
1332
  aliases?: string[] | undefined;
1326
1333
  schX?: number | undefined;
1327
1334
  schY?: number | undefined;
1328
- direction?: "left" | "right" | "up" | "down" | undefined;
1335
+ direction?: "right" | "left" | "up" | "down" | undefined;
1329
1336
  connectsTo?: string | string[] | undefined;
1330
1337
  }, {
1331
- name?: string | undefined;
1332
1338
  layer?: string | undefined;
1333
1339
  layers?: string[] | undefined;
1340
+ name?: string | undefined;
1334
1341
  pinNumber?: number | undefined;
1335
1342
  aliases?: string[] | undefined;
1336
1343
  schX?: number | undefined;
1337
1344
  schY?: number | undefined;
1338
- direction?: "left" | "right" | "up" | "down" | undefined;
1345
+ direction?: "right" | "left" | "up" | "down" | undefined;
1339
1346
  connectsTo?: string | string[] | undefined;
1340
1347
  }>;
1341
1348
  declare class Port extends PrimitiveComponent<typeof portProps> {
@@ -1359,24 +1366,24 @@ declare class Port extends PrimitiveComponent<typeof portProps> {
1359
1366
  direction: z.ZodOptional<z.ZodEnum<["up", "down", "left", "right"]>>;
1360
1367
  connectsTo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
1361
1368
  }, "strip", z.ZodTypeAny, {
1362
- name?: string | undefined;
1363
1369
  layer?: string | undefined;
1364
1370
  layers?: string[] | undefined;
1371
+ name?: string | undefined;
1365
1372
  pinNumber?: number | undefined;
1366
1373
  aliases?: string[] | undefined;
1367
1374
  schX?: number | undefined;
1368
1375
  schY?: number | undefined;
1369
- direction?: "left" | "right" | "up" | "down" | undefined;
1376
+ direction?: "right" | "left" | "up" | "down" | undefined;
1370
1377
  connectsTo?: string | string[] | undefined;
1371
1378
  }, {
1372
- name?: string | undefined;
1373
1379
  layer?: string | undefined;
1374
1380
  layers?: string[] | undefined;
1381
+ name?: string | undefined;
1375
1382
  pinNumber?: number | undefined;
1376
1383
  aliases?: string[] | undefined;
1377
1384
  schX?: number | undefined;
1378
1385
  schY?: number | undefined;
1379
- direction?: "left" | "right" | "up" | "down" | undefined;
1386
+ direction?: "right" | "left" | "up" | "down" | undefined;
1380
1387
  connectsTo?: string | string[] | undefined;
1381
1388
  }>;
1382
1389
  };
@@ -1499,6 +1506,8 @@ type PortMap<T extends string> = {
1499
1506
  declare class NormalComponent<ZodProps extends z.ZodType = any, PortNames extends string = never> extends PrimitiveComponent<ZodProps> implements INormalComponent {
1500
1507
  reactSubtrees: Array<ReactSubtree>;
1501
1508
  _impliedFootprint?: string | undefined;
1509
+ _resolvedPcbCalcOffsetX: number | undefined;
1510
+ _resolvedPcbCalcOffsetY: number | undefined;
1502
1511
  isPrimitiveContainer: boolean;
1503
1512
  _isNormalComponent: boolean;
1504
1513
  _attributeLowerToCamelNameMap: {
@@ -1764,6 +1773,8 @@ declare class Group<Props extends z.ZodType<any, any, any> = typeof groupProps>
1764
1773
  */
1765
1774
  doInitialPcbComponentAnchorAlignment(): void;
1766
1775
  updatePcbComponentAnchorAlignment(): void;
1776
+ doInitialPcbCalcPlacementResolution(): void;
1777
+ updatePcbCalcPlacementResolution(): void;
1767
1778
  /**
1768
1779
  * Get the minimum flex container size for this group on PCB
1769
1780
  */
@@ -5236,7 +5247,7 @@ declare class Subpanel extends Group<typeof subpanelProps> {
5236
5247
  topMargin?: string | number | undefined;
5237
5248
  bottomMargin?: string | number | undefined;
5238
5249
  }>>>;
5239
- }, "children" | "width" | "height" | "layoutMode"> & {
5250
+ }, "width" | "children" | "height" | "layoutMode"> & {
5240
5251
  width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5241
5252
  height: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
5242
5253
  children: zod.ZodOptional<zod.ZodAny>;
@@ -6413,7 +6424,7 @@ declare class Panel extends Subpanel {
6413
6424
  topMargin?: string | number | undefined;
6414
6425
  bottomMargin?: string | number | undefined;
6415
6426
  }>>>;
6416
- }, "children" | "width" | "height" | "layoutMode"> & {
6427
+ }, "width" | "children" | "height" | "layoutMode"> & {
6417
6428
  width: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
6418
6429
  height: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
6419
6430
  children: zod.ZodOptional<zod.ZodAny>;
@@ -64249,7 +64260,7 @@ declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationN
64249
64260
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
64250
64261
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
64251
64262
  relative: zod.ZodOptional<zod.ZodBoolean>;
64252
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
64263
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
64253
64264
  route: zod.ZodArray<zod.ZodObject<{
64254
64265
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
64255
64266
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -64595,7 +64606,7 @@ declare class FabricationNoteDimension extends PrimitiveComponent<typeof fabrica
64595
64606
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
64596
64607
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
64597
64608
  relative: zod.ZodOptional<zod.ZodBoolean>;
64598
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
64609
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
64599
64610
  from: zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
64600
64611
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
64601
64612
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -64794,7 +64805,7 @@ declare class PcbNoteLine extends PrimitiveComponent<typeof pcbNoteLineProps> {
64794
64805
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
64795
64806
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
64796
64807
  relative: zod.ZodOptional<zod.ZodBoolean>;
64797
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
64808
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
64798
64809
  x1: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
64799
64810
  y1: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
64800
64811
  x2: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -65281,7 +65292,7 @@ declare class PcbNotePath extends PrimitiveComponent<typeof pcbNotePathProps> {
65281
65292
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
65282
65293
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
65283
65294
  relative: zod.ZodOptional<zod.ZodBoolean>;
65284
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
65295
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
65285
65296
  route: zod.ZodArray<zod.ZodObject<{
65286
65297
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
65287
65298
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -65463,7 +65474,7 @@ declare class PcbNoteDimension extends PrimitiveComponent<typeof pcbNoteDimensio
65463
65474
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
65464
65475
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
65465
65476
  relative: zod.ZodOptional<zod.ZodBoolean>;
65466
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
65477
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
65467
65478
  from: zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
65468
65479
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
65469
65480
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -65706,7 +65717,7 @@ declare class BreakoutPoint extends PrimitiveComponent<typeof breakoutPointProps
65706
65717
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
65707
65718
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
65708
65719
  relative: zod.ZodOptional<zod.ZodBoolean>;
65709
- }, "pcbRotation" | "layer"> & {
65720
+ }, "layer" | "pcbRotation"> & {
65710
65721
  connection: zod.ZodString;
65711
65722
  }, "strip", zod.ZodTypeAny, {
65712
65723
  connection: string;
@@ -66915,7 +66926,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
66915
66926
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
66916
66927
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
66917
66928
  relative: zod.ZodOptional<zod.ZodBoolean>;
66918
- }, "pcbRotation" | "layer"> & {
66929
+ }, "layer" | "pcbRotation"> & {
66919
66930
  name: zod.ZodOptional<zod.ZodString>;
66920
66931
  connectsTo: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
66921
66932
  shape: zod.ZodLiteral<"circle">;
@@ -67402,7 +67413,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
67402
67413
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
67403
67414
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
67404
67415
  relative: zod.ZodOptional<zod.ZodBoolean>;
67405
- }, "pcbRotation" | "layer"> & {
67416
+ }, "layer" | "pcbRotation"> & {
67406
67417
  name: zod.ZodOptional<zod.ZodString>;
67407
67418
  connectsTo: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
67408
67419
  shape: zod.ZodLiteral<"circular_hole_with_rect_pad">;
@@ -67569,7 +67580,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
67569
67580
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
67570
67581
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
67571
67582
  relative: zod.ZodOptional<zod.ZodBoolean>;
67572
- }, "pcbRotation" | "layer"> & {
67583
+ }, "layer" | "pcbRotation"> & {
67573
67584
  name: zod.ZodOptional<zod.ZodString>;
67574
67585
  connectsTo: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
67575
67586
  shape: zod.ZodLiteral<"pill_hole_with_rect_pad">;
@@ -67736,7 +67747,7 @@ declare class PlatedHole extends PrimitiveComponent<typeof platedHoleProps> {
67736
67747
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
67737
67748
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
67738
67749
  relative: zod.ZodOptional<zod.ZodBoolean>;
67739
- }, "pcbRotation" | "layer"> & {
67750
+ }, "layer" | "pcbRotation"> & {
67740
67751
  name: zod.ZodOptional<zod.ZodString>;
67741
67752
  connectsTo: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">]>>;
67742
67753
  shape: zod.ZodLiteral<"hole_with_polygon_pad">;
@@ -68628,7 +68639,7 @@ declare class CourtyardOutline extends PrimitiveComponent<typeof courtyardOutlin
68628
68639
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
68629
68640
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
68630
68641
  relative: zod.ZodOptional<zod.ZodBoolean>;
68631
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
68642
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
68632
68643
  outline: zod.ZodArray<zod.ZodObject<{
68633
68644
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
68634
68645
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -69120,7 +69131,7 @@ declare class SilkscreenPath extends PrimitiveComponent<typeof silkscreenPathPro
69120
69131
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
69121
69132
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
69122
69133
  relative: zod.ZodOptional<zod.ZodBoolean>;
69123
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY"> & {
69134
+ }, "pcbX" | "pcbY" | "pcbLeftEdgeX" | "pcbRightEdgeX" | "pcbTopEdgeY" | "pcbBottomEdgeY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
69124
69135
  route: zod.ZodArray<zod.ZodObject<{
69125
69136
  x: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
69126
69137
  y: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -69666,7 +69677,7 @@ declare class SilkscreenLine extends PrimitiveComponent<typeof silkscreenLinePro
69666
69677
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
69667
69678
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
69668
69679
  relative: zod.ZodOptional<zod.ZodBoolean>;
69669
- }, "pcbRotation" | "pcbX" | "pcbY" | "pcbOffsetX" | "pcbOffsetY"> & {
69680
+ }, "pcbX" | "pcbY" | "pcbOffsetX" | "pcbOffsetY" | "pcbRotation"> & {
69670
69681
  strokeWidth: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
69671
69682
  x1: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
69672
69683
  y1: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -75674,7 +75685,7 @@ declare class Cutout extends PrimitiveComponent<typeof cutoutProps> {
75674
75685
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
75675
75686
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
75676
75687
  relative: zod.ZodOptional<zod.ZodBoolean>;
75677
- }, "pcbRotation" | "layer"> & {
75688
+ }, "layer" | "pcbRotation"> & {
75678
75689
  name: zod.ZodOptional<zod.ZodString>;
75679
75690
  shape: zod.ZodLiteral<"rect">;
75680
75691
  width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -75811,7 +75822,7 @@ declare class Cutout extends PrimitiveComponent<typeof cutoutProps> {
75811
75822
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
75812
75823
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
75813
75824
  relative: zod.ZodOptional<zod.ZodBoolean>;
75814
- }, "pcbRotation" | "layer"> & {
75825
+ }, "layer" | "pcbRotation"> & {
75815
75826
  name: zod.ZodOptional<zod.ZodString>;
75816
75827
  shape: zod.ZodLiteral<"circle">;
75817
75828
  radius: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
@@ -75945,7 +75956,7 @@ declare class Cutout extends PrimitiveComponent<typeof cutoutProps> {
75945
75956
  pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
75946
75957
  pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
75947
75958
  relative: zod.ZodOptional<zod.ZodBoolean>;
75948
- }, "pcbRotation" | "layer"> & {
75959
+ }, "layer" | "pcbRotation"> & {
75949
75960
  name: zod.ZodOptional<zod.ZodString>;
75950
75961
  shape: zod.ZodLiteral<"polygon">;
75951
75962
  points: zod.ZodArray<zod.ZodObject<{
@@ -131975,11 +131986,11 @@ type CreateUseComponentConstPinLabels = <Props, PinLabel extends string | never
131975
131986
  type CreateUseComponentPinLabelMap = <Props, PinLabel extends string | never = never, PinNumberKey extends string = never>(Component: react__default.ComponentType<Props>, pins: Record<PinNumberKey, readonly PinLabel[] | PinLabel[]>) => <PropsFromHook extends Omit<Props, "name"> | undefined = undefined>(name: string, props?: PropsFromHook) => ComponentWithPins<Props, PinLabel | PinNumberKey, PropsFromHook>;
131976
131987
  declare const createUseComponent: CreateUseComponentConstPinLabels & CreateUseComponentPinLabelMap;
131977
131988
 
131978
- declare const useCapacitor: <PropsFromHook extends Omit<CapacitorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<CapacitorProps<string>, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
131989
+ declare const useCapacitor: <PropsFromHook extends Omit<CapacitorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<CapacitorProps<string>, "right" | "left" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
131979
131990
 
131980
131991
  declare const useChip: <PinLabel extends string>(pinLabels: Record<string, PinLabel[]>) => <PropsFromHook extends Omit<ChipProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ChipProps, string | PinLabel, PropsFromHook>;
131981
131992
 
131982
- declare const useDiode: <PropsFromHook extends Omit<DiodeProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<DiodeProps<string>, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
131993
+ declare const useDiode: <PropsFromHook extends Omit<DiodeProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<DiodeProps<string>, "right" | "left" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
131983
131994
 
131984
131995
  declare const useLed: <PropsFromHook extends Omit<{
131985
131996
  name: string;
@@ -132989,9 +133000,9 @@ declare const useLed: <PropsFromHook extends Omit<{
132989
133000
  wavelength?: string | undefined;
132990
133001
  schDisplayValue?: string | undefined;
132991
133002
  laser?: boolean | undefined;
132992
- }, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
133003
+ }, "right" | "left" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
132993
133004
 
132994
- declare const useResistor: <PropsFromHook extends Omit<ResistorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ResistorProps<string>, "left" | "right" | "pin1" | "pin2", PropsFromHook>;
133005
+ declare const useResistor: <PropsFromHook extends Omit<ResistorProps<string>, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ResistorProps<string>, "right" | "left" | "pin1" | "pin2", PropsFromHook>;
132995
133006
 
132996
133007
  declare const applyEditEventsToManualEditsFile: ({ circuitJson, editEvents, manualEditsFile, }: {
132997
133008
  circuitJson: CircuitJson;