@tscircuit/core 0.0.1963 → 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",
@@ -63763,7 +63766,7 @@ function Group_getRoutingPhasePlans(group) {
63763
63766
  var package_default = {
63764
63767
  name: "@tscircuit/core",
63765
63768
  type: "module",
63766
- version: "0.0.1962",
63769
+ version: "0.0.1963",
63767
63770
  types: "dist/index.d.ts",
63768
63771
  main: "dist/index.js",
63769
63772
  module: "dist/index.js",
@@ -63817,7 +63820,7 @@ var package_default = {
63817
63820
  "@tscircuit/math-utils": "^0.0.36",
63818
63821
  "@tscircuit/miniflex": "^0.0.4",
63819
63822
  "@tscircuit/ngspice-spice-engine": "^0.0.20",
63820
- "@tscircuit/props": "^0.0.665",
63823
+ "@tscircuit/props": "^0.0.666",
63821
63824
  "@tscircuit/schematic-match-adapt": "^0.0.18",
63822
63825
  "@tscircuit/schematic-trace-solver": "^0.0.205",
63823
63826
  "@tscircuit/solver-utils": "^0.0.16",
@@ -63833,10 +63836,10 @@ var package_default = {
63833
63836
  "bun-match-svg": "0.0.12",
63834
63837
  "calculate-elbow": "^0.0.12",
63835
63838
  "chokidar-cli": "^3.0.0",
63836
- "circuit-json": "^0.0.497",
63839
+ "circuit-json": "^0.0.499",
63837
63840
  "circuit-json-to-bpc": "^0.0.13",
63838
63841
  "circuit-json-to-connectivity-map": "^0.0.30",
63839
- "circuit-json-to-gltf": "^0.0.132",
63842
+ "circuit-json-to-gltf": "^0.0.133",
63840
63843
  "circuit-json-to-spice": "^0.0.45",
63841
63844
  "circuit-to-svg": "^0.0.430",
63842
63845
  concurrently: "^9.1.2",
@@ -63896,8 +63899,8 @@ var package_default = {
63896
63899
  },
63897
63900
  overrides: {
63898
63901
  "@tscircuit/circuit-json-util": "^0.0.116",
63899
- "@tscircuit/props": "^0.0.665",
63900
- "circuit-json": "^0.0.497"
63902
+ "@tscircuit/props": "^0.0.666",
63903
+ "circuit-json": "^0.0.499"
63901
63904
  }
63902
63905
  };
63903
63906
 
@@ -78200,6 +78203,102 @@ var SpiceModel = class extends PrimitiveComponent2 {
78200
78203
  }
78201
78204
  };
78202
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
+
78203
78302
  // lib/namespaced-elements/create-namespaced-element.ts
78204
78303
  import { createElement } from "react";
78205
78304
  var createNamespacedElement = (hostType) => {
@@ -78551,11 +78650,13 @@ export {
78551
78650
  NormalComponent,
78552
78651
  OpAmp,
78553
78652
  Panel,
78653
+ PcbBend,
78554
78654
  PcbNoteDimension,
78555
78655
  PcbNoteLine,
78556
78656
  PcbNotePath,
78557
78657
  PcbNoteRect,
78558
78658
  PcbNoteText,
78659
+ PcbStiffener,
78559
78660
  PcbTrace,
78560
78661
  PcbVia,
78561
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.1963",
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
  }