@tscircuit/3d-viewer 0.0.587 → 0.0.588
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 +24 -6
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -32710,7 +32710,7 @@ import * as THREE23 from "three";
|
|
|
32710
32710
|
// package.json
|
|
32711
32711
|
var package_default = {
|
|
32712
32712
|
name: "@tscircuit/3d-viewer",
|
|
32713
|
-
version: "0.0.
|
|
32713
|
+
version: "0.0.587",
|
|
32714
32714
|
main: "./dist/index.js",
|
|
32715
32715
|
module: "./dist/index.js",
|
|
32716
32716
|
type: "module",
|
|
@@ -32740,7 +32740,7 @@ var package_default = {
|
|
|
32740
32740
|
"@jscad/regl-renderer": "^2.6.12",
|
|
32741
32741
|
"@jscad/stl-serializer": "^2.1.20",
|
|
32742
32742
|
"circuit-json": "^0.0.465",
|
|
32743
|
-
"circuit-to-canvas": "^0.0.
|
|
32743
|
+
"circuit-to-canvas": "^0.0.119",
|
|
32744
32744
|
"react-hot-toast": "^2.6.0",
|
|
32745
32745
|
three: "^0.165.0",
|
|
32746
32746
|
"three-stdlib": "^2.36.0",
|
|
@@ -37224,6 +37224,7 @@ var drawSilkscreenLayer = ({
|
|
|
37224
37224
|
layer,
|
|
37225
37225
|
bounds,
|
|
37226
37226
|
elements,
|
|
37227
|
+
apertureElements,
|
|
37227
37228
|
silkscreenColor
|
|
37228
37229
|
}) => {
|
|
37229
37230
|
const renderLayer = layer === "top" ? "top_silkscreen" : "bottom_silkscreen";
|
|
@@ -37274,8 +37275,9 @@ var drawSilkscreenLayer = ({
|
|
|
37274
37275
|
}
|
|
37275
37276
|
});
|
|
37276
37277
|
setDrawerBounds5(drawer, bounds);
|
|
37277
|
-
drawer.drawElements(elements, {
|
|
37278
|
-
layers: [renderLayer]
|
|
37278
|
+
drawer.drawElements([...elements, ...apertureElements], {
|
|
37279
|
+
layers: [renderLayer],
|
|
37280
|
+
clearDrillHoles: true
|
|
37279
37281
|
});
|
|
37280
37282
|
};
|
|
37281
37283
|
|
|
@@ -37285,17 +37287,31 @@ var isSilkscreenElement = (element, layer) => {
|
|
|
37285
37287
|
const elementType = element.type;
|
|
37286
37288
|
return elementType.startsWith("pcb_silkscreen_");
|
|
37287
37289
|
};
|
|
37290
|
+
var isOpenSurfaceAperture = (element, soldermaskVisible) => {
|
|
37291
|
+
if (element.type === "pcb_cutout") return true;
|
|
37292
|
+
if (element.type === "pcb_via") {
|
|
37293
|
+
return !soldermaskVisible || element.is_tented !== true;
|
|
37294
|
+
}
|
|
37295
|
+
if (element.type === "pcb_hole" || element.type === "pcb_plated_hole") {
|
|
37296
|
+
return !soldermaskVisible || element.is_covered_with_solder_mask !== true;
|
|
37297
|
+
}
|
|
37298
|
+
return false;
|
|
37299
|
+
};
|
|
37288
37300
|
function createSilkscreenTextureForLayer({
|
|
37289
37301
|
layer,
|
|
37290
37302
|
circuitJson,
|
|
37291
37303
|
boardData,
|
|
37292
37304
|
traceTextureResolution = TRACE_TEXTURE_RESOLUTION,
|
|
37293
|
-
silkscreenColor = "rgb(255,255,255)"
|
|
37305
|
+
silkscreenColor = "rgb(255,255,255)",
|
|
37306
|
+
soldermaskVisible = true
|
|
37294
37307
|
}) {
|
|
37295
37308
|
const elements = circuitJson.filter(
|
|
37296
37309
|
(element) => isSilkscreenElement(element, layer)
|
|
37297
37310
|
);
|
|
37298
37311
|
if (elements.length === 0) return null;
|
|
37312
|
+
const apertureElements = circuitJson.filter(
|
|
37313
|
+
(element) => isOpenSurfaceAperture(element, soldermaskVisible)
|
|
37314
|
+
);
|
|
37299
37315
|
const bounds = getSoldermaskRenderBounds(circuitJson, boardData);
|
|
37300
37316
|
const canvasWidth = Math.floor(bounds.width * traceTextureResolution);
|
|
37301
37317
|
const canvasHeight = Math.floor(bounds.height * traceTextureResolution);
|
|
@@ -37314,6 +37330,7 @@ function createSilkscreenTextureForLayer({
|
|
|
37314
37330
|
layer,
|
|
37315
37331
|
bounds,
|
|
37316
37332
|
elements,
|
|
37333
|
+
apertureElements,
|
|
37317
37334
|
silkscreenColor
|
|
37318
37335
|
});
|
|
37319
37336
|
const texture = new THREE33.CanvasTexture(canvas);
|
|
@@ -37767,7 +37784,8 @@ function createCombinedBoardTextures({
|
|
|
37767
37784
|
circuitJson,
|
|
37768
37785
|
boardData,
|
|
37769
37786
|
silkscreenColor,
|
|
37770
|
-
traceTextureResolution
|
|
37787
|
+
traceTextureResolution,
|
|
37788
|
+
soldermaskVisible: showMask
|
|
37771
37789
|
}) : null;
|
|
37772
37790
|
const fabricationNoteTexture = showSilkscreen ? createFabricationNoteTextureForLayer({
|
|
37773
37791
|
layer,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tscircuit/3d-viewer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.588",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@jscad/regl-renderer": "^2.6.12",
|
|
31
31
|
"@jscad/stl-serializer": "^2.1.20",
|
|
32
32
|
"circuit-json": "^0.0.465",
|
|
33
|
-
"circuit-to-canvas": "^0.0.
|
|
33
|
+
"circuit-to-canvas": "^0.0.119",
|
|
34
34
|
"react-hot-toast": "^2.6.0",
|
|
35
35
|
"three": "^0.165.0",
|
|
36
36
|
"three-stdlib": "^2.36.0",
|