@tscircuit/core 0.0.780 → 0.0.781

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as circuit_json from 'circuit-json';
2
2
  import { PcbTraceError, PcbPlacementError, PcbManualEditConflictWarning, PcbViaClearanceError, LayerRef, AnyCircuitElement, Size, AnySourceComponent, PcbTraceRoutePoint, PcbTrace as PcbTrace$1, PcbVia, SchematicPort, SchematicComponent, RouteHintPoint, CircuitJson } from 'circuit-json';
3
3
  import * as _tscircuit_props from '@tscircuit/props';
4
- import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNotePathProps, fabricationNoteTextProps, pcbNoteLineProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
4
+ import { PlatformConfig, subcircuitGroupProps, AutorouterConfig, traceProps, SupplierPartNumbers, CadModelProp, SchematicPortArrangement, groupProps, boardProps, capacitorProps, chipProps, pinoutProps, diodeProps, fuseProps, jumperProps, solderjumperProps, ledProps, powerSourceProps, CommonComponentProps, resistorProps, constraintProps, fabricationNoteRectProps, fabricationNotePathProps, fabricationNoteTextProps, pcbNoteLineProps, footprintProps, subcircuitProps, breakoutProps, breakoutPointProps, holeProps, pcbKeepoutProps, netLabelProps, cadmodelProps, cadassemblyProps, platedHoleProps, silkscreenCircleProps, silkscreenPathProps, silkscreenRectProps, silkscreenTextProps, silkscreenLineProps, smtPadProps, traceHintProps, viaProps, copperPourProps, cutoutProps, batteryProps, pinHeaderProps, resonatorProps, inductorProps, potentiometerProps, pushButtonProps, crystalProps, transistorProps, mosfetProps, switchProps, SwitchProps, testpointProps, schematicTextProps, schematicLineProps, schematicRectProps, schematicArcProps, schematicCircleProps, schematicBoxProps, schematicTableProps, schematicRowProps, schematicCellProps, symbolProps, analogSimulationProps, CapacitorProps, ChipProps, DiodeProps, ResistorProps, ManualEditEvent, ManualEditsFile, ChipConnections, manual_edits_file } from '@tscircuit/props';
5
5
  import * as react from 'react';
6
6
  import react__default, { ReactElement, DetailedHTMLProps, SVGProps } from 'react';
7
7
  export { createElement } from 'react';
@@ -17055,6 +17055,91 @@ declare class Constraint extends PrimitiveComponent<typeof constraintProps> {
17055
17055
  };
17056
17056
  }
17057
17057
 
17058
+ declare class FabricationNoteRect extends PrimitiveComponent<typeof fabricationNoteRectProps> {
17059
+ fabrication_note_rect_id: string | null;
17060
+ get config(): {
17061
+ componentName: string;
17062
+ zodProps: zod.ZodObject<Omit<{
17063
+ pcbX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17064
+ pcbY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17065
+ pcbRotation: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17066
+ pcbPositionAnchor: zod.ZodOptional<zod.ZodString>;
17067
+ layer: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>, zod.ZodObject<{
17068
+ name: zod.ZodEnum<["top", "bottom", "inner1", "inner2", "inner3", "inner4", "inner5", "inner6"]>;
17069
+ }, "strip", zod.ZodTypeAny, {
17070
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17071
+ }, {
17072
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17073
+ }>]>, "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6", "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17074
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17075
+ }>>;
17076
+ pcbMarginTop: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17077
+ pcbMarginRight: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17078
+ pcbMarginBottom: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17079
+ pcbMarginLeft: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17080
+ pcbMarginX: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17081
+ pcbMarginY: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17082
+ pcbRelative: zod.ZodOptional<zod.ZodBoolean>;
17083
+ relative: zod.ZodOptional<zod.ZodBoolean>;
17084
+ }, "pcbRotation"> & {
17085
+ width: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17086
+ height: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>;
17087
+ strokeWidth: zod.ZodOptional<zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>, number, string | number>>;
17088
+ isFilled: zod.ZodOptional<zod.ZodBoolean>;
17089
+ hasStroke: zod.ZodOptional<zod.ZodBoolean>;
17090
+ isStrokeDashed: zod.ZodOptional<zod.ZodBoolean>;
17091
+ color: zod.ZodOptional<zod.ZodString>;
17092
+ }, "strip", zod.ZodTypeAny, {
17093
+ width: number;
17094
+ height: number;
17095
+ pcbX?: number | undefined;
17096
+ pcbY?: number | undefined;
17097
+ pcbPositionAnchor?: string | undefined;
17098
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | undefined;
17099
+ pcbMarginTop?: number | undefined;
17100
+ pcbMarginRight?: number | undefined;
17101
+ pcbMarginBottom?: number | undefined;
17102
+ pcbMarginLeft?: number | undefined;
17103
+ pcbMarginX?: number | undefined;
17104
+ pcbMarginY?: number | undefined;
17105
+ pcbRelative?: boolean | undefined;
17106
+ relative?: boolean | undefined;
17107
+ strokeWidth?: number | undefined;
17108
+ color?: string | undefined;
17109
+ isFilled?: boolean | undefined;
17110
+ hasStroke?: boolean | undefined;
17111
+ isStrokeDashed?: boolean | undefined;
17112
+ }, {
17113
+ width: string | number;
17114
+ height: string | number;
17115
+ pcbX?: string | number | undefined;
17116
+ pcbY?: string | number | undefined;
17117
+ pcbPositionAnchor?: string | undefined;
17118
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
17119
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
17120
+ } | undefined;
17121
+ pcbMarginTop?: string | number | undefined;
17122
+ pcbMarginRight?: string | number | undefined;
17123
+ pcbMarginBottom?: string | number | undefined;
17124
+ pcbMarginLeft?: string | number | undefined;
17125
+ pcbMarginX?: string | number | undefined;
17126
+ pcbMarginY?: string | number | undefined;
17127
+ pcbRelative?: boolean | undefined;
17128
+ relative?: boolean | undefined;
17129
+ strokeWidth?: string | number | undefined;
17130
+ color?: string | undefined;
17131
+ isFilled?: boolean | undefined;
17132
+ hasStroke?: boolean | undefined;
17133
+ isStrokeDashed?: boolean | undefined;
17134
+ }>;
17135
+ };
17136
+ doInitialPcbPrimitiveRender(): void;
17137
+ getPcbSize(): {
17138
+ width: number;
17139
+ height: number;
17140
+ };
17141
+ }
17142
+
17058
17143
  declare class FabricationNotePath extends PrimitiveComponent<typeof fabricationNotePathProps> {
17059
17144
  fabrication_note_path_id: string | null;
17060
17145
  get config(): {
@@ -33556,6 +33641,7 @@ interface TscircuitElements {
33556
33641
  silkscreencircle: _tscircuit_props.SilkscreenCircleProps;
33557
33642
  tracehint: _tscircuit_props.TraceHintProps;
33558
33643
  pcbtrace: _tscircuit_props.PcbTraceProps;
33644
+ fabricationnoterect: _tscircuit_props.FabricationNoteRectProps;
33559
33645
  pcbnoteline: _tscircuit_props.PcbNoteLineProps;
33560
33646
  fabricationnotetext: _tscircuit_props.FabricationNoteTextProps;
33561
33647
  fabricationnotepath: _tscircuit_props.FabricationNotePathProps;
@@ -33588,4 +33674,4 @@ declare module "react/jsx-runtime" {
33588
33674
  }
33589
33675
  }
33590
33676
 
33591
- export { AnalogSimulation, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbNoteLine, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
33677
+ export { AnalogSimulation, type AsyncEffect, type AutorouterCompleteEvent, type AutorouterErrorEvent, type AutorouterEvent, type AutorouterProgressEvent, type AutoroutingEndEvent, type AutoroutingErrorEvent, type AutoroutingProgressEvent, type AutoroutingStartEvent, Battery, Board, Breakout, BreakoutPoint, CadAssembly, CadModel, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, CopperPour, Crystal, Cutout, type DebugLogOutputEvent, Diode, FabricationNotePath, FabricationNoteRect, FabricationNoteText, Footprint, Fuse, type GenericConnectionsAndSelectorsSel, type GenericLocalAutorouter, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, type LocalCacheEngine, Mosfet, Net, NetLabel, NormalComponent, type Obstacle, PcbNoteLine, PcbTrace, PinHeader, type PinLabelSpec, Pinout, PlatedHole, Port, Potentiometer, PowerSource, PrimitiveComponent, Project, PushButton, type RenderPhase, type RenderPhaseFn, type RenderPhaseFunctions, type RenderPhaseStates, Renderable, Resistor, Resonator, RootCircuit, type RootCircuitEventName, SchematicArc, SchematicBox, SchematicCell, SchematicCircle, SchematicLine, SchematicRect, SchematicRow, SchematicTable, SchematicText, type Sel, SilkscreenCircle, SilkscreenLine, SilkscreenPath, SilkscreenRect, SilkscreenText, type SimpleRouteConnection, type SimpleRouteJson, type SimplifiedPcbTrace, SmtPad, SolderJumper, Subcircuit, Switch, SymbolComponent as Symbol, TestPoint, Trace, TraceHint, Transistor, Via, VoltageSource, applyEditEvents, applyEditEventsToManualEditsFile, applyPcbEditEventsToManualEditsFile, applySchematicEditEventsToManualEditsFile, createUseComponent, getPhaseTimingsFromRenderEvents, getSimpleRouteJsonFromCircuitJson, normalizePinLabels, orderedRenderPhases, sel, useCapacitor, useChip, useDiode, useLed, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ __export(components_exports, {
22
22
  Cutout: () => Cutout,
23
23
  Diode: () => Diode,
24
24
  FabricationNotePath: () => FabricationNotePath,
25
+ FabricationNoteRect: () => FabricationNoteRect,
25
26
  FabricationNoteText: () => FabricationNoteText,
26
27
  Footprint: () => Footprint,
27
28
  Fuse: () => Fuse,
@@ -14208,9 +14209,58 @@ var Constraint3 = class extends PrimitiveComponent2 {
14208
14209
  }
14209
14210
  };
14210
14211
 
14212
+ // lib/components/primitive-components/FabricationNoteRect.ts
14213
+ import { fabricationNoteRectProps } from "@tscircuit/props";
14214
+ import "transformation-matrix";
14215
+ var FabricationNoteRect = class extends PrimitiveComponent2 {
14216
+ fabrication_note_rect_id = null;
14217
+ get config() {
14218
+ return {
14219
+ componentName: "FabricationNoteRect",
14220
+ zodProps: fabricationNoteRectProps
14221
+ };
14222
+ }
14223
+ doInitialPcbPrimitiveRender() {
14224
+ if (this.root?.pcbDisabled) return;
14225
+ const { db } = this.root;
14226
+ const { _parsedProps: props } = this;
14227
+ const { maybeFlipLayer } = this._getPcbPrimitiveFlippedHelpers();
14228
+ const layer = maybeFlipLayer(props.layer ?? "top");
14229
+ if (layer !== "top" && layer !== "bottom") {
14230
+ throw new Error(
14231
+ `Invalid layer "${layer}" for FabricationNoteRect. Must be "top" or "bottom".`
14232
+ );
14233
+ }
14234
+ const pcb_component_id = this.parent?.pcb_component_id ?? this.getPrimitiveContainer()?.pcb_component_id;
14235
+ const subcircuit = this.getSubcircuit();
14236
+ const fabrication_note_rect = db.pcb_fabrication_note_rect.insert({
14237
+ pcb_component_id,
14238
+ layer,
14239
+ color: props.color,
14240
+ center: {
14241
+ x: props.pcbX ?? 0,
14242
+ y: props.pcbY ?? 0
14243
+ },
14244
+ width: props.width,
14245
+ height: props.height,
14246
+ stroke_width: props.strokeWidth ?? 1,
14247
+ is_filled: props.isFilled ?? false,
14248
+ has_stroke: props.hasStroke ?? false,
14249
+ is_stroke_dashed: props.isStrokeDashed ?? false,
14250
+ subcircuit_id: subcircuit?.subcircuit_id ?? void 0,
14251
+ pcb_group_id: this.getGroup()?.pcb_group_id ?? void 0
14252
+ });
14253
+ this.fabrication_note_rect_id = fabrication_note_rect.pcb_fabrication_note_rect_id;
14254
+ }
14255
+ getPcbSize() {
14256
+ const { _parsedProps: props } = this;
14257
+ return { width: props.width, height: props.height };
14258
+ }
14259
+ };
14260
+
14211
14261
  // lib/components/primitive-components/FabricationNotePath.ts
14212
14262
  import { fabricationNotePathProps } from "@tscircuit/props";
14213
- import { applyToPoint as applyToPoint8 } from "transformation-matrix";
14263
+ import { applyToPoint as applyToPoint9 } from "transformation-matrix";
14214
14264
  var FabricationNotePath = class extends PrimitiveComponent2 {
14215
14265
  fabrication_note_path_id = null;
14216
14266
  get config() {
@@ -14237,7 +14287,7 @@ var FabricationNotePath = class extends PrimitiveComponent2 {
14237
14287
  layer,
14238
14288
  color: props.color,
14239
14289
  route: props.route.map((p) => {
14240
- const transformedPosition = applyToPoint8(transform, {
14290
+ const transformedPosition = applyToPoint9(transform, {
14241
14291
  x: p.x,
14242
14292
  y: p.y
14243
14293
  });
@@ -14289,7 +14339,7 @@ var FabricationNoteText = class extends PrimitiveComponent2 {
14289
14339
 
14290
14340
  // lib/components/primitive-components/PcbNoteLine.ts
14291
14341
  import { pcbNoteLineProps } from "@tscircuit/props";
14292
- import { applyToPoint as applyToPoint9 } from "transformation-matrix";
14342
+ import { applyToPoint as applyToPoint10 } from "transformation-matrix";
14293
14343
  var PcbNoteLine = class extends PrimitiveComponent2 {
14294
14344
  pcb_note_line_id = null;
14295
14345
  isPcbPrimitive = true;
@@ -14306,8 +14356,8 @@ var PcbNoteLine = class extends PrimitiveComponent2 {
14306
14356
  const subcircuit = this.getSubcircuit();
14307
14357
  const group = this.getGroup();
14308
14358
  const transform = this._computePcbGlobalTransformBeforeLayout();
14309
- const start = applyToPoint9(transform, { x: props.x1, y: props.y1 });
14310
- const end = applyToPoint9(transform, { x: props.x2, y: props.y2 });
14359
+ const start = applyToPoint10(transform, { x: props.x1, y: props.y1 });
14360
+ const end = applyToPoint10(transform, { x: props.x2, y: props.y2 });
14311
14361
  const pcb_component_id = this.parent?.pcb_component_id ?? this.getPrimitiveContainer()?.pcb_component_id ?? void 0;
14312
14362
  const pcb_note_line = db.pcb_note_line.insert({
14313
14363
  pcb_component_id,
@@ -14456,7 +14506,7 @@ var BreakoutPoint = class extends PrimitiveComponent2 {
14456
14506
  // lib/components/primitive-components/NetLabel.ts
14457
14507
  import { netLabelProps } from "@tscircuit/props";
14458
14508
  import {
14459
- applyToPoint as applyToPoint10,
14509
+ applyToPoint as applyToPoint11,
14460
14510
  identity as identity5,
14461
14511
  translate as translate6
14462
14512
  } from "transformation-matrix";
@@ -14507,7 +14557,7 @@ var NetLabel = class extends PrimitiveComponent2 {
14507
14557
  const connectedPorts = this._getConnectedPorts();
14508
14558
  if (connectedPorts.length > 0) {
14509
14559
  const portPos = connectedPorts[0]._getGlobalSchematicPositionBeforeLayout();
14510
- const parentCenter = applyToPoint10(
14560
+ const parentCenter = applyToPoint11(
14511
14561
  this.parent?.computeSchematicGlobalTransform?.() ?? identity5(),
14512
14562
  { x: 0, y: 0 }
14513
14563
  );
@@ -16314,7 +16364,7 @@ import { identity as identity6 } from "transformation-matrix";
16314
16364
  var package_default = {
16315
16365
  name: "@tscircuit/core",
16316
16366
  type: "module",
16317
- version: "0.0.779",
16367
+ version: "0.0.780",
16318
16368
  types: "dist/index.d.ts",
16319
16369
  main: "dist/index.js",
16320
16370
  module: "dist/index.js",
@@ -16837,6 +16887,7 @@ export {
16837
16887
  Cutout,
16838
16888
  Diode,
16839
16889
  FabricationNotePath,
16890
+ FabricationNoteRect,
16840
16891
  FabricationNoteText,
16841
16892
  Footprint,
16842
16893
  Fuse,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.780",
4
+ "version": "0.0.781",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",