@tscircuit/core 0.0.139 → 0.0.141

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
@@ -319,6 +319,7 @@ declare class Net extends PrimitiveComponent<typeof netProps> {
319
319
  * routing phase for autorouters that don't care about connecting nets.
320
320
  */
321
321
  doInitialPcbRouteNetIslands(): void;
322
+ renderError(message: Parameters<typeof PrimitiveComponent.prototype.renderError>[0]): void;
322
323
  }
323
324
 
324
325
  declare class Trace extends PrimitiveComponent<typeof traceProps> {
@@ -6234,6 +6235,146 @@ declare const useCapacitor: <PropsFromHook extends Omit<CapacitorProps, "name">
6234
6235
 
6235
6236
  declare const useChip: <PinLabel extends string>(pinLabels: Record<string, PinLabel[]>) => <PropsFromHook extends Omit<ChipProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ChipProps, PinLabel, PropsFromHook>;
6236
6237
 
6238
+ declare const useDiode: <PropsFromHook extends Omit<{
6239
+ name: string;
6240
+ pcbX?: string | number | undefined;
6241
+ pcbY?: string | number | undefined;
6242
+ pcbRotation?: string | number | undefined;
6243
+ schX?: string | number | undefined;
6244
+ schY?: string | number | undefined;
6245
+ schRotation?: string | number | undefined;
6246
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6247
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6248
+ } | undefined;
6249
+ footprint?: _tscircuit_props.Footprint | undefined;
6250
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6251
+ key?: any;
6252
+ cadModel?: string | {
6253
+ stlUrl: string;
6254
+ rotationOffset?: number | {
6255
+ x: string | number;
6256
+ y: string | number;
6257
+ z: string | number;
6258
+ } | undefined;
6259
+ positionOffset?: {
6260
+ x: string | number;
6261
+ y: string | number;
6262
+ z: string | number;
6263
+ } | undefined;
6264
+ size?: {
6265
+ x: string | number;
6266
+ y: string | number;
6267
+ z: string | number;
6268
+ } | undefined;
6269
+ } | {
6270
+ objUrl: string;
6271
+ rotationOffset?: number | {
6272
+ x: string | number;
6273
+ y: string | number;
6274
+ z: string | number;
6275
+ } | undefined;
6276
+ positionOffset?: {
6277
+ x: string | number;
6278
+ y: string | number;
6279
+ z: string | number;
6280
+ } | undefined;
6281
+ size?: {
6282
+ x: string | number;
6283
+ y: string | number;
6284
+ z: string | number;
6285
+ } | undefined;
6286
+ mtlUrl?: string | undefined;
6287
+ } | {
6288
+ jscad: Record<string, any>;
6289
+ rotationOffset?: number | {
6290
+ x: string | number;
6291
+ y: string | number;
6292
+ z: string | number;
6293
+ } | undefined;
6294
+ positionOffset?: {
6295
+ x: string | number;
6296
+ y: string | number;
6297
+ z: string | number;
6298
+ } | undefined;
6299
+ size?: {
6300
+ x: string | number;
6301
+ y: string | number;
6302
+ z: string | number;
6303
+ } | undefined;
6304
+ } | undefined;
6305
+ children?: any;
6306
+ symbolName?: string | undefined;
6307
+ }, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<{
6308
+ name: string;
6309
+ pcbX?: string | number | undefined;
6310
+ pcbY?: string | number | undefined;
6311
+ pcbRotation?: string | number | undefined;
6312
+ schX?: string | number | undefined;
6313
+ schY?: string | number | undefined;
6314
+ schRotation?: string | number | undefined;
6315
+ layer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | {
6316
+ name: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6";
6317
+ } | undefined;
6318
+ footprint?: _tscircuit_props.Footprint | undefined;
6319
+ supplierPartNumbers?: Partial<Record<"jlcpcb" | "macrofab" | "pcbway" | "digikey" | "mouser" | "lcsc", string[]>> | undefined;
6320
+ key?: any;
6321
+ cadModel?: string | {
6322
+ stlUrl: string;
6323
+ rotationOffset?: number | {
6324
+ x: string | number;
6325
+ y: string | number;
6326
+ z: string | number;
6327
+ } | undefined;
6328
+ positionOffset?: {
6329
+ x: string | number;
6330
+ y: string | number;
6331
+ z: string | number;
6332
+ } | undefined;
6333
+ size?: {
6334
+ x: string | number;
6335
+ y: string | number;
6336
+ z: string | number;
6337
+ } | undefined;
6338
+ } | {
6339
+ objUrl: string;
6340
+ rotationOffset?: number | {
6341
+ x: string | number;
6342
+ y: string | number;
6343
+ z: string | number;
6344
+ } | undefined;
6345
+ positionOffset?: {
6346
+ x: string | number;
6347
+ y: string | number;
6348
+ z: string | number;
6349
+ } | undefined;
6350
+ size?: {
6351
+ x: string | number;
6352
+ y: string | number;
6353
+ z: string | number;
6354
+ } | undefined;
6355
+ mtlUrl?: string | undefined;
6356
+ } | {
6357
+ jscad: Record<string, any>;
6358
+ rotationOffset?: number | {
6359
+ x: string | number;
6360
+ y: string | number;
6361
+ z: string | number;
6362
+ } | undefined;
6363
+ positionOffset?: {
6364
+ x: string | number;
6365
+ y: string | number;
6366
+ z: string | number;
6367
+ } | undefined;
6368
+ size?: {
6369
+ x: string | number;
6370
+ y: string | number;
6371
+ z: string | number;
6372
+ } | undefined;
6373
+ } | undefined;
6374
+ children?: any;
6375
+ symbolName?: string | undefined;
6376
+ }, "left" | "right" | "pin1" | "pin2" | "anode" | "cathode" | "pos" | "neg", PropsFromHook>;
6377
+
6237
6378
  declare const useResistor: <PropsFromHook extends Omit<ResistorProps, "name"> | undefined = undefined>(name: string, props?: PropsFromHook | undefined) => ComponentWithPins<ResistorProps, "left" | "right" | "pin1" | "pin2", PropsFromHook>;
6238
6379
 
6239
6380
  declare global {
@@ -6283,4 +6424,4 @@ declare global {
6283
6424
  }
6284
6425
  }
6285
6426
 
6286
- export { Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, type PinLabelSpec, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useCapacitor, useChip, useRenderedCircuit, useResistor };
6427
+ export { Battery, Board, Capacitor, Chip, Circuit, type ComponentWithPins, Constraint, Diode, FabricationNotePath, FabricationNoteText, Footprint, Group, Hole, type IRenderable, Inductor, Jumper, Keepout, Led, Net, NetAlias, NormalComponent, type PinLabelSpec, PlatedHole, Port, PowerSource, PrimitiveComponent, Project, Renderable, Resistor, SilkscreenCircle, SilkscreenPath, SilkscreenRect, SilkscreenText, SmtPad, Trace, TraceHint, Via, createUseComponent, useCapacitor, useChip, useDiode, useRenderedCircuit, useResistor };
package/dist/index.js CHANGED
@@ -973,12 +973,32 @@ var Net = class extends PrimitiveComponent {
973
973
  );
974
974
  const trace = solution[0];
975
975
  if (!trace) {
976
- this.renderError("Failed to route net islands");
976
+ this.renderError({
977
+ pcb_trace_error_id: "",
978
+ pcb_trace_id: "__net_trace_tmp",
979
+ pcb_component_ids: [
980
+ Aport.pcb_component_id,
981
+ Bport.pcb_component_id
982
+ ].filter(Boolean),
983
+ pcb_port_ids: [Aport.pcb_port_id, Bport.pcb_port_id].filter(
984
+ Boolean
985
+ ),
986
+ type: "pcb_trace_error",
987
+ error_type: "pcb_trace_error",
988
+ message: `Failed to route net islands for "${this.getString()}"`,
989
+ source_trace_id: "__net_trace_tmp"
990
+ });
977
991
  return;
978
992
  }
979
993
  db.pcb_trace.insert(trace);
980
994
  }
981
995
  }
996
+ renderError(message) {
997
+ if (typeof message === "string") {
998
+ return super.renderError(message);
999
+ }
1000
+ this.root?.db.pcb_trace_error.insert(message);
1001
+ }
982
1002
  };
983
1003
 
984
1004
  // lib/utils/components/createNetsFromProps.ts
@@ -4709,11 +4729,19 @@ var useChip = (pinLabels) => createUseComponent(
4709
4729
  pinLabels
4710
4730
  );
4711
4731
 
4732
+ // lib/hooks/use-diode.tsx
4733
+ import { diodePins } from "@tscircuit/props";
4734
+ import { jsx as jsx4 } from "react/jsx-runtime";
4735
+ var useDiode = createUseComponent(
4736
+ (props) => /* @__PURE__ */ jsx4("diode", { ...props }),
4737
+ diodePins
4738
+ );
4739
+
4712
4740
  // lib/hooks/use-resistor.tsx
4713
4741
  import { resistorPins as resistorPins2 } from "@tscircuit/props";
4714
- import { jsx as jsx4 } from "react/jsx-runtime";
4742
+ import { jsx as jsx5 } from "react/jsx-runtime";
4715
4743
  var useResistor = createUseComponent(
4716
- (props) => /* @__PURE__ */ jsx4("resistor", { ...props }),
4744
+ (props) => /* @__PURE__ */ jsx5("resistor", { ...props }),
4717
4745
  resistorPins2
4718
4746
  );
4719
4747
 
@@ -4760,6 +4788,7 @@ export {
4760
4788
  createUseComponent,
4761
4789
  useCapacitor,
4762
4790
  useChip,
4791
+ useDiode,
4763
4792
  useRenderedCircuit,
4764
4793
  useResistor
4765
4794
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.139",
4
+ "version": "0.0.141",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",