abstract-3d 0.5.2 → 0.5.4
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/lib/renderers/react/react-camera.d.ts.map +1 -1
- package/lib/renderers/react/react-camera.js +11 -11
- package/lib/renderers/react/react-camera.js.map +1 -1
- package/lib/renderers/react/react-hotspot.js +1 -1
- package/lib/renderers/react/react-hotspot.js.map +1 -1
- package/lib/renderers/react/react-material.d.ts +2 -1
- package/lib/renderers/react/react-material.d.ts.map +1 -1
- package/lib/renderers/react/react-material.js +2 -2
- package/lib/renderers/react/react-material.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/react/react-camera.tsx +14 -14
- package/src/renderers/react/react-hotspot.tsx +1 -1
- package/src/renderers/react/react-material.tsx +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-camera.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-camera.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAGhB,kBAAkB,EAKnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAY,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAQ,MAAM,sBAAsB,CAAC;AAE/D,MAAM,MAAM,MAAM,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAExC,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErH,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAA;CAAE,CAAC;AACxH,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAA;CAAE,CAAC;AACpF,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"react-camera.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-camera.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
-
import React, {
|
|
3
|
+
import React, { useLayoutEffect, useRef, useState } from "react";
|
|
4
4
|
import { PerspectiveCamera, OrthographicCamera, OrbitControls, GizmoHelper, GizmoViewcube, GizmoViewport, } from "@react-three/drei";
|
|
5
5
|
import { useThree } from "@react-three/fiber";
|
|
6
6
|
import { exhaustiveCheck } from "ts-exhaustive-check";
|
|
7
7
|
import { vec3 } from "../../abstract-3d.js";
|
|
8
|
-
const ControlsWrapper = (props) => {
|
|
9
|
-
const ref = useRef(undefined);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (!ref.current) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
props.setControls(ref.current);
|
|
15
|
-
}, [ref.current]);
|
|
16
|
-
return React.createElement(OrbitControls, { ...props, makeDefault: true, ref: ref });
|
|
17
|
-
};
|
|
18
8
|
export function ReactCamera({ useAnimations, camera, view, scene, controlsHelper, orbitContolsProps, }) {
|
|
19
9
|
const [controls, setControls] = useState(null);
|
|
20
10
|
const perspectiveRef = useRef(undefined);
|
|
@@ -117,5 +107,15 @@ export function ReactCamera({ useAnimations, camera, view, scene, controlsHelper
|
|
|
117
107
|
}
|
|
118
108
|
})()));
|
|
119
109
|
}
|
|
110
|
+
const ControlsWrapper = (props) => {
|
|
111
|
+
const ref = useRef(undefined);
|
|
112
|
+
useLayoutEffect(() => {
|
|
113
|
+
if (!ref.current) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
props.setControls(ref.current);
|
|
117
|
+
}, [ref.current]);
|
|
118
|
+
return React.createElement(OrbitControls, { ...props, makeDefault: true, ref: ref });
|
|
119
|
+
};
|
|
120
120
|
export const cameraDist = (size, fov) => size.z * 0.5 + (size.x > size.y ? size.x : size.y) / (1 / 2 / Math.tan((Math.PI * fov) / 180 / 2));
|
|
121
121
|
//# sourceMappingURL=react-camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-camera.js","sourceRoot":"","sources":["../../../src/renderers/react/react-camera.tsx"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sDAAsD;AACtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"react-camera.js","sourceRoot":"","sources":["../../../src/renderers/react/react-camera.tsx"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export function ReactHotSpot({ h, hotSpotZAdjPos, showHotSpotTexts, hotSpotTexts
|
|
|
32
32
|
},
|
|
33
33
|
}) },
|
|
34
34
|
React.createElement(ReactMesh, { mesh: h.mesh },
|
|
35
|
-
React.createElement(ReactMaterial, { id: h.id, isText: false, material: h.mesh.material, hoveredId: hoveredId }))),
|
|
35
|
+
React.createElement(ReactMaterial, { id: h.id, isText: false, isHotSpot: true, material: h.mesh.material, hoveredId: hoveredId }))),
|
|
36
36
|
hotSpotTexts && text && (React.createElement(Html, { position: [hsPos.x, hsPos.y, hotSpotZAdjPos], center: true },
|
|
37
37
|
React.createElement("div", { className: `air-states-container ${showHotSpotTexts ? "" : "air-states-container-hidden"}` },
|
|
38
38
|
React.createElement("span", { className: "air-states-text" }, text))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-hotspot.js","sourceRoot":"","sources":["../../../src/renderers/react/react-hotspot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUpD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CACrC,CAAC,EACC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACd,YAAY,GAUb,EAAqB,EAAE;IACtB,OAAO,CACL,0CACG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,oBAAC,YAAY,IACX,GAAG,EAAE,CAAC,CAAC,EAAE,EACT,CAAC,EAAE,CAAC,EACJ,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC,CACD,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,EAC3B,CAAC,EACD,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,cAAc,EACd,YAAY,GAUb;IACC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9E,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,OAAO,CACL;QACE,+BACE,OAAO,EAAE,OAAO,KAAK,SAAS,KAC1B,CAAC,OAAO,IAAI;gBACd,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,cAAc,EAAE,CAAC;wBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;wBACpB,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;oBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;oBACvC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC;gBACD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBACpC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;gBACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;oBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACtB,CAAC;aACF,CAAC;YAEF,oBAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACrB,oBAAC,aAAa,IAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"react-hotspot.js","sourceRoot":"","sources":["../../../src/renderers/react/react-hotspot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { Material } from "../../abstract-3d.js";
|
|
3
3
|
export type MaterialState = "Accept" | "Error" | "Warning";
|
|
4
4
|
export declare const ERROR_IMG_KEY = "error";
|
|
5
|
-
export declare function ReactMaterial({ material, id, selectedId, hoveredId, disabled, materialStateImages, state, isText, }: {
|
|
5
|
+
export declare function ReactMaterial({ material, id, selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }: {
|
|
6
6
|
readonly material: Material;
|
|
7
7
|
readonly id?: string;
|
|
8
8
|
readonly hoveredId?: string | undefined;
|
|
@@ -11,5 +11,6 @@ export declare function ReactMaterial({ material, id, selectedId, hoveredId, dis
|
|
|
11
11
|
readonly materialStateImages?: Record<string, string>;
|
|
12
12
|
readonly state?: MaterialState | undefined;
|
|
13
13
|
readonly isText: boolean;
|
|
14
|
+
readonly isHotSpot?: boolean;
|
|
14
15
|
}): React.JSX.Element;
|
|
15
16
|
//# sourceMappingURL=react-material.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgDpB"}
|
|
@@ -4,7 +4,7 @@ import { DoubleSide, SRGBColorSpace, TextureLoader } from "three";
|
|
|
4
4
|
import { shade } from "../shared.js";
|
|
5
5
|
const decreasedOpacity = 0.2;
|
|
6
6
|
export const ERROR_IMG_KEY = "error";
|
|
7
|
-
export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabled, materialStateImages, state, isText, }) {
|
|
7
|
+
export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }) {
|
|
8
8
|
const mat = !state || material.image?.type === "UrlImage"
|
|
9
9
|
? material
|
|
10
10
|
: state === "Accept"
|
|
@@ -26,7 +26,7 @@ export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabl
|
|
|
26
26
|
if (isText) {
|
|
27
27
|
return (React.createElement("meshBasicMaterial", { color: color, side: DoubleSide, transparent: true, ...(opacity < 1 ? { opacity } : materialDefaults) }));
|
|
28
28
|
}
|
|
29
|
-
return (React.createElement("meshStandardMaterial", { color: color, roughness: mat.roughness, metalness: mat.metalness, side: DoubleSide, ...(opacity < 1 || disabled
|
|
29
|
+
return (React.createElement("meshStandardMaterial", { color: color, roughness: mat.roughness, metalness: mat.metalness, side: DoubleSide, ...((opacity < 1 || disabled) && !isHotSpot
|
|
30
30
|
? { transparent: true, opacity: disabled ? opacity * decreasedOpacity : opacity }
|
|
31
31
|
: materialDefaults) }));
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAS,UAAU,EAAsB,cAAc,EAAW,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtG,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAG7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAE,GAAG,EAAE,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-3d",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "Abstract 3D",
|
|
5
5
|
"author": "Divid AB <info@divid.se>",
|
|
6
6
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"@types/three": "^0.174.0",
|
|
34
34
|
"react": "^19.0.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "53e00dae8439d6ac79f732ae246adb97d6e8c1e3"
|
|
37
37
|
}
|
|
@@ -31,20 +31,6 @@ export type ControlsHelper = (Viewcube | Viewport) & { readonly props: Pick<Gizm
|
|
|
31
31
|
type Viewcube = { readonly type: "Viewcube"; readonly viewcubeProps: GenericProps };
|
|
32
32
|
type Viewport = { readonly type: "Viewport"; readonly viewportProps: GizmoViewportProps };
|
|
33
33
|
|
|
34
|
-
const ControlsWrapper = (
|
|
35
|
-
props: OrbitControlsProps & { readonly setControls: (r: React.MutableRefObject<any>) => void }
|
|
36
|
-
): React.JSX.Element => {
|
|
37
|
-
const ref = useRef<any>(undefined!);
|
|
38
|
-
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (!ref.current) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
props.setControls(ref.current);
|
|
44
|
-
}, [ref.current]);
|
|
45
|
-
return <OrbitControls {...props} makeDefault ref={ref} />;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
34
|
export function ReactCamera({
|
|
49
35
|
useAnimations,
|
|
50
36
|
camera,
|
|
@@ -198,6 +184,20 @@ export function ReactCamera({
|
|
|
198
184
|
);
|
|
199
185
|
}
|
|
200
186
|
|
|
187
|
+
const ControlsWrapper = (
|
|
188
|
+
props: OrbitControlsProps & { readonly setControls: (r: React.MutableRefObject<any>) => void }
|
|
189
|
+
): React.JSX.Element => {
|
|
190
|
+
const ref = useRef<any>(undefined!);
|
|
191
|
+
|
|
192
|
+
useLayoutEffect(() => {
|
|
193
|
+
if (!ref.current) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
props.setControls(ref.current);
|
|
197
|
+
}, [ref.current]);
|
|
198
|
+
return <OrbitControls {...props} makeDefault ref={ref} />;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
201
|
type GizmoViewportProps = React.JSX.IntrinsicElements["group"] & {
|
|
202
202
|
readonly axisColors?: readonly [string, string, string];
|
|
203
203
|
readonly axisScale?: readonly [number, number, number];
|
|
@@ -100,7 +100,7 @@ export function ReactHotSpot({
|
|
|
100
100
|
})}
|
|
101
101
|
>
|
|
102
102
|
<ReactMesh mesh={h.mesh}>
|
|
103
|
-
<ReactMaterial id={h.id} isText={false} material={h.mesh.material} hoveredId={hoveredId} />
|
|
103
|
+
<ReactMaterial id={h.id} isText={false} isHotSpot={true} material={h.mesh.material} hoveredId={hoveredId} />
|
|
104
104
|
</ReactMesh>
|
|
105
105
|
</group>
|
|
106
106
|
{hotSpotTexts && text && (
|
|
@@ -18,6 +18,7 @@ export function ReactMaterial({
|
|
|
18
18
|
materialStateImages,
|
|
19
19
|
state,
|
|
20
20
|
isText,
|
|
21
|
+
isHotSpot,
|
|
21
22
|
}: {
|
|
22
23
|
readonly material: Material;
|
|
23
24
|
readonly id?: string;
|
|
@@ -27,6 +28,7 @@ export function ReactMaterial({
|
|
|
27
28
|
readonly materialStateImages?: Record<string, string>;
|
|
28
29
|
readonly state?: MaterialState | undefined;
|
|
29
30
|
readonly isText: boolean;
|
|
31
|
+
readonly isHotSpot?: boolean;
|
|
30
32
|
}): React.JSX.Element {
|
|
31
33
|
const mat =
|
|
32
34
|
!state || material.image?.type === "UrlImage"
|
|
@@ -70,7 +72,7 @@ export function ReactMaterial({
|
|
|
70
72
|
roughness={mat.roughness}
|
|
71
73
|
metalness={mat.metalness}
|
|
72
74
|
side={DoubleSide}
|
|
73
|
-
{...(opacity < 1 || disabled
|
|
75
|
+
{...((opacity < 1 || disabled) && !isHotSpot
|
|
74
76
|
? { transparent: true, opacity: disabled ? opacity * decreasedOpacity : opacity }
|
|
75
77
|
: materialDefaults)}
|
|
76
78
|
/>
|