@tscircuit/core 0.0.1488 → 0.0.1490

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.
Files changed (2) hide show
  1. package/dist/index.js +78 -12
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -23532,7 +23532,7 @@ function Group_getRoutingPhasePlans(group) {
23532
23532
  var package_default = {
23533
23533
  name: "@tscircuit/core",
23534
23534
  type: "module",
23535
- version: "0.0.1487",
23535
+ version: "0.0.1489",
23536
23536
  types: "dist/index.d.ts",
23537
23537
  main: "dist/index.js",
23538
23538
  module: "dist/index.js",
@@ -23567,7 +23567,7 @@ var package_default = {
23567
23567
  "@tscircuit/breakout-point-solver": "github:tscircuit/breakout-point-solver#bac9629",
23568
23568
  "@tscircuit/capacity-autorouter": "^0.0.710",
23569
23569
  "@tscircuit/checks": "0.0.145",
23570
- "@tscircuit/circuit-json-util": "^0.0.97",
23570
+ "@tscircuit/circuit-json-util": "^0.0.100",
23571
23571
  "@tscircuit/common": "^0.0.20",
23572
23572
  "@tscircuit/copper-pour-solver": "0.0.39",
23573
23573
  "@tscircuit/create-fdm-enclosure": "0.0.3",
@@ -23596,7 +23596,7 @@ var package_default = {
23596
23596
  "bun-match-svg": "0.0.12",
23597
23597
  "calculate-elbow": "^0.0.12",
23598
23598
  "chokidar-cli": "^3.0.0",
23599
- "circuit-json": "^0.0.451",
23599
+ "circuit-json": "^0.0.453",
23600
23600
  "circuit-json-to-bpc": "^0.0.13",
23601
23601
  "circuit-json-to-connectivity-map": "^0.0.23",
23602
23602
  "circuit-json-to-gltf": "^0.0.107",
@@ -33424,6 +33424,8 @@ var Mosfet = class extends NormalComponent3 {
33424
33424
  const source_component = db.source_component.insert({
33425
33425
  ftype: "simple_mosfet",
33426
33426
  name: this.name,
33427
+ manufacturer_part_number: props.manufacturerPartNumber ?? props.mfn,
33428
+ supplier_part_numbers: props.supplierPartNumbers,
33427
33429
  mosfet_mode: props.mosfetMode,
33428
33430
  channel_type: props.channelType,
33429
33431
  display_name: props.displayName
@@ -33770,6 +33772,62 @@ var SchematicSection = class _SchematicSection extends PrimitiveComponent2 {
33770
33772
 
33771
33773
  // lib/components/primitive-components/SchematicSheet.ts
33772
33774
  import { schematicSheetProps } from "@tscircuit/props";
33775
+
33776
+ // lib/utils/schematic/insertSchematicElementOutsideSheetWarnings.ts
33777
+ import {
33778
+ getSchematicElementBounds
33779
+ } from "@tscircuit/circuit-json-util";
33780
+ var SCHEMATIC_UNIT_TO_MM = 10.16 / 1.1;
33781
+ var DEFAULT_SCHEMATIC_SHEET_WIDTH = 297 / SCHEMATIC_UNIT_TO_MM;
33782
+ var DEFAULT_SCHEMATIC_SHEET_HEIGHT = 210 / SCHEMATIC_UNIT_TO_MM;
33783
+ var SCHEMATIC_SHEET_INNER_MARGIN = 5 / SCHEMATIC_UNIT_TO_MM;
33784
+ var BOUNDS_EPSILON = 1e-6;
33785
+ var getSchematicElementId = (schematicElement) => {
33786
+ switch (schematicElement.type) {
33787
+ case "schematic_component":
33788
+ return schematicElement.schematic_component_id;
33789
+ case "schematic_net_label":
33790
+ return schematicElement.schematic_net_label_id;
33791
+ case "schematic_trace":
33792
+ return schematicElement.schematic_trace_id;
33793
+ }
33794
+ };
33795
+ var insertSchematicElementOutsideSheetWarnings = ({
33796
+ db,
33797
+ schematicSheetId,
33798
+ schematicSheetName,
33799
+ schematicSheetCenter
33800
+ }) => {
33801
+ const sheetContentBounds = {
33802
+ minX: schematicSheetCenter.x - DEFAULT_SCHEMATIC_SHEET_WIDTH / 2 + SCHEMATIC_SHEET_INNER_MARGIN,
33803
+ maxX: schematicSheetCenter.x + DEFAULT_SCHEMATIC_SHEET_WIDTH / 2 - SCHEMATIC_SHEET_INNER_MARGIN,
33804
+ minY: schematicSheetCenter.y - DEFAULT_SCHEMATIC_SHEET_HEIGHT / 2 + SCHEMATIC_SHEET_INNER_MARGIN,
33805
+ maxY: schematicSheetCenter.y + DEFAULT_SCHEMATIC_SHEET_HEIGHT / 2 - SCHEMATIC_SHEET_INNER_MARGIN
33806
+ };
33807
+ const checkedElements = [
33808
+ ...db.schematic_component.list(),
33809
+ ...db.schematic_net_label.list(),
33810
+ ...db.schematic_trace.list()
33811
+ ].filter(
33812
+ (schematicElement) => schematicElement.schematic_sheet_id === schematicSheetId
33813
+ );
33814
+ for (const schematicElement of checkedElements) {
33815
+ const elementBounds = getSchematicElementBounds(schematicElement);
33816
+ if (!elementBounds) continue;
33817
+ const isOutsideSheet = elementBounds.minX < sheetContentBounds.minX - BOUNDS_EPSILON || elementBounds.maxX > sheetContentBounds.maxX + BOUNDS_EPSILON || elementBounds.minY < sheetContentBounds.minY - BOUNDS_EPSILON || elementBounds.maxY > sheetContentBounds.maxY + BOUNDS_EPSILON;
33818
+ if (!isOutsideSheet) continue;
33819
+ const schematicElementId = getSchematicElementId(schematicElement);
33820
+ db.schematic_element_outside_sheet_warning.insert({
33821
+ warning_type: "schematic_element_outside_sheet_warning",
33822
+ message: `${schematicElement.type} ${schematicElementId} extends outside the drawing area of schematic sheet "${schematicSheetName}"`,
33823
+ schematic_sheet_id: schematicSheetId,
33824
+ schematic_element_type: schematicElement.type,
33825
+ schematic_element_id: schematicElementId
33826
+ });
33827
+ }
33828
+ };
33829
+
33830
+ // lib/components/primitive-components/SchematicSheet.ts
33773
33831
  var SchematicSheet = class extends PrimitiveComponent2 {
33774
33832
  isSchematicPrimitive = true;
33775
33833
  get config() {
@@ -33806,16 +33864,24 @@ var SchematicSheet = class extends PrimitiveComponent2 {
33806
33864
  ].filter(
33807
33865
  (element) => element.schematic_sheet_id === this.schematic_sheet_id
33808
33866
  );
33809
- if (schematicElements.length === 0) return;
33810
- const bounds = getBoundsForSchematic(schematicElements);
33811
- if (!Number.isFinite(bounds.minX) || !Number.isFinite(bounds.maxX) || !Number.isFinite(bounds.minY) || !Number.isFinite(bounds.maxY)) {
33812
- return;
33813
- }
33814
- db.schematic_sheet.update(this.schematic_sheet_id, {
33815
- center: {
33816
- x: (bounds.minX + bounds.maxX) / 2,
33817
- y: (bounds.minY + bounds.maxY) / 2
33867
+ let schematicSheetCenter = { x: 0, y: 0 };
33868
+ if (schematicElements.length > 0) {
33869
+ const bounds = getBoundsForSchematic(schematicElements);
33870
+ if (Number.isFinite(bounds.minX) && Number.isFinite(bounds.maxX) && Number.isFinite(bounds.minY) && Number.isFinite(bounds.maxY)) {
33871
+ schematicSheetCenter = {
33872
+ x: (bounds.minX + bounds.maxX) / 2,
33873
+ y: (bounds.minY + bounds.maxY) / 2
33874
+ };
33875
+ db.schematic_sheet.update(this.schematic_sheet_id, {
33876
+ center: schematicSheetCenter
33877
+ });
33818
33878
  }
33879
+ }
33880
+ insertSchematicElementOutsideSheetWarnings({
33881
+ db,
33882
+ schematicSheetId: this.schematic_sheet_id,
33883
+ schematicSheetName: this._parsedProps.displayName,
33884
+ schematicSheetCenter
33819
33885
  });
33820
33886
  }
33821
33887
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tscircuit/core",
3
3
  "type": "module",
4
- "version": "0.0.1488",
4
+ "version": "0.0.1490",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -36,7 +36,7 @@
36
36
  "@tscircuit/breakout-point-solver": "github:tscircuit/breakout-point-solver#bac9629",
37
37
  "@tscircuit/capacity-autorouter": "^0.0.710",
38
38
  "@tscircuit/checks": "0.0.145",
39
- "@tscircuit/circuit-json-util": "^0.0.97",
39
+ "@tscircuit/circuit-json-util": "^0.0.100",
40
40
  "@tscircuit/common": "^0.0.20",
41
41
  "@tscircuit/copper-pour-solver": "0.0.39",
42
42
  "@tscircuit/create-fdm-enclosure": "0.0.3",
@@ -65,7 +65,7 @@
65
65
  "bun-match-svg": "0.0.12",
66
66
  "calculate-elbow": "^0.0.12",
67
67
  "chokidar-cli": "^3.0.0",
68
- "circuit-json": "^0.0.451",
68
+ "circuit-json": "^0.0.453",
69
69
  "circuit-json-to-bpc": "^0.0.13",
70
70
  "circuit-json-to-connectivity-map": "^0.0.23",
71
71
  "circuit-json-to-gltf": "^0.0.107",