@tscircuit/core 0.0.1962 → 0.0.1964

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,10 +1,10 @@
1
1
  import * as circuit_json from 'circuit-json';
2
- import { PcbGroup, PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, PcbViaClearanceError, PcbVia as PcbVia$1, LayerRef, AnyCircuitElement, Size, PcbTrace as PcbTrace$1, PcbTraceRoutePoint, AnySourceComponent, PcbComponent, SchematicPort, SchematicComponent, SimulationVoltageSource, SimulationCurrentSource, PcbSilkscreenGraphic, SourceBus, RouteHintPoint, PcbBoard, SchematicSheet as SchematicSheet$1, SchematicGraphic as SchematicGraphic$1, SimulationExperiment, SimulationParameterSweep, CircuitJson } from 'circuit-json';
2
+ import { PcbGroup, PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, PcbViaClearanceError, PcbVia as PcbVia$1, LayerRef, AnyCircuitElement, Size, PcbTrace as PcbTrace$1, PcbTraceRoutePoint, AnySourceComponent, PcbComponent, SchematicPort, SchematicComponent, SimulationVoltageSource, SimulationCurrentSource, PcbSilkscreenGraphic, SourceBus, RouteHintPoint, PcbBoard, SchematicSheet as SchematicSheet$1, SchematicGraphic as SchematicGraphic$1, SimulationExperiment, SimulationParameterSweep, PcbBend as PcbBend$1, PcbStiffener as PcbStiffener$1, CircuitJson } from 'circuit-json';
3
3
  import * as _tscircuit_props from '@tscircuit/props';
4
- import { PlatformConfig, traceProps, netProps, AutoroutingPhaseProps, AutorouterProp, subcircuitGroupProps, AutorouterConfig, PcbSx, portProps, PinAttributeMap, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, platedHoleProps, BoardOutlinePoint, boardProps, subcircuitProps, subpanelProps, capacitorProps, antennaProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, interconnectProps, solderjumperProps, ledProps, powerSourceProps, voltageSourceProps, currentSourceProps, ammeterProps, resistorProps, constraintProps, drcCheckProps, autoroutingPhaseProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, fabricationNoteDimensionProps, pcbNoteLineProps, pcbNoteRectProps, pcbNoteTextProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, courtyardCircleProps, courtyardOutlineProps, courtyardRectProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, silkscreenGraphicProps, smtPadProps, fiducialProps, busProps, differentialPairProps, traceHintProps, viaProps, copperPourProps, copperTextProps, cutoutProps, assemblyDeviceProps, assemblyScreenProps, assemblySubassemblyProps, enclosureCutoutApertureProps, enclosureFdmBoxProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, CrystalPinLabels, transistorProps, mosfetProps, opampProps, OpAmpPinLabels, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicPathProps, schematicBoxProps, schematicSymbolProps, schematicSectionProps, schematicSheetProps, schematicGraphicProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, analogTransientSimulationProps, analogDcOperatingPointSimulationProps, analogDcSweepSimulationProps, analogAcSweepSimulationProps, analogSweepParameterProps, voltageProbeProps, spicemodelProps, AnalogTransientSimulationProps, AnalogDcSweepSimulationProps, AnalogAcSweepSimulationProps, AnalogSweepParameterProps, AssemblySubassemblyPropsInput, AssemblyDevicePropsInput, AssemblyScreenPropsInput, EnclosureCutoutApertureProps, EnclosureFdmBoxProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
4
+ import { PlatformConfig, traceProps, netProps, AutoroutingPhaseProps, AutorouterProp, subcircuitGroupProps, AutorouterConfig, PcbSx, portProps, PinAttributeMap, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, platedHoleProps, BoardOutlinePoint, boardProps, subcircuitProps, subpanelProps, capacitorProps, antennaProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, interconnectProps, solderjumperProps, ledProps, powerSourceProps, voltageSourceProps, currentSourceProps, ammeterProps, resistorProps, constraintProps, drcCheckProps, autoroutingPhaseProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, fabricationNoteDimensionProps, pcbNoteLineProps, pcbNoteRectProps, pcbNoteTextProps, pcbNotePathProps, pcbNoteDimensionProps, footprintProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, courtyardCircleProps, courtyardOutlineProps, courtyardRectProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, silkscreenGraphicProps, smtPadProps, fiducialProps, busProps, differentialPairProps, traceHintProps, viaProps, copperPourProps, copperTextProps, cutoutProps, assemblyDeviceProps, assemblyScreenProps, assemblySubassemblyProps, enclosureCutoutApertureProps, enclosureFdmBoxProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, CrystalPinLabels, transistorProps, mosfetProps, opampProps, OpAmpPinLabels, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicPathProps, schematicBoxProps, schematicSymbolProps, schematicSectionProps, schematicSheetProps, schematicGraphicProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, analogTransientSimulationProps, analogDcOperatingPointSimulationProps, analogDcSweepSimulationProps, analogAcSweepSimulationProps, analogSweepParameterProps, voltageProbeProps, spicemodelProps, pcbBendProps, pcbStiffenerProps, AnalogTransientSimulationProps, AnalogDcSweepSimulationProps, AnalogAcSweepSimulationProps, AnalogSweepParameterProps, AssemblySubassemblyPropsInput, AssemblyDevicePropsInput, AssemblyScreenPropsInput, EnclosureCutoutApertureProps, EnclosureFdmBoxProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
5
5
  export { FanoutTracePath, fanoutTracePath, kicadFootprintStrings } from '@tscircuit/props';
6
6
  import * as react from 'react';
7
- import react__default, { ReactElement, ReactNode } from 'react';
7
+ import react__default, { ReactElement, ReactNode, Attributes } from 'react';
8
8
  export { createElement } from 'react';
9
9
  import * as zod from 'zod';
10
10
  import { z, ZodType } from 'zod';
@@ -368,9 +368,9 @@ interface IIsolatedCircuit {
368
368
  interface IRootCircuit extends IIsolatedCircuit {
369
369
  }
370
370
 
371
- declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "RenderIsolatedSubcircuits", "InflateSubcircuitCircuitJson", "SourceNameDuplicateComponentRemoval", "PcbFootprintStringRender", "FetchPartFootprint", "ResolveFootprintPinLabels", "InitializePortsFromChildren", "CreateNetsFromProps", "AssignFallbackProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "CreateAutoplacedBreakoutPoints", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "CheckRefDesConvention", "SourceComponentPropertyValidation", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SourceDesignRuleChecks", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SymbolContainerRender", "SchematicPrimitiveRender", "SchematicSymbolResize", "SchematicComponentSizeCalculation", "SchematicLayout", "SchematicSectionRender", "SchematicTraceRender", "SchematicSheetRender", "SchematicReplaceNetLabelsWithSymbols", "SchematicLabelNetsWithConflictingNames", "PanelBoardLayout", "ValidatePcbCoordinates", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbComponentAnchorAlignment", "PcbCalcPlacementResolution", "PcbLayout", "PcbBoardAutoSize", "PanelLayout", "PcbAutoplaceBreakoutPoints", "PcbTraceHintRender", "PcbManualTraceRender", "PcbPlacementDesignRuleChecks", "PcbTraceRender", "PcbRouteNetIslands", "PcbImplicitCopperPourRender", "PcbCopperPourRender", "PcbViaStitchRender", "PcbCopperPourCleanup", "PcbDesignRuleChecks", "SilkscreenOverlapAdjustment", "CadModelRender", "PartsEngineRender", "PartOrientationAnalysis", "SupplierFootprintMismatchWarning", "SimulationSpiceEngineRender"];
371
+ declare const orderedRenderPhases: readonly ["ReactSubtreesRender", "RenderIsolatedSubcircuits", "InflateSubcircuitCircuitJson", "SourceNameDuplicateComponentRemoval", "PcbFootprintStringRender", "FetchPartFootprint", "ResolveFootprintPinLabels", "InitializePortsFromChildren", "CreateNetsFromProps", "AssignFallbackProps", "CreateTracesFromProps", "CreateTracesFromNetLabels", "CreateTraceHintsFromProps", "CreateAutoplacedBreakoutPoints", "SourceGroupRender", "AssignNameToUnnamedComponents", "SourceRender", "CheckRefDesConvention", "SourceComponentPropertyValidation", "SourceParentAttachment", "PortMatching", "OptimizeSelectorCache", "SourceTraceRender", "SourceAddConnectivityMapKey", "SourceDesignRuleChecks", "SimulationRender", "SchematicComponentRender", "SchematicPortRender", "SymbolContainerRender", "SchematicPrimitiveRender", "SchematicSymbolResize", "SchematicComponentSizeCalculation", "SchematicLayout", "SchematicSectionRender", "SchematicTraceRender", "SchematicSheetRender", "SchematicReplaceNetLabelsWithSymbols", "SchematicLabelNetsWithConflictingNames", "PanelBoardLayout", "ValidatePcbCoordinates", "PcbComponentRender", "PcbPrimitiveRender", "PcbFootprintLayout", "PcbPortRender", "PcbPortAttachment", "PcbComponentSizeCalculation", "PcbComponentAnchorAlignment", "PcbCalcPlacementResolution", "PcbLayout", "PcbBoardAutoSize", "PanelLayout", "PcbFlexRender", "PcbAutoplaceBreakoutPoints", "PcbTraceHintRender", "PcbManualTraceRender", "PcbPlacementDesignRuleChecks", "PcbTraceRender", "PcbRouteNetIslands", "PcbImplicitCopperPourRender", "PcbCopperPourRender", "PcbViaStitchRender", "PcbCopperPourCleanup", "PcbDesignRuleChecks", "SilkscreenOverlapAdjustment", "CadModelRender", "PartsEngineRender", "PartOrientationAnalysis", "SupplierFootprintMismatchWarning", "SimulationSpiceEngineRender"];
372
372
  type RenderPhase = (typeof orderedRenderPhases)[number];
373
- declare const renderPhaseIndexMap: Map<"ReactSubtreesRender" | "RenderIsolatedSubcircuits" | "InflateSubcircuitCircuitJson" | "SourceNameDuplicateComponentRemoval" | "PcbFootprintStringRender" | "FetchPartFootprint" | "ResolveFootprintPinLabels" | "InitializePortsFromChildren" | "CreateNetsFromProps" | "AssignFallbackProps" | "CreateTracesFromProps" | "CreateTracesFromNetLabels" | "CreateTraceHintsFromProps" | "CreateAutoplacedBreakoutPoints" | "SourceGroupRender" | "AssignNameToUnnamedComponents" | "SourceRender" | "CheckRefDesConvention" | "SourceComponentPropertyValidation" | "SourceParentAttachment" | "PortMatching" | "OptimizeSelectorCache" | "SourceTraceRender" | "SourceAddConnectivityMapKey" | "SourceDesignRuleChecks" | "SimulationRender" | "SchematicComponentRender" | "SchematicPortRender" | "SymbolContainerRender" | "SchematicPrimitiveRender" | "SchematicSymbolResize" | "SchematicComponentSizeCalculation" | "SchematicLayout" | "SchematicSectionRender" | "SchematicTraceRender" | "SchematicSheetRender" | "SchematicReplaceNetLabelsWithSymbols" | "SchematicLabelNetsWithConflictingNames" | "PanelBoardLayout" | "ValidatePcbCoordinates" | "PcbComponentRender" | "PcbPrimitiveRender" | "PcbFootprintLayout" | "PcbPortRender" | "PcbPortAttachment" | "PcbComponentSizeCalculation" | "PcbComponentAnchorAlignment" | "PcbCalcPlacementResolution" | "PcbLayout" | "PcbBoardAutoSize" | "PanelLayout" | "PcbAutoplaceBreakoutPoints" | "PcbTraceHintRender" | "PcbManualTraceRender" | "PcbPlacementDesignRuleChecks" | "PcbTraceRender" | "PcbRouteNetIslands" | "PcbImplicitCopperPourRender" | "PcbCopperPourRender" | "PcbViaStitchRender" | "PcbCopperPourCleanup" | "PcbDesignRuleChecks" | "SilkscreenOverlapAdjustment" | "CadModelRender" | "PartsEngineRender" | "PartOrientationAnalysis" | "SupplierFootprintMismatchWarning" | "SimulationSpiceEngineRender", number>;
373
+ declare const renderPhaseIndexMap: Map<"ReactSubtreesRender" | "RenderIsolatedSubcircuits" | "InflateSubcircuitCircuitJson" | "SourceNameDuplicateComponentRemoval" | "PcbFootprintStringRender" | "FetchPartFootprint" | "ResolveFootprintPinLabels" | "InitializePortsFromChildren" | "CreateNetsFromProps" | "AssignFallbackProps" | "CreateTracesFromProps" | "CreateTracesFromNetLabels" | "CreateTraceHintsFromProps" | "CreateAutoplacedBreakoutPoints" | "SourceGroupRender" | "AssignNameToUnnamedComponents" | "SourceRender" | "CheckRefDesConvention" | "SourceComponentPropertyValidation" | "SourceParentAttachment" | "PortMatching" | "OptimizeSelectorCache" | "SourceTraceRender" | "SourceAddConnectivityMapKey" | "SourceDesignRuleChecks" | "SimulationRender" | "SchematicComponentRender" | "SchematicPortRender" | "SymbolContainerRender" | "SchematicPrimitiveRender" | "SchematicSymbolResize" | "SchematicComponentSizeCalculation" | "SchematicLayout" | "SchematicSectionRender" | "SchematicTraceRender" | "SchematicSheetRender" | "SchematicReplaceNetLabelsWithSymbols" | "SchematicLabelNetsWithConflictingNames" | "PanelBoardLayout" | "ValidatePcbCoordinates" | "PcbComponentRender" | "PcbPrimitiveRender" | "PcbFootprintLayout" | "PcbPortRender" | "PcbPortAttachment" | "PcbComponentSizeCalculation" | "PcbComponentAnchorAlignment" | "PcbCalcPlacementResolution" | "PcbLayout" | "PcbBoardAutoSize" | "PanelLayout" | "PcbFlexRender" | "PcbAutoplaceBreakoutPoints" | "PcbTraceHintRender" | "PcbManualTraceRender" | "PcbPlacementDesignRuleChecks" | "PcbTraceRender" | "PcbRouteNetIslands" | "PcbImplicitCopperPourRender" | "PcbCopperPourRender" | "PcbViaStitchRender" | "PcbCopperPourCleanup" | "PcbDesignRuleChecks" | "SilkscreenOverlapAdjustment" | "CadModelRender" | "PartsEngineRender" | "PartOrientationAnalysis" | "SupplierFootprintMismatchWarning" | "SimulationSpiceEngineRender", number>;
374
374
  type RenderPhaseFn<K extends RenderPhase = RenderPhase> = `doInitial${K}` | `update${K}` | `remove${K}`;
375
375
  type RenderPhaseStates = Record<RenderPhase, {
376
376
  initialized: boolean;
@@ -186961,11 +186961,11 @@ declare class SchematicLine extends PrimitiveComponent<typeof schematicLineProps
186961
186961
  dashLength: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
186962
186962
  dashGap: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
186963
186963
  }, "strip", zod.ZodTypeAny, {
186964
- isDashed: boolean;
186965
186964
  x1: number;
186966
186965
  y1: number;
186967
186966
  x2: number;
186968
186967
  y2: number;
186968
+ isDashed: boolean;
186969
186969
  strokeWidth?: number | undefined;
186970
186970
  color?: string | undefined;
186971
186971
  dashLength?: number | undefined;
@@ -194008,6 +194008,408 @@ declare class SpiceModel extends PrimitiveComponent<typeof spicemodelProps> {
194008
194008
  private _insertSpiceModelError;
194009
194009
  }
194010
194010
 
194011
+ declare class PcbBend extends PrimitiveComponent<typeof pcbBendProps> {
194012
+ pcb_bend_id: PcbBend$1["pcb_bend_id"] | null;
194013
+ get config(): {
194014
+ componentName: string;
194015
+ zodProps: zod.ZodEffects<zod.ZodObject<{
194016
+ name: zod.ZodOptional<zod.ZodString>;
194017
+ x1: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194018
+ y1: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194019
+ x2: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194020
+ y2: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194021
+ bendAngle: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194022
+ bendRadius: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194023
+ bendSide: zod.ZodEnum<["left", "right"]>;
194024
+ }, "strip", zod.ZodTypeAny, {
194025
+ x1: number;
194026
+ y1: number;
194027
+ x2: number;
194028
+ y2: number;
194029
+ bendAngle: number;
194030
+ bendRadius: number;
194031
+ bendSide: "left" | "right";
194032
+ name?: string | undefined;
194033
+ }, {
194034
+ x1: string | number;
194035
+ y1: string | number;
194036
+ x2: string | number;
194037
+ y2: string | number;
194038
+ bendAngle: string | number;
194039
+ bendRadius: string | number;
194040
+ bendSide: "left" | "right";
194041
+ name?: string | undefined;
194042
+ }>, {
194043
+ x1: number;
194044
+ y1: number;
194045
+ x2: number;
194046
+ y2: number;
194047
+ bendAngle: number;
194048
+ bendRadius: number;
194049
+ bendSide: "left" | "right";
194050
+ name?: string | undefined;
194051
+ }, {
194052
+ x1: string | number;
194053
+ y1: string | number;
194054
+ x2: string | number;
194055
+ y2: string | number;
194056
+ bendAngle: string | number;
194057
+ bendRadius: string | number;
194058
+ bendSide: "left" | "right";
194059
+ name?: string | undefined;
194060
+ }>;
194061
+ };
194062
+ doInitialPcbFlexRender(): void;
194063
+ doRemovePcbFlexRender(): void;
194064
+ }
194065
+
194066
+ declare class PcbStiffener extends PrimitiveComponent<typeof pcbStiffenerProps> {
194067
+ pcb_stiffener_id: PcbStiffener$1["pcb_stiffener_id"] | null;
194068
+ get config(): {
194069
+ componentName: string;
194070
+ zodProps: zod.ZodDiscriminatedUnion<"shape", [zod.ZodObject<Omit<{
194071
+ pcbX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194072
+ pcbY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194073
+ pcbLeftEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194074
+ pcbRightEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194075
+ pcbTopEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194076
+ pcbBottomEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194077
+ pcbOffsetX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194078
+ pcbOffsetY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194079
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194080
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
194081
+ pcbPositionMode: zod.ZodOptional<zod.ZodEnum<["relative_to_group_anchor", "auto", "relative_to_board_anchor", "relative_to_component_anchor"]>>;
194082
+ shouldBeOnEdgeOfBoard: zod.ZodOptional<zod.ZodBoolean>;
194083
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, zod.ZodObject<{
194084
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
194085
+ }, "strip", zod.ZodTypeAny, {
194086
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194087
+ }, {
194088
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194089
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
194090
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194091
+ }>>;
194092
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194093
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194094
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194095
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194096
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194097
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194098
+ pcbStyle: zod.ZodOptional<zod.ZodObject<{
194099
+ silkscreenFontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194100
+ viaPadDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194101
+ viaHoleDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194102
+ silkscreenTextPosition: zod.ZodOptional<zod.ZodUnion<[zod.ZodEnum<["centered", "outside", "none"]>, zod.ZodObject<{
194103
+ offsetX: zod.ZodNumber;
194104
+ offsetY: zod.ZodNumber;
194105
+ }, "strip", zod.ZodTypeAny, {
194106
+ offsetX: number;
194107
+ offsetY: number;
194108
+ }, {
194109
+ offsetX: number;
194110
+ offsetY: number;
194111
+ }>]>>;
194112
+ silkscreenTextVisibility: zod.ZodOptional<zod.ZodEnum<["hidden", "visible", "inherit"]>>;
194113
+ }, "strip", zod.ZodTypeAny, {
194114
+ silkscreenFontSize?: number | undefined;
194115
+ viaPadDiameter?: number | undefined;
194116
+ viaHoleDiameter?: number | undefined;
194117
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194118
+ offsetX: number;
194119
+ offsetY: number;
194120
+ } | undefined;
194121
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194122
+ }, {
194123
+ silkscreenFontSize?: string | number | undefined;
194124
+ viaPadDiameter?: string | number | undefined;
194125
+ viaHoleDiameter?: string | number | undefined;
194126
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194127
+ offsetX: number;
194128
+ offsetY: number;
194129
+ } | undefined;
194130
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194131
+ }>>;
194132
+ pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
194133
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
194134
+ relative: zod.ZodOptional<zod.ZodBoolean>;
194135
+ }, "layer"> & {
194136
+ name: zod.ZodOptional<zod.ZodString>;
194137
+ layer: zod.ZodEnum<["top", "bottom"]>;
194138
+ material: zod.ZodEnum<["fr4", "polyimide", "stainless_steel", "aluminum"]>;
194139
+ thickness: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194140
+ adhesiveThickness: zod.ZodOptional<zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>>;
194141
+ } & {
194142
+ shape: zod.ZodLiteral<"rect">;
194143
+ width: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194144
+ height: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194145
+ outline: zod.ZodOptional<zod.ZodNever>;
194146
+ }, "strip", zod.ZodTypeAny, {
194147
+ shape: "rect";
194148
+ width: number;
194149
+ height: number;
194150
+ thickness: number;
194151
+ layer: "top" | "bottom";
194152
+ material: "fr4" | "polyimide" | "stainless_steel" | "aluminum";
194153
+ name?: string | undefined;
194154
+ pcbX?: string | number | undefined;
194155
+ pcbY?: string | number | undefined;
194156
+ pcbLeftEdgeX?: string | number | undefined;
194157
+ pcbRightEdgeX?: string | number | undefined;
194158
+ pcbTopEdgeY?: string | number | undefined;
194159
+ pcbBottomEdgeY?: string | number | undefined;
194160
+ pcbOffsetX?: number | undefined;
194161
+ pcbOffsetY?: number | undefined;
194162
+ pcbRotation?: number | undefined;
194163
+ pcbPositionAnchor?: string | undefined;
194164
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
194165
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
194166
+ pcbMarginTop?: number | undefined;
194167
+ pcbMarginRight?: number | undefined;
194168
+ pcbMarginBottom?: number | undefined;
194169
+ pcbMarginLeft?: number | undefined;
194170
+ pcbMarginX?: number | undefined;
194171
+ pcbMarginY?: number | undefined;
194172
+ pcbStyle?: {
194173
+ silkscreenFontSize?: number | undefined;
194174
+ viaPadDiameter?: number | undefined;
194175
+ viaHoleDiameter?: number | undefined;
194176
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194177
+ offsetX: number;
194178
+ offsetY: number;
194179
+ } | undefined;
194180
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194181
+ } | undefined;
194182
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
194183
+ pcbRelative?: boolean | undefined;
194184
+ relative?: boolean | undefined;
194185
+ outline?: undefined;
194186
+ adhesiveThickness?: number | undefined;
194187
+ }, {
194188
+ shape: "rect";
194189
+ width: string | number;
194190
+ height: string | number;
194191
+ thickness: string | number;
194192
+ layer: "top" | "bottom";
194193
+ material: "fr4" | "polyimide" | "stainless_steel" | "aluminum";
194194
+ name?: string | undefined;
194195
+ pcbX?: string | number | undefined;
194196
+ pcbY?: string | number | undefined;
194197
+ pcbLeftEdgeX?: string | number | undefined;
194198
+ pcbRightEdgeX?: string | number | undefined;
194199
+ pcbTopEdgeY?: string | number | undefined;
194200
+ pcbBottomEdgeY?: string | number | undefined;
194201
+ pcbOffsetX?: string | number | undefined;
194202
+ pcbOffsetY?: string | number | undefined;
194203
+ pcbRotation?: string | number | undefined;
194204
+ pcbPositionAnchor?: string | undefined;
194205
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
194206
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
194207
+ pcbMarginTop?: string | number | undefined;
194208
+ pcbMarginRight?: string | number | undefined;
194209
+ pcbMarginBottom?: string | number | undefined;
194210
+ pcbMarginLeft?: string | number | undefined;
194211
+ pcbMarginX?: string | number | undefined;
194212
+ pcbMarginY?: string | number | undefined;
194213
+ pcbStyle?: {
194214
+ silkscreenFontSize?: string | number | undefined;
194215
+ viaPadDiameter?: string | number | undefined;
194216
+ viaHoleDiameter?: string | number | undefined;
194217
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194218
+ offsetX: number;
194219
+ offsetY: number;
194220
+ } | undefined;
194221
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194222
+ } | undefined;
194223
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
194224
+ pcbRelative?: boolean | undefined;
194225
+ relative?: boolean | undefined;
194226
+ outline?: undefined;
194227
+ adhesiveThickness?: string | number | undefined;
194228
+ }>, zod.ZodObject<Omit<{
194229
+ pcbX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194230
+ pcbY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194231
+ pcbLeftEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194232
+ pcbRightEdgeX: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194233
+ pcbTopEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194234
+ pcbBottomEdgeY: zod.ZodOptional<zod.ZodUnion<[zod.ZodString, zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>]>>;
194235
+ pcbOffsetX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194236
+ pcbOffsetY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194237
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194238
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
194239
+ pcbPositionMode: zod.ZodOptional<zod.ZodEnum<["relative_to_group_anchor", "auto", "relative_to_board_anchor", "relative_to_component_anchor"]>>;
194240
+ shouldBeOnEdgeOfBoard: zod.ZodOptional<zod.ZodBoolean>;
194241
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>, zod.ZodObject<{
194242
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6", "inner7", "inner8"]>;
194243
+ }, "strip", zod.ZodTypeAny, {
194244
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194245
+ }, {
194246
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194247
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
194248
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8";
194249
+ }>>;
194250
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194251
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194252
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194253
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194254
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194255
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194256
+ pcbStyle: zod.ZodOptional<zod.ZodObject<{
194257
+ silkscreenFontSize: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194258
+ viaPadDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194259
+ viaHoleDiameter: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
194260
+ silkscreenTextPosition: zod.ZodOptional<zod.ZodUnion<[zod.ZodEnum<["centered", "outside", "none"]>, zod.ZodObject<{
194261
+ offsetX: zod.ZodNumber;
194262
+ offsetY: zod.ZodNumber;
194263
+ }, "strip", zod.ZodTypeAny, {
194264
+ offsetX: number;
194265
+ offsetY: number;
194266
+ }, {
194267
+ offsetX: number;
194268
+ offsetY: number;
194269
+ }>]>>;
194270
+ silkscreenTextVisibility: zod.ZodOptional<zod.ZodEnum<["hidden", "visible", "inherit"]>>;
194271
+ }, "strip", zod.ZodTypeAny, {
194272
+ silkscreenFontSize?: number | undefined;
194273
+ viaPadDiameter?: number | undefined;
194274
+ viaHoleDiameter?: number | undefined;
194275
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194276
+ offsetX: number;
194277
+ offsetY: number;
194278
+ } | undefined;
194279
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194280
+ }, {
194281
+ silkscreenFontSize?: string | number | undefined;
194282
+ viaPadDiameter?: string | number | undefined;
194283
+ viaHoleDiameter?: string | number | undefined;
194284
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194285
+ offsetX: number;
194286
+ offsetY: number;
194287
+ } | undefined;
194288
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194289
+ }>>;
194290
+ pcbSx: zod.ZodOptional<zod.ZodType<_tscircuit_props.PcbSx, zod.ZodTypeDef, _tscircuit_props.PcbSx>>;
194291
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
194292
+ relative: zod.ZodOptional<zod.ZodBoolean>;
194293
+ }, "layer"> & {
194294
+ name: zod.ZodOptional<zod.ZodString>;
194295
+ layer: zod.ZodEnum<["top", "bottom"]>;
194296
+ material: zod.ZodEnum<["fr4", "polyimide", "stainless_steel", "aluminum"]>;
194297
+ thickness: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194298
+ adhesiveThickness: zod.ZodOptional<zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>>;
194299
+ } & {
194300
+ shape: zod.ZodLiteral<"polygon">;
194301
+ outline: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
194302
+ x: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194303
+ y: zod.ZodPipeline<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>, zod.ZodNumber>;
194304
+ }, "strip", zod.ZodTypeAny, {
194305
+ x: number;
194306
+ y: number;
194307
+ }, {
194308
+ x: string | number;
194309
+ y: string | number;
194310
+ }>, "many">, {
194311
+ x: number;
194312
+ y: number;
194313
+ }[], {
194314
+ x: string | number;
194315
+ y: string | number;
194316
+ }[]>;
194317
+ width: zod.ZodOptional<zod.ZodNever>;
194318
+ height: zod.ZodOptional<zod.ZodNever>;
194319
+ }, "strip", zod.ZodTypeAny, {
194320
+ shape: "polygon";
194321
+ thickness: number;
194322
+ layer: "top" | "bottom";
194323
+ outline: {
194324
+ x: number;
194325
+ y: number;
194326
+ }[];
194327
+ material: "fr4" | "polyimide" | "stainless_steel" | "aluminum";
194328
+ width?: undefined;
194329
+ height?: undefined;
194330
+ name?: string | undefined;
194331
+ pcbX?: string | number | undefined;
194332
+ pcbY?: string | number | undefined;
194333
+ pcbLeftEdgeX?: string | number | undefined;
194334
+ pcbRightEdgeX?: string | number | undefined;
194335
+ pcbTopEdgeY?: string | number | undefined;
194336
+ pcbBottomEdgeY?: string | number | undefined;
194337
+ pcbOffsetX?: number | undefined;
194338
+ pcbOffsetY?: number | undefined;
194339
+ pcbRotation?: number | undefined;
194340
+ pcbPositionAnchor?: string | undefined;
194341
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
194342
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
194343
+ pcbMarginTop?: number | undefined;
194344
+ pcbMarginRight?: number | undefined;
194345
+ pcbMarginBottom?: number | undefined;
194346
+ pcbMarginLeft?: number | undefined;
194347
+ pcbMarginX?: number | undefined;
194348
+ pcbMarginY?: number | undefined;
194349
+ pcbStyle?: {
194350
+ silkscreenFontSize?: number | undefined;
194351
+ viaPadDiameter?: number | undefined;
194352
+ viaHoleDiameter?: number | undefined;
194353
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194354
+ offsetX: number;
194355
+ offsetY: number;
194356
+ } | undefined;
194357
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194358
+ } | undefined;
194359
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
194360
+ pcbRelative?: boolean | undefined;
194361
+ relative?: boolean | undefined;
194362
+ adhesiveThickness?: number | undefined;
194363
+ }, {
194364
+ shape: "polygon";
194365
+ thickness: string | number;
194366
+ layer: "top" | "bottom";
194367
+ outline: {
194368
+ x: string | number;
194369
+ y: string | number;
194370
+ }[];
194371
+ material: "fr4" | "polyimide" | "stainless_steel" | "aluminum";
194372
+ width?: undefined;
194373
+ height?: undefined;
194374
+ name?: string | undefined;
194375
+ pcbX?: string | number | undefined;
194376
+ pcbY?: string | number | undefined;
194377
+ pcbLeftEdgeX?: string | number | undefined;
194378
+ pcbRightEdgeX?: string | number | undefined;
194379
+ pcbTopEdgeY?: string | number | undefined;
194380
+ pcbBottomEdgeY?: string | number | undefined;
194381
+ pcbOffsetX?: string | number | undefined;
194382
+ pcbOffsetY?: string | number | undefined;
194383
+ pcbRotation?: string | number | undefined;
194384
+ pcbPositionAnchor?: string | undefined;
194385
+ pcbPositionMode?: "relative_to_group_anchor" | "auto" | "relative_to_board_anchor" | "relative_to_component_anchor" | undefined;
194386
+ shouldBeOnEdgeOfBoard?: boolean | undefined;
194387
+ pcbMarginTop?: string | number | undefined;
194388
+ pcbMarginRight?: string | number | undefined;
194389
+ pcbMarginBottom?: string | number | undefined;
194390
+ pcbMarginLeft?: string | number | undefined;
194391
+ pcbMarginX?: string | number | undefined;
194392
+ pcbMarginY?: string | number | undefined;
194393
+ pcbStyle?: {
194394
+ silkscreenFontSize?: string | number | undefined;
194395
+ viaPadDiameter?: string | number | undefined;
194396
+ viaHoleDiameter?: string | number | undefined;
194397
+ silkscreenTextPosition?: "centered" | "outside" | "none" | {
194398
+ offsetX: number;
194399
+ offsetY: number;
194400
+ } | undefined;
194401
+ silkscreenTextVisibility?: "hidden" | "visible" | "inherit" | undefined;
194402
+ } | undefined;
194403
+ pcbSx?: _tscircuit_props.PcbSx | undefined;
194404
+ pcbRelative?: boolean | undefined;
194405
+ relative?: boolean | undefined;
194406
+ adhesiveThickness?: string | number | undefined;
194407
+ }>]>;
194408
+ };
194409
+ doInitialPcbFlexRender(): void;
194410
+ doRemovePcbFlexRender(): void;
194411
+ }
194412
+
194011
194413
  declare const analog: {
194012
194414
  readonly transientsimulation: react.FunctionComponent<AnalogTransientSimulationProps>;
194013
194415
  readonly dcoperatingpointsimulation: react.FunctionComponent<_tscircuit_props.AnalogAnalysisSimulationBaseProps>;
@@ -195736,6 +196138,8 @@ interface TscircuitElements {
195736
196138
  courtyardrect: _tscircuit_props.CourtyardRectProps;
195737
196139
  pcbtrace: _tscircuit_props.PcbTraceProps;
195738
196140
  fabricationnoterect: _tscircuit_props.FabricationNoteRectProps;
196141
+ pcbbend: _tscircuit_props.PcbBendProps & Attributes;
196142
+ pcbstiffener: _tscircuit_props.PcbStiffenerProps & Attributes;
195739
196143
  pcbnoteline: _tscircuit_props.PcbNoteLineProps;
195740
196144
  pcbnoterect: _tscircuit_props.PcbNoteRectProps;
195741
196145
  pcbnotetext: _tscircuit_props.PcbNoteTextProps;
@@ -195788,4 +196192,4 @@ declare module "react/jsx-runtime" {
195788
196192
  }
195789
196193
  }
195790
196194
 
195791
- export { Ammeter, AnalogAcSweepSimulation, AnalogAnalysisSimulation, AnalogDcOperatingPointSimulation, AnalogDcSweepSimulation, AnalogSimulation, AnalogSweepParameter, AnalogTransientSimulation, Antenna, type AssemblyCadAssemblyJsxProps, AssemblyDevice, type AssemblyDeviceJsxProps, AssemblyScreen, type AssemblyScreenJsxProps, AssemblySubassembly, type AssemblySubassemblyJsxProps, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingCacheDisabledReason, type AutoroutingCacheStatus, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingExecutionMetadata, AutoroutingPhase, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Bus, CadAssembly, CadModel, Capacitor, Chip, Circuit, type CircuitJsonMetadata, type ComponentWithPins, Connector, Constraint, CopperPour, CopperText, CourtyardCircle, CourtyardOutline, CourtyardRect, Crystal, CurrentSource, Cutout, type DebugLogOutputEvent, DifferentialPair, Diode, DrcCheck, EnclosureCutoutAperture, EnclosureFdmBox, FabricationNoteDimension, FabricationNotePath, FabricationNoteRect, FabricationNoteText, Breakout as Fanout, BreakoutPoint as FanoutPoint, Fiducial, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IIsolatedCircuit, type IRenderable, type IRootCircuit, Inductor, Interconnect, IsolatedCircuit, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, MountedBoard, Net, NetLabel, NormalComponent, type Obstacle, OpAmp, type PackingEndEvent, type PackingErrorEvent, type PackingStartEvent, Panel, type PcbGroupId, PcbNoteDimension, PcbNoteLine, PcbNotePath, PcbNoteRect, PcbNoteText, PcbTrace, PcbVia, 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, SOLVERS, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicGraphic, SchematicLine, SchematicPath, SchematicRect, SchematicRow, SchematicSection, SchematicSheet, SchematicSymbol, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenGraphic, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteBounds, type SimpleRouteBus, type SimpleRouteBusTermination, type SimpleRouteConnection, type SimpleRouteDifferentialPair, type SimpleRouteJson, type SimpleRoutePoint, type SimplifiedPcbTrace, type SingleLayerConnectionPoint, SmtPad, SolderJumper, type SolverEndedEvent, type SolverName, type SolverStartedEvent, SpiceModel, type SrjConnectionName, Subcircuit, Subpanel, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageProbe, VoltageSource, analog, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, assembly, createUseComponent, enclosure, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, renderPhaseIndexMap, resolveStaticFileImport, sel, unrouteCircuitJson, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
196195
+ export { Ammeter, AnalogAcSweepSimulation, AnalogAnalysisSimulation, AnalogDcOperatingPointSimulation, AnalogDcSweepSimulation, AnalogSimulation, AnalogSweepParameter, AnalogTransientSimulation, Antenna, type AssemblyCadAssemblyJsxProps, AssemblyDevice, type AssemblyDeviceJsxProps, AssemblyScreen, type AssemblyScreenJsxProps, AssemblySubassembly, type AssemblySubassemblyJsxProps, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingCacheDisabledReason, type AutoroutingCacheStatus, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingExecutionMetadata, AutoroutingPhase, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, Bus, CadAssembly, CadModel, Capacitor, Chip, Circuit, type CircuitJsonMetadata, type ComponentWithPins, Connector, Constraint, CopperPour, CopperText, CourtyardCircle, CourtyardOutline, CourtyardRect, Crystal, CurrentSource, Cutout, type DebugLogOutputEvent, DifferentialPair, Diode, DrcCheck, EnclosureCutoutAperture, EnclosureFdmBox, FabricationNoteDimension, FabricationNotePath, FabricationNoteRect, FabricationNoteText, Breakout as Fanout, BreakoutPoint as FanoutPoint, Fiducial, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IIsolatedCircuit, type IRenderable, type IRootCircuit, Inductor, Interconnect, IsolatedCircuit, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, MountedBoard, Net, NetLabel, NormalComponent, type Obstacle, OpAmp, type PackingEndEvent, type PackingErrorEvent, type PackingStartEvent, Panel, PcbBend, type PcbGroupId, PcbNoteDimension, PcbNoteLine, PcbNotePath, PcbNoteRect, PcbNoteText, PcbStiffener, PcbTrace, PcbVia, 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, SOLVERS, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicGraphic, SchematicLine, SchematicPath, SchematicRect, SchematicRow, SchematicSection, SchematicSheet, SchematicSymbol, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenGraphic, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteBounds, type SimpleRouteBus, type SimpleRouteBusTermination, type SimpleRouteConnection, type SimpleRouteDifferentialPair, type SimpleRouteJson, type SimpleRoutePoint, type SimplifiedPcbTrace, type SingleLayerConnectionPoint, SmtPad, SolderJumper, type SolverEndedEvent, type SolverName, type SolverStartedEvent, SpiceModel, type SrjConnectionName, Subcircuit, Subpanel, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageProbe, VoltageSource, analog, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, assembly, createUseComponent, enclosure, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, renderPhaseIndexMap, resolveStaticFileImport, sel, unrouteCircuitJson, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -67,11 +67,13 @@ __export(components_exports, {
67
67
  NormalComponent: () => NormalComponent,
68
68
  OpAmp: () => OpAmp,
69
69
  Panel: () => Panel,
70
+ PcbBend: () => PcbBend,
70
71
  PcbNoteDimension: () => PcbNoteDimension,
71
72
  PcbNoteLine: () => PcbNoteLine,
72
73
  PcbNotePath: () => PcbNotePath,
73
74
  PcbNoteRect: () => PcbNoteRect,
74
75
  PcbNoteText: () => PcbNoteText,
76
+ PcbStiffener: () => PcbStiffener,
75
77
  PcbTrace: () => PcbTrace,
76
78
  PcbVia: () => PcbVia,
77
79
  PinHeader: () => PinHeader,
@@ -446,6 +448,7 @@ var orderedRenderPhases = [
446
448
  "PcbLayout",
447
449
  "PcbBoardAutoSize",
448
450
  "PanelLayout",
451
+ "PcbFlexRender",
449
452
  "PcbAutoplaceBreakoutPoints",
450
453
  "PcbTraceHintRender",
451
454
  "PcbManualTraceRender",
@@ -2715,6 +2718,24 @@ var Net = class extends PrimitiveComponent2 {
2715
2718
  };
2716
2719
 
2717
2720
  // lib/utils/components/createNetsFromProps.ts
2721
+ var netSelectorsByNets = /* @__PURE__ */ new WeakMap();
2722
+ var hasNet = (subcircuit, selector) => {
2723
+ if (!/^net\.[A-Za-z_][A-Za-z0-9_]*$/.test(selector)) {
2724
+ return Boolean(subcircuit.selectOne(selector));
2725
+ }
2726
+ const nets = subcircuit.selectAll("net");
2727
+ let netSelectors = netSelectorsByNets.get(nets);
2728
+ if (!netSelectors) {
2729
+ netSelectors = /* @__PURE__ */ new Set();
2730
+ for (const net of nets) {
2731
+ for (const alias of net.getNameAndAliases().join(" ").split(/\s+/)) {
2732
+ netSelectors.add(`net.${alias}`);
2733
+ }
2734
+ }
2735
+ netSelectorsByNets.set(nets, netSelectors);
2736
+ }
2737
+ return netSelectors.has(selector);
2738
+ };
2718
2739
  var createNetsFromProps = (component, props) => {
2719
2740
  for (const prop of props) {
2720
2741
  if (typeof prop === "string" && prop.startsWith("net.")) {
@@ -2735,7 +2756,7 @@ var createNetsFromProps = (component, props) => {
2735
2756
  );
2736
2757
  }
2737
2758
  const subcircuit = component.getSubcircuit();
2738
- if (!subcircuit.selectOne(prop)) {
2759
+ if (!hasNet(subcircuit, prop)) {
2739
2760
  const net = new Net({
2740
2761
  name: prop.split("net.")[1]
2741
2762
  });
@@ -63745,7 +63766,7 @@ function Group_getRoutingPhasePlans(group) {
63745
63766
  var package_default = {
63746
63767
  name: "@tscircuit/core",
63747
63768
  type: "module",
63748
- version: "0.0.1961",
63769
+ version: "0.0.1963",
63749
63770
  types: "dist/index.d.ts",
63750
63771
  main: "dist/index.js",
63751
63772
  module: "dist/index.js",
@@ -63799,7 +63820,7 @@ var package_default = {
63799
63820
  "@tscircuit/math-utils": "^0.0.36",
63800
63821
  "@tscircuit/miniflex": "^0.0.4",
63801
63822
  "@tscircuit/ngspice-spice-engine": "^0.0.20",
63802
- "@tscircuit/props": "^0.0.665",
63823
+ "@tscircuit/props": "^0.0.666",
63803
63824
  "@tscircuit/schematic-match-adapt": "^0.0.18",
63804
63825
  "@tscircuit/schematic-trace-solver": "^0.0.205",
63805
63826
  "@tscircuit/solver-utils": "^0.0.16",
@@ -63815,10 +63836,10 @@ var package_default = {
63815
63836
  "bun-match-svg": "0.0.12",
63816
63837
  "calculate-elbow": "^0.0.12",
63817
63838
  "chokidar-cli": "^3.0.0",
63818
- "circuit-json": "^0.0.497",
63839
+ "circuit-json": "^0.0.499",
63819
63840
  "circuit-json-to-bpc": "^0.0.13",
63820
63841
  "circuit-json-to-connectivity-map": "^0.0.30",
63821
- "circuit-json-to-gltf": "^0.0.132",
63842
+ "circuit-json-to-gltf": "^0.0.133",
63822
63843
  "circuit-json-to-spice": "^0.0.45",
63823
63844
  "circuit-to-svg": "^0.0.430",
63824
63845
  concurrently: "^9.1.2",
@@ -63878,8 +63899,8 @@ var package_default = {
63878
63899
  },
63879
63900
  overrides: {
63880
63901
  "@tscircuit/circuit-json-util": "^0.0.116",
63881
- "@tscircuit/props": "^0.0.665",
63882
- "circuit-json": "^0.0.497"
63902
+ "@tscircuit/props": "^0.0.666",
63903
+ "circuit-json": "^0.0.499"
63883
63904
  }
63884
63905
  };
63885
63906
 
@@ -78182,6 +78203,102 @@ var SpiceModel = class extends PrimitiveComponent2 {
78182
78203
  }
78183
78204
  };
78184
78205
 
78206
+ // lib/components/primitive-components/PcbBend.ts
78207
+ import { pcbBendProps } from "@tscircuit/props";
78208
+ import { applyToPoint as applyToPoint37 } from "transformation-matrix";
78209
+
78210
+ // lib/components/primitive-components/getPcbFlexBoardTransform.ts
78211
+ import { compose as compose18, translate as translate18 } from "transformation-matrix";
78212
+ function getPcbFlexBoardTransform(primitive) {
78213
+ const boardId = primitive._getBoard()?.pcb_board_id;
78214
+ const board = boardId ? primitive.root.db.pcb_board.get(boardId) : null;
78215
+ if (!board)
78216
+ throw new Error(`${primitive.componentName} must be inside a board`);
78217
+ const transform = compose18(
78218
+ translate18(-board.center.x, -board.center.y),
78219
+ primitive._computePcbGlobalTransformBeforeLayout()
78220
+ );
78221
+ return { board, transform };
78222
+ }
78223
+
78224
+ // lib/components/primitive-components/PcbBend.ts
78225
+ var PcbBend = class extends PrimitiveComponent2 {
78226
+ pcb_bend_id = null;
78227
+ get config() {
78228
+ return { componentName: "PcbBend", zodProps: pcbBendProps };
78229
+ }
78230
+ // Resolve board-relative geometry after board autosizing and panel placement.
78231
+ doInitialPcbFlexRender() {
78232
+ if (this.root?.pcbDisabled) return;
78233
+ const { db } = this.root;
78234
+ const props = this._parsedProps;
78235
+ const { board, transform } = getPcbFlexBoardTransform(this);
78236
+ this.pcb_bend_id = db.pcb_bend.insert({
78237
+ pcb_board_id: board.pcb_board_id,
78238
+ pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0,
78239
+ subcircuit_id: this.getSubcircuit().subcircuit_id ?? void 0,
78240
+ name: props.name,
78241
+ start: applyToPoint37(transform, { x: props.x1, y: props.y1 }),
78242
+ end: applyToPoint37(transform, { x: props.x2, y: props.y2 }),
78243
+ bend_angle: props.bendAngle,
78244
+ bend_radius: props.bendRadius,
78245
+ bend_side: props.bendSide
78246
+ }).pcb_bend_id;
78247
+ }
78248
+ doRemovePcbFlexRender() {
78249
+ if (!this.pcb_bend_id) return;
78250
+ this.root.db.pcb_bend.delete(this.pcb_bend_id);
78251
+ this.pcb_bend_id = null;
78252
+ }
78253
+ };
78254
+
78255
+ // lib/components/primitive-components/PcbStiffener.ts
78256
+ import { pcbStiffenerProps } from "@tscircuit/props";
78257
+ import { applyToPoint as applyToPoint38, decomposeTSR as decomposeTSR10 } from "transformation-matrix";
78258
+ var PcbStiffener = class extends PrimitiveComponent2 {
78259
+ pcb_stiffener_id = null;
78260
+ get config() {
78261
+ return { componentName: "PcbStiffener", zodProps: pcbStiffenerProps };
78262
+ }
78263
+ doInitialPcbFlexRender() {
78264
+ if (this.root?.pcbDisabled) return;
78265
+ const { db } = this.root;
78266
+ const props = this._parsedProps;
78267
+ const { board, transform } = getPcbFlexBoardTransform(this);
78268
+ const base = {
78269
+ pcb_board_id: board.pcb_board_id,
78270
+ pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0,
78271
+ subcircuit_id: this.getSubcircuit().subcircuit_id ?? void 0,
78272
+ name: props.name,
78273
+ layer: props.layer,
78274
+ material: props.material,
78275
+ thickness: props.thickness,
78276
+ adhesive_thickness: props.adhesiveThickness
78277
+ };
78278
+ const geometry = props.shape === "rect" ? {
78279
+ shape: "rect",
78280
+ center: applyToPoint38(transform, { x: 0, y: 0 }),
78281
+ rotation: decomposeTSR10(transform).rotation.angle * 180 / Math.PI,
78282
+ width: props.width,
78283
+ height: props.height
78284
+ } : {
78285
+ shape: "polygon",
78286
+ outline: props.outline.map(
78287
+ (point6) => applyToPoint38(transform, point6)
78288
+ )
78289
+ };
78290
+ this.pcb_stiffener_id = db.pcb_stiffener.insert({
78291
+ ...base,
78292
+ ...geometry
78293
+ }).pcb_stiffener_id;
78294
+ }
78295
+ doRemovePcbFlexRender() {
78296
+ if (!this.pcb_stiffener_id) return;
78297
+ this.root.db.pcb_stiffener.delete(this.pcb_stiffener_id);
78298
+ this.pcb_stiffener_id = null;
78299
+ }
78300
+ };
78301
+
78185
78302
  // lib/namespaced-elements/create-namespaced-element.ts
78186
78303
  import { createElement } from "react";
78187
78304
  var createNamespacedElement = (hostType) => {
@@ -78533,11 +78650,13 @@ export {
78533
78650
  NormalComponent,
78534
78651
  OpAmp,
78535
78652
  Panel,
78653
+ PcbBend,
78536
78654
  PcbNoteDimension,
78537
78655
  PcbNoteLine,
78538
78656
  PcbNotePath,
78539
78657
  PcbNoteRect,
78540
78658
  PcbNoteText,
78659
+ PcbStiffener,
78541
78660
  PcbTrace,
78542
78661
  PcbVia,
78543
78662
  PinHeader,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1962",
4
+ "version": "0.0.1964",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -55,7 +55,7 @@
55
55
  "@tscircuit/math-utils": "^0.0.36",
56
56
  "@tscircuit/miniflex": "^0.0.4",
57
57
  "@tscircuit/ngspice-spice-engine": "^0.0.20",
58
- "@tscircuit/props": "^0.0.665",
58
+ "@tscircuit/props": "^0.0.666",
59
59
  "@tscircuit/schematic-match-adapt": "^0.0.18",
60
60
  "@tscircuit/schematic-trace-solver": "^0.0.205",
61
61
  "@tscircuit/solver-utils": "^0.0.16",
@@ -71,10 +71,10 @@
71
71
  "bun-match-svg": "0.0.12",
72
72
  "calculate-elbow": "^0.0.12",
73
73
  "chokidar-cli": "^3.0.0",
74
- "circuit-json": "^0.0.497",
74
+ "circuit-json": "^0.0.499",
75
75
  "circuit-json-to-bpc": "^0.0.13",
76
76
  "circuit-json-to-connectivity-map": "^0.0.30",
77
- "circuit-json-to-gltf": "^0.0.132",
77
+ "circuit-json-to-gltf": "^0.0.133",
78
78
  "circuit-json-to-spice": "^0.0.45",
79
79
  "circuit-to-svg": "^0.0.430",
80
80
  "concurrently": "^9.1.2",
@@ -134,7 +134,7 @@
134
134
  },
135
135
  "overrides": {
136
136
  "@tscircuit/circuit-json-util": "^0.0.116",
137
- "@tscircuit/props": "^0.0.665",
138
- "circuit-json": "^0.0.497"
137
+ "@tscircuit/props": "^0.0.666",
138
+ "circuit-json": "^0.0.499"
139
139
  }
140
140
  }