@tscircuit/core 0.0.1904 → 0.0.1906

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
@@ -5417,9 +5417,11 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
5417
5417
  schPack: z.ZodOptional<z.ZodBoolean>;
5418
5418
  schMatchAdapt: z.ZodOptional<z.ZodBoolean>;
5419
5419
  } & {
5420
+ fabricatorPreset: z.ZodOptional<z.ZodEnum<["jlcpcb_economy", "jlcpcb_standard", "jlcpcb_economy_20260912", "jlcpcb_standard_20260912"]>>;
5420
5421
  material: z.ZodDefault<z.ZodEnum<["fr4", "fr1", "flex"]>>;
5421
5422
  layers: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<4>, z.ZodLiteral<6>, z.ZodLiteral<8>, z.ZodLiteral<10>]>>;
5422
5423
  allowBlindAndBuriedVias: z.ZodDefault<z.ZodBoolean>;
5424
+ defaultViaTenting: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
5423
5425
  borderRadius: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5424
5426
  thickness: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
5425
5427
  boardAnchorPosition: z.ZodOptional<z.ZodObject<{
@@ -5813,6 +5815,8 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
5813
5815
  schPack?: boolean | undefined;
5814
5816
  schMatchAdapt?: boolean | undefined;
5815
5817
  title?: string | undefined;
5818
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
5819
+ defaultViaTenting?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
5816
5820
  borderRadius?: number | undefined;
5817
5821
  boardAnchorPosition?: {
5818
5822
  x: number;
@@ -6158,8 +6162,10 @@ declare class Board extends Group<typeof boardProps> implements BoardI, Subcircu
6158
6162
  schPack?: boolean | undefined;
6159
6163
  schMatchAdapt?: boolean | undefined;
6160
6164
  title?: string | undefined;
6165
+ fabricatorPreset?: "jlcpcb_economy" | "jlcpcb_standard" | "jlcpcb_economy_20260912" | "jlcpcb_standard_20260912" | undefined;
6161
6166
  material?: "flex" | "fr4" | "fr1" | undefined;
6162
6167
  allowBlindAndBuriedVias?: boolean | undefined;
6168
+ defaultViaTenting?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
6163
6169
  borderRadius?: string | number | undefined;
6164
6170
  boardAnchorPosition?: {
6165
6171
  x: string | number;
@@ -108235,6 +108241,7 @@ declare const pcbViaProps: z.ZodObject<{
108235
108241
  tentedOnBottom: z.ZodOptional<z.ZodBoolean>;
108236
108242
  outerDiameter: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
108237
108243
  netIsAssignable: z.ZodOptional<z.ZodBoolean>;
108244
+ tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
108238
108245
  }, "strip", z.ZodTypeAny, {
108239
108246
  symbol?: _tscircuit_props.SymbolProp | undefined;
108240
108247
  fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | undefined;
@@ -108295,6 +108302,7 @@ declare const pcbViaProps: z.ZodObject<{
108295
108302
  tentedOnBottom?: boolean | undefined;
108296
108303
  outerDiameter?: number | undefined;
108297
108304
  netIsAssignable?: boolean | undefined;
108305
+ tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
108298
108306
  }, {
108299
108307
  symbol?: _tscircuit_props.SymbolProp | undefined;
108300
108308
  fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
@@ -108363,6 +108371,7 @@ declare const pcbViaProps: z.ZodObject<{
108363
108371
  tentedOnBottom?: boolean | undefined;
108364
108372
  outerDiameter?: string | number | undefined;
108365
108373
  netIsAssignable?: boolean | undefined;
108374
+ tented?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
108366
108375
  }>;
108367
108376
  declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
108368
108377
  pcb_via_id: string | null;
@@ -108492,6 +108501,7 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
108492
108501
  tentedOnBottom: z.ZodOptional<z.ZodBoolean>;
108493
108502
  outerDiameter: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
108494
108503
  netIsAssignable: z.ZodOptional<z.ZodBoolean>;
108504
+ tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
108495
108505
  }, "strip", z.ZodTypeAny, {
108496
108506
  symbol?: _tscircuit_props.SymbolProp | undefined;
108497
108507
  fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | undefined;
@@ -108552,6 +108562,7 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
108552
108562
  tentedOnBottom?: boolean | undefined;
108553
108563
  outerDiameter?: number | undefined;
108554
108564
  netIsAssignable?: boolean | undefined;
108565
+ tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
108555
108566
  }, {
108556
108567
  symbol?: _tscircuit_props.SymbolProp | undefined;
108557
108568
  fromLayer?: "top" | "bottom" | "inner1" | "inner2" | "inner3" | "inner4" | "inner5" | "inner6" | "inner7" | "inner8" | {
@@ -108620,6 +108631,7 @@ declare class PcbVia extends PrimitiveComponent<typeof pcbViaProps> {
108620
108631
  tentedOnBottom?: boolean | undefined;
108621
108632
  outerDiameter?: string | number | undefined;
108622
108633
  netIsAssignable?: boolean | undefined;
108634
+ tented?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
108623
108635
  }>;
108624
108636
  };
108625
108637
  private _getLayers;
@@ -108966,6 +108978,7 @@ declare class Via extends PrimitiveComponent<typeof viaProps> {
108966
108978
  }>, "many">>;
108967
108979
  connectsTo: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
108968
108980
  netIsAssignable: z.ZodOptional<z.ZodBoolean>;
108981
+ tented: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["both_sides", "top_and_bottom_tented", "top_tented", "bottom_tented", "exposed"]>]>, "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed", boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed">>;
108969
108982
  }, "strip", z.ZodTypeAny, {
108970
108983
  symbol?: _tscircuit_props.SymbolProp | undefined;
108971
108984
  name?: string | undefined;
@@ -109023,6 +109036,7 @@ declare class Via extends PrimitiveComponent<typeof viaProps> {
109023
109036
  holeDiameter?: number | undefined;
109024
109037
  outerDiameter?: number | undefined;
109025
109038
  netIsAssignable?: boolean | undefined;
109039
+ tented?: "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
109026
109040
  }, {
109027
109041
  symbol?: _tscircuit_props.SymbolProp | undefined;
109028
109042
  name?: string | undefined;
@@ -109088,6 +109102,7 @@ declare class Via extends PrimitiveComponent<typeof viaProps> {
109088
109102
  holeDiameter?: string | number | undefined;
109089
109103
  outerDiameter?: string | number | undefined;
109090
109104
  netIsAssignable?: boolean | undefined;
109105
+ tented?: boolean | "both_sides" | "top_and_bottom_tented" | "top_tented" | "bottom_tented" | "exposed" | undefined;
109091
109106
  }>;
109092
109107
  };
109093
109108
  getAvailablePcbLayers(): LayerRef[];
package/dist/index.js CHANGED
@@ -57558,32 +57558,25 @@ function Group_doInitialSchematicLayoutSections(group) {
57558
57558
  }
57559
57559
 
57560
57560
  // lib/utils/schematic/update-missing-schematic-sheet-warning.ts
57561
- var MISSING_SCHEMATIC_SHEET_ISSUE_TYPE = "missing_schematic_sheet";
57562
57561
  var updateMissingSchematicSheetWarning = ({
57563
57562
  db,
57564
57563
  schematicDisabled
57565
57564
  }) => {
57566
- const existingWarning = db.schematic_component_styling_warning.list().find(
57567
- (warning) => warning.styling_issue_type === MISSING_SCHEMATIC_SHEET_ISSUE_TYPE
57568
- );
57569
- const firstSchematicComponent = db.schematic_component.list()[0];
57570
- const shouldWarn = !schematicDisabled && Boolean(firstSchematicComponent) && db.schematic_sheet.list().length === 0;
57565
+ const existingWarning = db.schematic_missing_sheet_warning.list()[0];
57566
+ const hasSchematicComponents = db.schematic_component.list().length > 0;
57567
+ const shouldWarn = !schematicDisabled && hasSchematicComponents && db.schematic_sheet.list().length === 0;
57571
57568
  if (!shouldWarn) {
57572
57569
  if (existingWarning) {
57573
- db.schematic_component_styling_warning.delete(
57574
- existingWarning.schematic_component_styling_warning_id
57570
+ db.schematic_missing_sheet_warning.delete(
57571
+ existingWarning.schematic_missing_sheet_warning_id
57575
57572
  );
57576
57573
  }
57577
57574
  return;
57578
57575
  }
57579
- if (existingWarning || !firstSchematicComponent) return;
57580
- db.schematic_component_styling_warning.insert({
57581
- warning_type: "schematic_component_styling_warning",
57582
- message: "No <schematicsheet> was found. Add a <schematicsheet> to define the schematic drawing area.",
57583
- schematic_component_id: firstSchematicComponent.schematic_component_id,
57584
- source_component_id: firstSchematicComponent.source_component_id,
57585
- subcircuit_id: firstSchematicComponent.subcircuit_id,
57586
- styling_issue_type: MISSING_SCHEMATIC_SHEET_ISSUE_TYPE
57576
+ if (existingWarning) return;
57577
+ db.schematic_missing_sheet_warning.insert({
57578
+ warning_type: "schematic_missing_sheet_warning",
57579
+ message: "No <schematicsheet> was found. Add a <schematicsheet> to define the schematic drawing area."
57587
57580
  });
57588
57581
  };
57589
57582
 
@@ -62035,7 +62028,7 @@ function Group_getRoutingPhasePlans(group) {
62035
62028
  var package_default = {
62036
62029
  name: "@tscircuit/core",
62037
62030
  type: "module",
62038
- version: "0.0.1903",
62031
+ version: "0.0.1905",
62039
62032
  types: "dist/index.d.ts",
62040
62033
  main: "dist/index.js",
62041
62034
  module: "dist/index.js",
@@ -62088,7 +62081,7 @@ var package_default = {
62088
62081
  "@tscircuit/math-utils": "^0.0.36",
62089
62082
  "@tscircuit/miniflex": "^0.0.4",
62090
62083
  "@tscircuit/ngspice-spice-engine": "^0.0.20",
62091
- "@tscircuit/props": "^0.0.653",
62084
+ "@tscircuit/props": "^0.0.656",
62092
62085
  "@tscircuit/schematic-match-adapt": "^0.0.18",
62093
62086
  "@tscircuit/schematic-trace-solver": "^0.0.196",
62094
62087
  "@tscircuit/solver-utils": "^0.0.16",
@@ -62104,7 +62097,7 @@ var package_default = {
62104
62097
  "bun-match-svg": "0.0.12",
62105
62098
  "calculate-elbow": "^0.0.12",
62106
62099
  "chokidar-cli": "^3.0.0",
62107
- "circuit-json": "^0.0.487",
62100
+ "circuit-json": "^0.0.489",
62108
62101
  "circuit-json-to-bpc": "^0.0.13",
62109
62102
  "circuit-json-to-connectivity-map": "^0.0.30",
62110
62103
  "circuit-json-to-gltf": "^0.0.125",
@@ -62167,8 +62160,8 @@ var package_default = {
62167
62160
  },
62168
62161
  overrides: {
62169
62162
  "@tscircuit/circuit-json-util": "^0.0.113",
62170
- "@tscircuit/props": "^0.0.653",
62171
- "circuit-json": "^0.0.487"
62163
+ "@tscircuit/props": "^0.0.656",
62164
+ "circuit-json": "^0.0.489"
62172
62165
  }
62173
62166
  };
62174
62167
 
@@ -68485,14 +68478,28 @@ var Board = class extends Group5 {
68485
68478
  const shouldRunSchematicChecks = !drcChecksDisabled && !schematicDisabled;
68486
68479
  const shouldRunPlacementChecks = !drcChecksDisabled && !pcbDisabled && !placementDrcChecksDisabled;
68487
68480
  const shouldRunRoutingChecks = !drcChecksDisabled && !pcbDisabled && !routingDisabled && !routingDrcChecksDisabled;
68488
- if (shouldRunRoutingChecks && this._hasIncompleteAsyncEffectsInSubtreeForPhase("PcbTraceRender"))
68481
+ const fabricatorEngine = this.root?.platform?.fabricatorEngine;
68482
+ const fabricatorPreset = this._parsedProps.fabricatorPreset;
68483
+ const shouldRunFabricatorChecks = !drcChecksDisabled && !pcbDisabled && !!fabricatorEngine && !!fabricatorPreset;
68484
+ if ((shouldRunRoutingChecks || shouldRunFabricatorChecks) && this._hasIncompleteAsyncEffectsInSubtreeForPhase("PcbTraceRender"))
68489
68485
  return;
68490
68486
  const hasTracesToRoute = this._hasTracesToRoute();
68491
- if (shouldRunRoutingChecks && hasTracesToRoute && !this._areChildSubcircuitsRouted())
68487
+ if ((shouldRunRoutingChecks || shouldRunFabricatorChecks) && hasTracesToRoute && !this._areChildSubcircuitsRouted())
68492
68488
  return;
68493
68489
  if (this._drcChecksComplete || this._drcChecksInProgress) return;
68494
68490
  const runDrcChecks = async (circuitJson) => {
68495
68491
  const checksToRun = [];
68492
+ if (shouldRunFabricatorChecks && fabricatorEngine && fabricatorPreset && this.pcb_board_id) {
68493
+ checksToRun.push(
68494
+ Promise.resolve(
68495
+ fabricatorEngine.runDrcChecks({
68496
+ circuitJson,
68497
+ fabricatorPreset,
68498
+ pcbBoardId: this.pcb_board_id
68499
+ })
68500
+ )
68501
+ );
68502
+ }
68496
68503
  if (shouldRunRoutingChecks) {
68497
68504
  checksToRun.push(
68498
68505
  runAllRoutingChecks2(circuitJson).then(
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1904",
4
+ "version": "0.0.1906",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -54,7 +54,7 @@
54
54
  "@tscircuit/math-utils": "^0.0.36",
55
55
  "@tscircuit/miniflex": "^0.0.4",
56
56
  "@tscircuit/ngspice-spice-engine": "^0.0.20",
57
- "@tscircuit/props": "^0.0.653",
57
+ "@tscircuit/props": "^0.0.656",
58
58
  "@tscircuit/schematic-match-adapt": "^0.0.18",
59
59
  "@tscircuit/schematic-trace-solver": "^0.0.196",
60
60
  "@tscircuit/solver-utils": "^0.0.16",
@@ -70,7 +70,7 @@
70
70
  "bun-match-svg": "0.0.12",
71
71
  "calculate-elbow": "^0.0.12",
72
72
  "chokidar-cli": "^3.0.0",
73
- "circuit-json": "^0.0.487",
73
+ "circuit-json": "^0.0.489",
74
74
  "circuit-json-to-bpc": "^0.0.13",
75
75
  "circuit-json-to-connectivity-map": "^0.0.30",
76
76
  "circuit-json-to-gltf": "^0.0.125",
@@ -133,7 +133,7 @@
133
133
  },
134
134
  "overrides": {
135
135
  "@tscircuit/circuit-json-util": "^0.0.113",
136
- "@tscircuit/props": "^0.0.653",
137
- "circuit-json": "^0.0.487"
136
+ "@tscircuit/props": "^0.0.656",
137
+ "circuit-json": "^0.0.489"
138
138
  }
139
139
  }