@tscircuit/3d-viewer 0.0.479 → 0.0.480

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 +47 -26
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -29492,7 +29492,7 @@ import * as THREE16 from "three";
29492
29492
  // package.json
29493
29493
  var package_default = {
29494
29494
  name: "@tscircuit/3d-viewer",
29495
- version: "0.0.478",
29495
+ version: "0.0.479",
29496
29496
  main: "./dist/index.js",
29497
29497
  module: "./dist/index.js",
29498
29498
  type: "module",
@@ -30712,6 +30712,7 @@ var MANIFOLD_Z_OFFSET = 1e-3;
30712
30712
  var SMOOTH_CIRCLE_SEGMENTS = 32;
30713
30713
  var DEFAULT_SMT_PAD_THICKNESS = 0.035;
30714
30714
  var TRACE_TEXTURE_RESOLUTION = 150;
30715
+ var FAUX_BOARD_OPACITY = 0.6;
30715
30716
  var boardMaterialColors = {
30716
30717
  fr1: colors.fr1Tan,
30717
30718
  fr4: colors.fr4Tan
@@ -34256,7 +34257,8 @@ function createPanelOutlineTextureForLayer({
34256
34257
  // src/three-components/JscadBoardTextures.tsx
34257
34258
  function JscadBoardTextures({
34258
34259
  circuitJson,
34259
- pcbThickness
34260
+ pcbThickness,
34261
+ isFaux = false
34260
34262
  }) {
34261
34263
  const { rootObject } = useThree();
34262
34264
  const { visibility } = useLayerVisibility();
@@ -34381,7 +34383,8 @@ function JscadBoardTextures({
34381
34383
  depthWrite,
34382
34384
  polygonOffset: usePolygonOffset,
34383
34385
  polygonOffsetFactor: usePolygonOffset ? -1 : 0,
34384
- polygonOffsetUnits: usePolygonOffset ? -1 : 0
34386
+ polygonOffsetUnits: usePolygonOffset ? -1 : 0,
34387
+ opacity: isFaux ? FAUX_BOARD_OPACITY : 1
34385
34388
  });
34386
34389
  const mesh = new THREE24.Mesh(planeGeom, material);
34387
34390
  mesh.position.set(
@@ -34729,7 +34732,8 @@ var CadViewerJscad = forwardRef3(
34729
34732
  JscadBoardTextures,
34730
34733
  {
34731
34734
  circuitJson: internalCircuitJson,
34732
- pcbThickness
34735
+ pcbThickness,
34736
+ isFaux: isFauxBoard
34733
34737
  }
34734
34738
  ),
34735
34739
  cad_components.map((cad_component2) => /* @__PURE__ */ jsx16(
@@ -36037,7 +36041,8 @@ function createTexturePlane(config, boardData) {
36037
36041
  isBottomLayer,
36038
36042
  textureType,
36039
36043
  usePolygonOffset = false,
36040
- renderOrder = 0
36044
+ renderOrder = 0,
36045
+ isFaux = false
36041
36046
  } = config;
36042
36047
  if (!texture) return null;
36043
36048
  const boardOutlineBounds = calculateOutlineBounds(boardData);
@@ -36053,7 +36058,8 @@ function createTexturePlane(config, boardData) {
36053
36058
  polygonOffset: usePolygonOffset,
36054
36059
  polygonOffsetFactor: usePolygonOffset ? -4 : 0,
36055
36060
  // Increased for better z-fighting prevention
36056
- polygonOffsetUnits: usePolygonOffset ? -4 : 0
36061
+ polygonOffsetUnits: usePolygonOffset ? -4 : 0,
36062
+ opacity: isFaux ? FAUX_BOARD_OPACITY : 1
36057
36063
  });
36058
36064
  const mesh = new THREE30.Mesh(planeGeom, material);
36059
36065
  mesh.position.set(
@@ -36068,7 +36074,7 @@ function createTexturePlane(config, boardData) {
36068
36074
  mesh.renderOrder = renderOrder;
36069
36075
  return mesh;
36070
36076
  }
36071
- function createTextureMeshes(textures, boardData, pcbThickness) {
36077
+ function createTextureMeshes(textures, boardData, pcbThickness, isFaux = false) {
36072
36078
  const meshes = [];
36073
36079
  if (!textures || !boardData || pcbThickness === null) return meshes;
36074
36080
  const topTraceMesh = createTexturePlane(
@@ -36079,8 +36085,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36079
36085
  isBottomLayer: false,
36080
36086
  textureType: "trace",
36081
36087
  usePolygonOffset: false,
36082
- renderOrder: 2
36088
+ renderOrder: 2,
36083
36089
  // Render after soldermask
36090
+ isFaux
36084
36091
  },
36085
36092
  boardData
36086
36093
  );
@@ -36092,8 +36099,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36092
36099
  isBottomLayer: false,
36093
36100
  textureType: "trace-with-mask",
36094
36101
  usePolygonOffset: false,
36095
- renderOrder: 2
36102
+ renderOrder: 2,
36096
36103
  // Render after soldermask
36104
+ isFaux
36097
36105
  },
36098
36106
  boardData
36099
36107
  );
@@ -36106,8 +36114,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36106
36114
  isBottomLayer: false,
36107
36115
  textureType: "silkscreen",
36108
36116
  usePolygonOffset: false,
36109
- renderOrder: 3
36117
+ renderOrder: 3,
36110
36118
  // Render after traces
36119
+ isFaux
36111
36120
  },
36112
36121
  boardData
36113
36122
  );
@@ -36120,8 +36129,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36120
36129
  isBottomLayer: true,
36121
36130
  textureType: "trace",
36122
36131
  usePolygonOffset: false,
36123
- renderOrder: 2
36132
+ renderOrder: 2,
36124
36133
  // Render after soldermask
36134
+ isFaux
36125
36135
  },
36126
36136
  boardData
36127
36137
  );
@@ -36133,8 +36143,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36133
36143
  isBottomLayer: true,
36134
36144
  textureType: "trace-with-mask",
36135
36145
  usePolygonOffset: false,
36136
- renderOrder: 2
36146
+ renderOrder: 2,
36137
36147
  // Render after soldermask
36148
+ isFaux
36138
36149
  },
36139
36150
  boardData
36140
36151
  );
@@ -36146,8 +36157,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36146
36157
  isBottomLayer: true,
36147
36158
  textureType: "silkscreen",
36148
36159
  usePolygonOffset: false,
36149
- renderOrder: 3
36160
+ renderOrder: 3,
36150
36161
  // Render after traces
36162
+ isFaux
36151
36163
  },
36152
36164
  boardData
36153
36165
  );
@@ -36161,8 +36173,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36161
36173
  textureType: "soldermask",
36162
36174
  usePolygonOffset: true,
36163
36175
  // Enable polygon offset
36164
- renderOrder: 1
36176
+ renderOrder: 1,
36165
36177
  // Render after board (renderOrder)
36178
+ isFaux
36166
36179
  },
36167
36180
  boardData
36168
36181
  );
@@ -36176,8 +36189,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36176
36189
  textureType: "soldermask",
36177
36190
  usePolygonOffset: true,
36178
36191
  // Enable polygon offset
36179
- renderOrder: 1
36192
+ renderOrder: 1,
36180
36193
  // Render after board (renderOrder)
36194
+ isFaux
36181
36195
  },
36182
36196
  boardData
36183
36197
  );
@@ -36189,8 +36203,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36189
36203
  isBottomLayer: false,
36190
36204
  textureType: "copper-text",
36191
36205
  usePolygonOffset: false,
36192
- renderOrder: 2
36206
+ renderOrder: 2,
36193
36207
  // Render after soldermask
36208
+ isFaux
36194
36209
  },
36195
36210
  boardData
36196
36211
  );
@@ -36202,8 +36217,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36202
36217
  isBottomLayer: true,
36203
36218
  textureType: "copper-text",
36204
36219
  usePolygonOffset: false,
36205
- renderOrder: 2
36220
+ renderOrder: 2,
36206
36221
  // Render after soldermask
36222
+ isFaux
36207
36223
  },
36208
36224
  boardData
36209
36225
  );
@@ -36215,8 +36231,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36215
36231
  isBottomLayer: false,
36216
36232
  textureType: "copper",
36217
36233
  usePolygonOffset: false,
36218
- renderOrder: 2
36234
+ renderOrder: 2,
36219
36235
  // Render after soldermask
36236
+ isFaux
36220
36237
  },
36221
36238
  boardData
36222
36239
  );
@@ -36228,8 +36245,9 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36228
36245
  isBottomLayer: true,
36229
36246
  textureType: "copper",
36230
36247
  usePolygonOffset: false,
36231
- renderOrder: 2
36248
+ renderOrder: 2,
36232
36249
  // Render after soldermask
36250
+ isFaux
36233
36251
  },
36234
36252
  boardData
36235
36253
  );
@@ -36242,7 +36260,8 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36242
36260
  isBottomLayer: false,
36243
36261
  textureType: "panel-outlines",
36244
36262
  usePolygonOffset: false,
36245
- renderOrder: 4
36263
+ renderOrder: 4,
36264
+ isFaux
36246
36265
  },
36247
36266
  boardData
36248
36267
  );
@@ -36255,7 +36274,8 @@ function createTextureMeshes(textures, boardData, pcbThickness) {
36255
36274
  isBottomLayer: true,
36256
36275
  textureType: "panel-outlines",
36257
36276
  usePolygonOffset: false,
36258
- renderOrder: 4
36277
+ renderOrder: 4,
36278
+ isFaux
36259
36279
  },
36260
36280
  boardData
36261
36281
  );
@@ -36633,7 +36653,7 @@ var createBoardMaterial = ({
36633
36653
  sheen: 0,
36634
36654
  clearcoat: 0,
36635
36655
  transparent: isFaux,
36636
- opacity: isFaux ? 0.6 : 1,
36656
+ opacity: isFaux ? FAUX_BOARD_OPACITY : 1,
36637
36657
  flatShading: true
36638
36658
  });
36639
36659
  }
@@ -36644,7 +36664,7 @@ var createBoardMaterial = ({
36644
36664
  metalness: 0.1,
36645
36665
  roughness: 0.8,
36646
36666
  transparent: true,
36647
- opacity: isFaux ? 0.6 : 0.9
36667
+ opacity: isFaux ? FAUX_BOARD_OPACITY : 0.9
36648
36668
  });
36649
36669
  };
36650
36670
 
@@ -36852,12 +36872,13 @@ try {
36852
36872
  pcbThickness,
36853
36873
  error: builderError,
36854
36874
  isLoading: builderIsLoading,
36855
- boardData
36875
+ boardData,
36876
+ isFauxBoard
36856
36877
  } = useManifoldBoardBuilder(manifoldJSModule, circuitJson);
36857
36878
  const geometryMeshes = useMemo22(() => createGeometryMeshes(geoms), [geoms]);
36858
36879
  const textureMeshes = useMemo22(
36859
- () => createTextureMeshes(textures, boardData, pcbThickness),
36860
- [textures, boardData, pcbThickness]
36880
+ () => createTextureMeshes(textures, boardData, pcbThickness, isFauxBoard),
36881
+ [textures, boardData, pcbThickness, isFauxBoard]
36861
36882
  );
36862
36883
  const cadComponents = useMemo22(
36863
36884
  () => su19(circuitJson).cad_component.list(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tscircuit/3d-viewer",
3
- "version": "0.0.479",
3
+ "version": "0.0.480",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "type": "module",