@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.
- package/dist/index.js +47 -26
- 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.
|
|
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 ?
|
|
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 ?
|
|
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(),
|