@roomle/web-sdk 3.9.0-alpha.1 → 3.9.0-alpha.2
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/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-BqjC9LhS.mjs → GLTFExporter-yfYOtLdk.mjs} +2 -2
- package/lib/{GLTFExporter-BqjC9LhS.mjs.map → GLTFExporter-yfYOtLdk.mjs.map} +1 -1
- package/lib/RoomleCore.js +3 -3
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{USDZExporter-qUD2VgwK.mjs → USDZExporter-DFJQYX8l.mjs} +2 -2
- package/lib/{USDZExporter-qUD2VgwK.mjs.map → USDZExporter-DFJQYX8l.mjs.map} +1 -1
- package/lib/{api-ByHTYrQ_.mjs → api-s0Yey2rD.mjs} +12 -12
- package/lib/api-s0Yey2rD.mjs.map +1 -0
- package/lib/asset-loader.worker-A7nEeQB4.mjs.map +1 -1
- package/lib/{banana-for-scale-DiBCpVNM.mjs → banana-for-scale-CFY_5rk1.mjs} +4 -4
- package/lib/{banana-for-scale-DiBCpVNM.mjs.map → banana-for-scale-CFY_5rk1.mjs.map} +1 -1
- package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
- package/lib/{common-utils-AB4Lnet3.mjs → common-utils-L3DF6Ey5.mjs} +2 -2
- package/lib/{common-utils-AB4Lnet3.mjs.map → common-utils-L3DF6Ey5.mjs.map} +1 -1
- package/lib/{component-dimensioning-LUnZnpqG.mjs → component-dimensioning-DmcHgmpq.mjs} +44 -38
- package/lib/component-dimensioning-DmcHgmpq.mjs.map +1 -0
- package/lib/{component-raycast-helper-Bl0mWPcj.mjs → component-raycast-helper-cJxdYLXm.mjs} +28 -28
- package/lib/{component-raycast-helper-Bl0mWPcj.mjs.map → component-raycast-helper-cJxdYLXm.mjs.map} +1 -1
- package/lib/configurator-CC0uDa2i.mjs +2 -0
- package/lib/configurator-CxsFgHxg.mjs +45 -0
- package/lib/{configurator-Cf6J4eOF.mjs.map → configurator-CxsFgHxg.mjs.map} +1 -1
- package/lib/{continuous-drawing-helper-BlRy7u2t.mjs → continuous-drawing-helper-DEmx54k_.mjs} +3 -3
- package/lib/{continuous-drawing-helper-BlRy7u2t.mjs.map → continuous-drawing-helper-DEmx54k_.mjs.map} +1 -1
- package/lib/{decorate-Bck1_lG8.mjs → decorate-C9r0zXzz.mjs} +1 -1
- package/lib/{decorate-Bck1_lG8.mjs.map → decorate-C9r0zXzz.mjs.map} +1 -1
- package/lib/{dimensioning-helper-vPhGfHd-.mjs → dimensioning-helper-BXD6AEqL.mjs} +28 -21
- package/lib/dimensioning-helper-BXD6AEqL.mjs.map +1 -0
- package/lib/dimensioning-helper-Do9jwg8T.mjs +2 -0
- package/lib/glb-viewer-DyHnMYi0.mjs +2 -0
- package/lib/{glb-viewer-B95ZWAO-.mjs → glb-viewer-I86nXb0A.mjs} +69 -69
- package/lib/{glb-viewer-B95ZWAO-.mjs.map → glb-viewer-I86nXb0A.mjs.map} +1 -1
- package/lib/{highlight-coordinator-DeB46jQq.mjs → highlight-coordinator-DvgAfvb2.mjs} +3 -3
- package/lib/{highlight-coordinator-DeB46jQq.mjs.map → highlight-coordinator-DvgAfvb2.mjs.map} +1 -1
- package/lib/{homag-intelligence-ByOCaAFW.mjs → homag-intelligence-Bt--x6_f.mjs} +17 -7
- package/lib/homag-intelligence-Bt--x6_f.mjs.map +1 -0
- package/lib/{imos-ix-poc-export-helper-Vyv-uuNs.mjs → imos-ix-poc-export-helper-C9wPB6fl.mjs} +3 -3
- package/lib/{imos-ix-poc-export-helper-Vyv-uuNs.mjs.map → imos-ix-poc-export-helper-C9wPB6fl.mjs.map} +1 -1
- package/lib/kernel-C7YDLxq8.mjs.map +1 -1
- package/lib/{kernel-utils-BG1uqfT_.mjs → kernel-utils-B5QlsCwn.mjs} +15 -7
- package/lib/kernel-utils-B5QlsCwn.mjs.map +1 -0
- package/lib/{layer-BfckfWZz.mjs → layer-C_JtkhdO.mjs} +1 -1
- package/lib/{layer-BfckfWZz.mjs.map → layer-C_JtkhdO.mjs.map} +1 -1
- package/lib/{main-TlUQxOeW.mjs → main-DeOPstVA.mjs} +36481 -3268
- package/lib/main-DeOPstVA.mjs.map +1 -0
- package/lib/{material-viewer-37JiZSuS.mjs → material-viewer-D8Qdq6-m.mjs} +55 -55
- package/lib/material-viewer-D8Qdq6-m.mjs.map +1 -0
- package/lib/packages-eckwotTn.mjs +4 -0
- package/lib/{planner-DBhjeG6D.mjs → planner-BWZr-Th2.mjs} +14 -14
- package/lib/{planner-DBhjeG6D.mjs.map → planner-BWZr-Th2.mjs.map} +1 -1
- package/lib/planner-D3jvWraY.mjs +2 -0
- package/lib/{plugin-system-BEZnFUyT.mjs → plugin-system-BBgoIai2.mjs} +3 -3
- package/lib/{plugin-system-BEZnFUyT.mjs.map → plugin-system-BBgoIai2.mjs.map} +1 -1
- package/lib/roomle-headless-setup-CMK-quZI.mjs.map +1 -1
- package/lib/roomle-headless.d.ts +212 -32
- package/lib/roomle-headless.js +42 -41
- package/lib/roomle-headless.js.map +1 -1
- package/lib/{roomle-renderer-BgT28pfp.mjs → roomle-renderer-CkSFbpmg.mjs} +2 -2
- package/lib/{roomle-renderer-BgT28pfp.mjs.map → roomle-renderer-CkSFbpmg.mjs.map} +1 -1
- package/lib/roomle-sdk.d.ts +212 -32
- package/lib/roomle-sdk.js +8 -7
- package/lib/{roomle-webgpu-renderer-CdD3cYxN.mjs → roomle-webgpu-renderer-Cs4eLEwf.mjs} +426 -393
- package/lib/roomle-webgpu-renderer-Cs4eLEwf.mjs.map +1 -0
- package/lib/{scene-renderer-Bdl7umAf.mjs → scene-renderer-4zk6BXsR.mjs} +228 -228
- package/lib/{scene-renderer-Bdl7umAf.mjs.map → scene-renderer-4zk6BXsR.mjs.map} +1 -1
- package/lib/{script-loader-D3Cbc5BY.mjs → script-loader-DSL6zJat.mjs} +9 -9
- package/lib/{script-loader-D3Cbc5BY.mjs.map → script-loader-DSL6zJat.mjs.map} +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +7 -3
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js +2 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +35 -2
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +12 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +3 -3
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/{stats-helper-BvDfWWfq.mjs → stats-helper-DyRFKnMs.mjs} +3 -3
- package/lib/{stats-helper-BvDfWWfq.mjs.map → stats-helper-DyRFKnMs.mjs.map} +1 -1
- package/lib/{three.core-K1JzUaep.mjs → three.core-DNErG1F6.mjs} +1 -1
- package/lib/{three.core-K1JzUaep.mjs.map → three.core-DNErG1F6.mjs.map} +1 -1
- package/lib/{three.module-Q2K9uyhi.mjs → three.module-BZkESKo3.mjs} +2 -2
- package/lib/{three.module-Q2K9uyhi.mjs.map → three.module-BZkESKo3.mjs.map} +1 -1
- package/lib/{three.webgpu-7v7o6Pxs.mjs → three.webgpu-C8myBXe1.mjs} +2 -2
- package/lib/{three.webgpu-7v7o6Pxs.mjs.map → three.webgpu-C8myBXe1.mjs.map} +1 -1
- package/lib/three.webgpu-WIkDzwXU.mjs +3 -0
- package/lib/{threejs-utils-BzXU2M3w.mjs → threejs-utils-fEhH05zP.mjs} +103 -87
- package/lib/threejs-utils-fEhH05zP.mjs.map +1 -0
- package/lib/{tools-core-CUTTHUku.mjs → tools-core-Bf4_WCg8.mjs} +5 -5
- package/lib/{tools-core-CUTTHUku.mjs.map → tools-core-Bf4_WCg8.mjs.map} +1 -1
- package/package.json +5 -2
- package/lib/api-ByHTYrQ_.mjs.map +0 -1
- package/lib/component-dimensioning-LUnZnpqG.mjs.map +0 -1
- package/lib/configurator-Cf6J4eOF.mjs +0 -45
- package/lib/configurator-D5FuWg5f.mjs +0 -2
- package/lib/dimensioning-helper-5xsc6I7Y.mjs +0 -2
- package/lib/dimensioning-helper-vPhGfHd-.mjs.map +0 -1
- package/lib/glb-viewer-C-IBj6p6.mjs +0 -2
- package/lib/homag-intelligence-ByOCaAFW.mjs.map +0 -1
- package/lib/kernel-utils-BG1uqfT_.mjs.map +0 -1
- package/lib/main-TlUQxOeW.mjs.map +0 -1
- package/lib/material-viewer-37JiZSuS.mjs.map +0 -1
- package/lib/packages-BPyzoYeC.mjs +0 -4
- package/lib/planner-BBUr8xHt.mjs +0 -2
- package/lib/roomle-webgpu-renderer-CdD3cYxN.mjs.map +0 -1
- package/lib/three.webgpu-ChguPx4k.mjs +0 -3
- package/lib/threejs-utils-BzXU2M3w.mjs.map +0 -1
|
@@ -1,58 +1,74 @@
|
|
|
1
|
-
import { B as e, C as t, In as n, Vr as r, Wn as i, cn as a, d as o, gn as s, hn as c, jr as l, oi as u, on as d, sn as f, ut as p, xi as m, zr as h } from "./three.core-
|
|
2
|
-
import { r as g } from "./three.module-
|
|
3
|
-
import { a as _ } from "./kernel-utils-
|
|
4
|
-
import { V as v, b as y } from "./common-utils-
|
|
5
|
-
//#region packages/
|
|
6
|
-
var
|
|
7
|
-
|
|
1
|
+
import { B as e, C as t, In as n, Vr as r, Wn as i, cn as a, d as o, gn as s, hn as c, jr as l, oi as u, on as d, sn as f, ut as p, xi as m, zr as h } from "./three.core-DNErG1F6.mjs";
|
|
2
|
+
import { r as g } from "./three.module-BZkESKo3.mjs";
|
|
3
|
+
import { a as _ } from "./kernel-utils-B5QlsCwn.mjs";
|
|
4
|
+
import { V as v, b as y } from "./common-utils-L3DF6Ey5.mjs";
|
|
5
|
+
//#region packages/typings/planner.ts
|
|
6
|
+
var ee = {
|
|
7
|
+
CONFIGURATOR: 0,
|
|
8
|
+
PLANNER: 1
|
|
9
|
+
}, te = {
|
|
10
|
+
FLOOR: 0,
|
|
11
|
+
ROOM: 1
|
|
12
|
+
}, ne = {
|
|
13
|
+
NONE: 0,
|
|
14
|
+
WALL_SNAP_LEVEL: 1,
|
|
15
|
+
WALL_SNAP_LEVEL_SNAPPED: 2,
|
|
16
|
+
WALL_EDGE: 3,
|
|
17
|
+
DOCKING_VECTOR: 4,
|
|
18
|
+
OBJECT_CONTOUR: 5
|
|
19
|
+
}, re = {
|
|
20
|
+
DEFAULT: 0,
|
|
21
|
+
DOCKING: 1,
|
|
22
|
+
COLLISION: 2
|
|
23
|
+
}, b = /* @__PURE__ */ function(e) {
|
|
24
|
+
return e[e.StandAloneWall = 0] = "StandAloneWall", e[e.OuterWallLeft = 1] = "OuterWallLeft", e[e.OuterWallRight = 2] = "OuterWallRight", e[e.InnerWall = 3] = "InnerWall", e;
|
|
25
|
+
}({}), ie = {
|
|
26
|
+
DEFAULT: 0,
|
|
27
|
+
TERRAIN: 1
|
|
28
|
+
}, ae = {
|
|
29
|
+
WALL: 0,
|
|
30
|
+
EDGE: 1,
|
|
31
|
+
CONSTRUCTION: 2
|
|
32
|
+
}, oe = {
|
|
33
|
+
OBJECT: 0,
|
|
34
|
+
DOOR: 1,
|
|
35
|
+
WINDOW: 2,
|
|
36
|
+
CONSTRUCTION: 3,
|
|
37
|
+
UNKNOWN: 4
|
|
8
38
|
}, x = function(e) {
|
|
39
|
+
return Math.PI / 180 * e;
|
|
40
|
+
}, S = function(e) {
|
|
9
41
|
return 180 / Math.PI * e;
|
|
10
|
-
},
|
|
42
|
+
}, se = function(e) {
|
|
11
43
|
return e >= 0 ? -180 + (e + 180) % 360 : 180 - (-e + 180) % 360;
|
|
12
|
-
},
|
|
44
|
+
}, ce = function(e, t, n, r, i, a) {
|
|
13
45
|
e = Math.sqrt(e * e + n * n);
|
|
14
|
-
let o = i / a || 1, s = 2 * Math.atan(Math.tan(r * Math.PI / 180 / 2) * o) * 180 / Math.PI, c =
|
|
46
|
+
let o = i / a || 1, s = 2 * Math.atan(Math.tan(r * Math.PI / 180 / 2) * o) * 180 / Math.PI, c = x(r), l = t / 2 / Math.tan(c / 2), u = e / (2 * Math.atan(Math.PI * s / 360));
|
|
15
47
|
return Math.max(l, u);
|
|
16
|
-
},
|
|
48
|
+
}, C = function(e) {
|
|
17
49
|
return Math.round(e * 1e3) / 1e3;
|
|
18
|
-
},
|
|
50
|
+
}, le = function(e, t) {
|
|
19
51
|
return Math.abs(e.y - t.y) + Math.abs(e.x - t.x);
|
|
20
|
-
},
|
|
52
|
+
}, ue = function(e, t) {
|
|
21
53
|
return Math.atan2(t.y - e.y, t.x - e.x);
|
|
22
|
-
},
|
|
23
|
-
let t =
|
|
54
|
+
}, de = function(e) {
|
|
55
|
+
let t = S(e);
|
|
24
56
|
return t < 0 && (t = 180 + (180 + t)), t;
|
|
25
|
-
},
|
|
57
|
+
}, w = /* @__PURE__ */ function(e) {
|
|
26
58
|
return e[e.NODE = 0] = "NODE", e[e.WALL = 1] = "WALL", e[e.OBJECT = 2] = "OBJECT", e[e.FLOOR = 3] = "FLOOR", e[e.TEXT = 4] = "TEXT", e[e.MEASURE = 5] = "MEASURE", e[e.IMAGE = 6] = "IMAGE", e[e.CEILING = 7] = "CEILING", e;
|
|
27
|
-
}({}),
|
|
59
|
+
}({}), fe = {
|
|
28
60
|
LEFT: 0,
|
|
29
61
|
RIGHT: 1,
|
|
30
62
|
MIDDLE: 2
|
|
31
|
-
},
|
|
63
|
+
}, pe = /* @__PURE__ */ function(e) {
|
|
32
64
|
return e[e.None = 0] = "None", e[e.CatalogItem = 1] = "CatalogItem", e[e.Material = 2] = "Material", e[e.RgbValue = 3] = "RgbValue", e;
|
|
33
|
-
}({}),
|
|
65
|
+
}({}), me = /* @__PURE__ */ function(e) {
|
|
34
66
|
return e[e.CONTINOUS = 0] = "CONTINOUS", e[e.CLICK_PER_CLICK = 1] = "CLICK_PER_CLICK", e;
|
|
35
|
-
}({}),
|
|
67
|
+
}({}), he = {
|
|
36
68
|
WALL: 0,
|
|
37
69
|
ROOM_CONTOUR: 1,
|
|
38
70
|
CONTOUR: 2
|
|
39
|
-
},
|
|
40
|
-
CONFIGURATOR: 0,
|
|
41
|
-
PLANNER: 1
|
|
42
|
-
}, ue = {
|
|
43
|
-
NONE: 0,
|
|
44
|
-
WALL_SNAP_LEVEL: 1,
|
|
45
|
-
WALL_SNAP_LEVEL_SNAPPED: 2,
|
|
46
|
-
WALL_EDGE: 3,
|
|
47
|
-
DOCKING_VECTOR: 4,
|
|
48
|
-
OBJECT_CONTOUR: 5
|
|
49
|
-
}, de = {
|
|
50
|
-
DEFAULT: 0,
|
|
51
|
-
DOCKING: 1,
|
|
52
|
-
COLLISION: 2
|
|
53
|
-
}, w = /* @__PURE__ */ function(e) {
|
|
54
|
-
return e[e.StandAloneWall = 0] = "StandAloneWall", e[e.OuterWallLeft = 1] = "OuterWallLeft", e[e.OuterWallRight = 2] = "OuterWallRight", e[e.InnerWall = 3] = "InnerWall", e;
|
|
55
|
-
}({}), T = class {
|
|
71
|
+
}, T = class {
|
|
56
72
|
static createMeshPhysicalMaterial(e) {
|
|
57
73
|
return new c(e);
|
|
58
74
|
}
|
|
@@ -432,22 +448,22 @@ var P = null;
|
|
|
432
448
|
globalThis.window !== void 0 && import("./dat.gui.module-CZ-DIWHM.mjs").then((e) => {
|
|
433
449
|
P = e.GUI;
|
|
434
450
|
}).catch(() => {});
|
|
435
|
-
var
|
|
451
|
+
var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be = .9, xe = (e) => e instanceof g ? e.capabilities.maxSamples : 16, Se = (e) => e instanceof g ? e.capabilities.maxTextures : 16, Ce = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, we = (e, t, n, r) => {
|
|
436
452
|
if (!e || !t || n === 0 || r === 0) return new m();
|
|
437
453
|
let i = e.clone(), a = n / 2, o = r / 2;
|
|
438
454
|
return i.project(t), i.x = Math.floor(i.x * a + a), i.y = Math.floor(-(i.y * o) + o), i.z = e.distanceTo(t.position), i;
|
|
439
|
-
},
|
|
455
|
+
}, Te = (e, t) => {
|
|
440
456
|
t ||= new m(0, 0, 0);
|
|
441
457
|
let n = new m(e.size.x / 1e3, e.size.z / 1e3, e.size.y / 1e3), r = new m(e.origin.x / 1e3, e.origin.z / 1e3, e.origin.y / -1e3);
|
|
442
458
|
return new o(new m(0, 0, -n.z).add(r).sub(t), new m(n.x, n.y, 0).add(r).add(t));
|
|
443
|
-
},
|
|
444
|
-
let n =
|
|
459
|
+
}, Ee = (e) => (e.from /= 1e3, e.to /= 1e3, e), De = (e, t) => {
|
|
460
|
+
let n = C(e.x), r = C(e.y), i = C(e.z), a = C(t.x), o = C(t.y), s = C(t.z);
|
|
445
461
|
return n === a && r === o && i === s;
|
|
446
|
-
},
|
|
447
|
-
let n =
|
|
462
|
+
}, Oe = (e, t) => {
|
|
463
|
+
let n = C(e.w), r = C(e.x), i = C(e.y), a = C(e.z), o = C(t.w), s = C(t.x), c = C(t.y), l = C(t.z);
|
|
448
464
|
return n === o && r === s && i === c && a === l;
|
|
449
|
-
},
|
|
450
|
-
let n =
|
|
465
|
+
}, ke = (e, t) => {
|
|
466
|
+
let n = C(e.x), r = C(e.y), i = C(t.x), a = C(t.y);
|
|
451
467
|
return n === i && r === a;
|
|
452
468
|
}, L = null, R = () => {
|
|
453
469
|
if (L) return L;
|
|
@@ -458,18 +474,18 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
458
474
|
}
|
|
459
475
|
let n = new e(t, 1, 1, i);
|
|
460
476
|
return n.needsUpdate = !0, n;
|
|
461
|
-
},
|
|
462
|
-
e ||=
|
|
477
|
+
}, Ae = (e) => z(null, e), z = (e, t) => {
|
|
478
|
+
e ||= Ne(), e.name = t.id ? t.id.toString() : "";
|
|
463
479
|
let n = t.shading.version === "2" || t.shading.version?.startsWith("2.");
|
|
464
|
-
return e = n ?
|
|
465
|
-
},
|
|
480
|
+
return e = n ? Me(e, t) : je(e, t), e.userData.materialVersion = n ? 2 : 1, e.map || (L ||= R(), e.map = L), e;
|
|
481
|
+
}, je = (e, t) => {
|
|
466
482
|
t.shading.metallic !== void 0 && (e.metalness = t.shading.metallic === 1 ? 1 : .5, e.reflectivity = y(t.shading.metallic, .5));
|
|
467
483
|
let n = !1;
|
|
468
484
|
return t.shading.transmission && t.shading.transmission > 0 ? (e.opacity = 1 - t.shading.transmission, e.transparent = !0, e.depthWrite = !1, e.metalness = 0, n = !0) : t.shading.alpha !== void 0 && t.shading.alpha < 1 && (e.transparent = t.shading.alpha < 1, e.opacity = t.shading.alpha, e.depthWrite = t.shading.alpha >= 1, e.metalness = .5 * Math.max(0, t.shading.alpha), n = !0), e.aoMapIntensity = y(t.shading.occlusion, 1), e.roughness = y(t.shading.roughness, .5), e.alphaTest = y(t.shading.alphaCutoff, 0), B(e.color, t.shading.basecolor), n || t.shading.doubleSided ? e.side = 2 : e.side = 0, e;
|
|
469
|
-
},
|
|
485
|
+
}, Me = (e, t) => {
|
|
470
486
|
let n = !1;
|
|
471
|
-
return t.shading.alpha !== void 0 && t.shading.alpha < 1 ? (e.transparent = !0, e.opacity = t.shading.alpha, e.depthWrite = !1, n = !0) : (e.transparent = !1, e.opacity = 1, e.depthWrite = !0), e.alphaTest = t.shading.alphaCutoff ?? 0, B(e.color, t.shading.basecolor), e.transmission = t.shading.transmission ?? 0, e.ior = Math.max(1, Math.min(2.33, t.shading.transmissionIOR ?? 1.5)), e.metalness = t.shading.metallic ?? 0, B(e.specularColor, t.shading.specularColor), e.specularIntensity = t.shading.specularity ?? 1, e.roughness = t.shading.roughness ?? 0, e.aoMapIntensity = t.shading.occlusion ?? 1, B(e.emissive, t.shading.emissiveColor), e.emissiveIntensity = t.shading.emissiveIntensity ?? 1, e.clearcoat = t.shading.clearcoatIntensity ?? 0, e.clearcoatRoughness = t.shading.clearcoatRoughness ?? 0, e.clearcoatNormalScale.setScalar(t.shading.clearcoatNormalScale ?? 1), B(e.sheenColor, t.shading.sheenColor), e.sheen = t.shading.sheenIntensity ?? 1, e.sheenRoughness = t.shading.sheenRoughness ?? 1, e.thickness = t.shading.thicknessFactor ?? 0, B(e.attenuationColor, t.shading.attenuationColor), t.shading.attenuationDistance && (e.attenuationDistance = t.shading.attenuationDistance), e.side = n || t.shading.doubleSided ? 2 : 0, e;
|
|
472
|
-
},
|
|
487
|
+
return t.shading.alpha !== void 0 && t.shading.alpha < 1 ? (e.transparent = !0, e.opacity = t.shading.alpha, e.depthWrite = !1, n = !0) : (e.transparent = !1, e.opacity = 1, e.depthWrite = !0), e.alphaTest = t.shading.alphaCutoff ?? 0, B(e.color, t.shading.basecolor), e.transmission = t.shading.transmission ?? 0, e.ior = Math.max(1, Math.min(2.33, t.shading.transmissionIOR ?? 1.5)), e.metalness = t.shading.metallic ?? 0, B(e.specularColor, t.shading.specularColor), e.specularIntensity = t.shading.specularity ?? 1, e.roughness = t.shading.roughness ?? 0, e.aoMapIntensity = t.shading.occlusion ?? 1, B(e.emissive, t.shading.emissiveColor), e.emissiveIntensity = t.shading.emissiveIntensity ?? 1, e.clearcoat = t.shading.clearcoatIntensity ?? 0, e.clearcoatRoughness = t.shading.clearcoatRoughness ?? 0, e.clearcoatNormalScale.setScalar(t.shading.clearcoatNormalScale ?? 1), B(e.sheenColor, t.shading.sheenColor), e.sheen = t.shading.sheenIntensity ?? 1, e.sheenRoughness = t.shading.sheenRoughness ?? 1, e.thickness = t.shading.thicknessFactor ?? 0, B(e.attenuationColor, t.shading.attenuationColor), t.shading.attenuationDistance !== void 0 && t.shading.attenuationDistance !== null && (e.attenuationDistance = t.shading.attenuationDistance), e.side = n || t.shading.doubleSided ? 2 : 0, e;
|
|
488
|
+
}, Ne = () => T.createMeshPhysicalMaterial({}), Pe = (e, t = 1) => t === 2 ? Ie(e) : Fe(e), Fe = (e) => {
|
|
473
489
|
let t = {
|
|
474
490
|
alpha: e.opacity,
|
|
475
491
|
metallic: e.reflectivity,
|
|
@@ -480,7 +496,7 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
480
496
|
transmission: e.transmission
|
|
481
497
|
};
|
|
482
498
|
return e.metalness === 1 ? t.metallic = 1 : t.metallic = e.reflectivity, t;
|
|
483
|
-
},
|
|
499
|
+
}, Ie = (e) => ({
|
|
484
500
|
version: "2.0.0",
|
|
485
501
|
alpha: e.opacity,
|
|
486
502
|
alphaCutoff: e.alphaTest,
|
|
@@ -516,7 +532,7 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
516
532
|
g: t.g,
|
|
517
533
|
b: t.b
|
|
518
534
|
};
|
|
519
|
-
}, H = null,
|
|
535
|
+
}, H = null, Le = (e, t, n, r, i, a, o = 16) => {
|
|
520
536
|
H || (H = new u(), H.crossOrigin = "");
|
|
521
537
|
let s = H;
|
|
522
538
|
return new Promise((c, l) => {
|
|
@@ -543,10 +559,10 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
543
559
|
console.warn("ORM maps are not supported on devices with only " + s + " texture units");
|
|
544
560
|
return;
|
|
545
561
|
}
|
|
546
|
-
e.repeat.set(a, o),
|
|
547
|
-
},
|
|
562
|
+
e.repeat.set(a, o), Re(e, n, r), n.mapping === v.RGBA && (r.transparent = !0, r.userData.materialVersion === 1 && r.name.includes("glow") && (r.emissiveIntensity = .5, r.emissive = new t(16777215), r.emissiveMap = r.map)), r.needsUpdate = !0;
|
|
563
|
+
}, Re = (e, t, n) => {
|
|
548
564
|
t.mapping === v.XYZ ? (n.normalMap = e, n.map === R() && (n.map = null)) : t.mapping === v.ORM ? (n.aoMap = e, n.roughnessMap = e, n.metalnessMap = e) : t.mapping === v.EMRGB ? n.emissiveMap = e : t.mapping === v.CCRG ? (n.clearcoatMap = e, n.clearcoatRoughnessMap = e) : t.mapping === v.CCXYZ ? n.clearcoatNormalMap = e : t.mapping === v.SHRGBA ? (n.sheenColorMap = e, n.sheenRoughnessMap = e) : t.mapping === v.SPRGBA ? (n.specularColorMap = e, n.specularIntensityMap = e) : t.mapping === v.TTRG ? (n.transmissionMap = e, n.thicknessMap = e) : (e.colorSpace = h, n.map = e);
|
|
549
|
-
},
|
|
565
|
+
}, ze = (e = !0) => {
|
|
550
566
|
if (!window.__RML_WEBGL_GUI__) {
|
|
551
567
|
if (!P) return null;
|
|
552
568
|
try {
|
|
@@ -556,11 +572,11 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
556
572
|
}
|
|
557
573
|
}
|
|
558
574
|
return window.__RML_WEBGL_GUI__ ?? null;
|
|
559
|
-
},
|
|
575
|
+
}, Be = (e, t) => {
|
|
560
576
|
let n = !1;
|
|
561
577
|
for (let r of t) {
|
|
562
578
|
let t = r.getKernelObject(), i;
|
|
563
|
-
t.wallType.value ===
|
|
579
|
+
t.wallType.value === b.OuterWallRight && (i = _(t.rightNormal)), t.wallType.value === b.OuterWallLeft && (i = _(t.leftNormal));
|
|
564
580
|
let a = !0;
|
|
565
581
|
if (i) {
|
|
566
582
|
let t = _(r.getPlanElement().getCenter());
|
|
@@ -569,7 +585,7 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
569
585
|
a !== r.getContainer().visible && (n = !0), a ? r.setContainerVisibility(!0) : r.isSelected || r.setContainerVisibility(!1);
|
|
570
586
|
}
|
|
571
587
|
return n;
|
|
572
|
-
},
|
|
588
|
+
}, Ve = (e, t, n = !0) => {
|
|
573
589
|
if (!e.userData.tween) if (t) if (e.transparent = !0, !n) e.opacity = .2;
|
|
574
590
|
else {
|
|
575
591
|
let t = { opacity: 1 };
|
|
@@ -592,9 +608,9 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
592
608
|
}).start();
|
|
593
609
|
window.TWEEN?.add(n);
|
|
594
610
|
}
|
|
595
|
-
},
|
|
596
|
-
let o =
|
|
597
|
-
let n =
|
|
611
|
+
}, He = (e, t, n, r, i, a) => {
|
|
612
|
+
let o = Ue(n, r), s = i.clone().multiply(r).multiply(t), c = o.clone().invert(), l = c.clone().multiply(n), u = c.clone().multiply(r), d = { t: 0 }, f = new M(d).to({ t: 1 }, 400).easing(E.Quadratic.InOut).onUpdate(() => {
|
|
613
|
+
let n = We(l, u, d.t);
|
|
598
614
|
G(e, i.clone().multiply(o).multiply(n).multiply(t)), a && a();
|
|
599
615
|
}).onComplete(() => {
|
|
600
616
|
G(e, s), a && a(), window.TWEEN?.remove(f);
|
|
@@ -602,7 +618,7 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
602
618
|
window.TWEEN?.remove(f);
|
|
603
619
|
}).start();
|
|
604
620
|
return window.TWEEN?.add(f), f;
|
|
605
|
-
},
|
|
621
|
+
}, Ue = (e, t) => {
|
|
606
622
|
let r = e.clone().invert().clone().multiply(t), i = new m(), a = new n();
|
|
607
623
|
r.decompose(i, a, new m());
|
|
608
624
|
let o = W(a), s = o.axis;
|
|
@@ -619,13 +635,13 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
619
635
|
};
|
|
620
636
|
}, G = (e, t) => {
|
|
621
637
|
e.updateMatrix(), t.multiply(e.matrix.clone().invert()), e.applyMatrix4(t), e.updateMatrix();
|
|
622
|
-
},
|
|
638
|
+
}, We = (e, t, r) => {
|
|
623
639
|
let i = new m(), a = new n(), o = new m();
|
|
624
640
|
e.decompose(i, a, o);
|
|
625
641
|
let s = new m(), c = new n(), l = new m();
|
|
626
642
|
t.decompose(s, c, l);
|
|
627
643
|
let u = new m().lerpVectors(i, s, r), f = new n().slerpQuaternions(a, c, r), p = W(a.clone().conjugate().multiply(c));
|
|
628
|
-
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) >
|
|
644
|
+
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && i.length() > .001 && s.length() > .001) {
|
|
629
645
|
let e = i.clone().normalize().dot(s.clone().normalize());
|
|
630
646
|
if (Math.abs(e) < .999) {
|
|
631
647
|
let t = new m().crossVectors(i, s), a = new n().setFromAxisAngle(t.normalize(), Math.acos(e) * r), o = i.length() * r + s.length() * (1 - r);
|
|
@@ -634,12 +650,12 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
634
650
|
}
|
|
635
651
|
let h = new m().lerpVectors(o, l, r), g = new d();
|
|
636
652
|
return g.compose(u, f, h), g;
|
|
637
|
-
},
|
|
653
|
+
}, Ge = (e) => {
|
|
638
654
|
let n = new t();
|
|
639
655
|
return n.setRGB((e >> 16) / 255, (e >> 8 & 255) / 255, (e >> 0 & 255) / 255), n;
|
|
640
656
|
}, K = (e, t) => {
|
|
641
657
|
t.transparent || (e.transparent = t.transparent, delete e.userData.postProcessingMaterialPlugin), e.opacity = t.opacity, e.needsUpdate = !0;
|
|
642
|
-
},
|
|
658
|
+
}, Ke = (e, t) => new Promise((n) => {
|
|
643
659
|
e.traverse((e) => {
|
|
644
660
|
if (e instanceof f) {
|
|
645
661
|
let r = e.material;
|
|
@@ -656,7 +672,7 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
656
672
|
}).start());
|
|
657
673
|
}
|
|
658
674
|
});
|
|
659
|
-
}),
|
|
675
|
+
}), qe = (e) => {
|
|
660
676
|
e.traverse((e) => {
|
|
661
677
|
if (e instanceof f) {
|
|
662
678
|
let t = e.material;
|
|
@@ -677,10 +693,10 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
677
693
|
window.TWEEN?.add(i);
|
|
678
694
|
}
|
|
679
695
|
});
|
|
680
|
-
},
|
|
696
|
+
}, Je = (e, t) => {
|
|
681
697
|
let n = new o().setFromObject(e), r = n.getSize(new m()), i = Math.min(r.x, r.y, r.z), a = !0;
|
|
682
698
|
return i > 5 && (console.warn("GLB seems to be too big (" + i + ")", t), a = !1), n.min.y < -.01 && (console.warn("GLB seems to be under the floor (" + n.min.y + "): ", t), a = !1), a;
|
|
683
|
-
},
|
|
699
|
+
}, Ye = (e) => {
|
|
684
700
|
e.type === "Mesh" ? J(e) : q(e);
|
|
685
701
|
}, q = (e) => {
|
|
686
702
|
!e || !e.children || e.children.length === 0 || e.children.forEach((e) => {
|
|
@@ -708,35 +724,35 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
708
724
|
e && e.dispose();
|
|
709
725
|
}, X = (e) => {
|
|
710
726
|
e && (e.map && e.map.dispose(), e.normalMap && e.normalMap.dispose(), e.dispose());
|
|
711
|
-
}, Z,
|
|
727
|
+
}, Z, Xe = () => (Z || (Z = new a(), Z.visible = !1), Z), Q, Ze = (e) => (Q ||= T.createMeshStandardMaterial({
|
|
712
728
|
color: e || "#FF0000",
|
|
713
729
|
transparent: !0,
|
|
714
730
|
opacity: .5,
|
|
715
731
|
visible: !0,
|
|
716
732
|
polygonOffset: !0,
|
|
717
733
|
polygonOffsetFactor: -1
|
|
718
|
-
}), Q),
|
|
734
|
+
}), Q), $ = (e) => e.x === 0 && e.y === 0 && e.z === 0, Qe = (e, t) => {
|
|
719
735
|
let n = "";
|
|
720
|
-
return !e && e !== "" ? null : (e.materialId && e.materialId !== "" ? n = e.materialId : e.catalogItemId && e.catalogItemId !== "" ? n = e.catalogItemId : e.rgbValue > 0 ? n = "rgb" + JSON.stringify(e.rgbValue) : e.length > 0 ? n = e : t && t.value ===
|
|
721
|
-
},
|
|
736
|
+
return !e && e !== "" ? null : (e.materialId && e.materialId !== "" ? n = e.materialId : e.catalogItemId && e.catalogItemId !== "" ? n = e.catalogItemId : e.rgbValue > 0 ? n = "rgb" + JSON.stringify(e.rgbValue) : e.length > 0 ? n = e : t && t.value === w.WALL ? n = "default_wall_material_" + e.getSourceType().value : t && t.value === w.CEILING && (n = "default_ceiling_material_" + e.getSourceType().value), n);
|
|
737
|
+
}, $e = (e) => {
|
|
722
738
|
let t = e.getWorldDirection(new m()).clone();
|
|
723
739
|
t.y = 0, t.lengthSq() < .01 && (t = new m(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
|
|
724
740
|
let n = Math.asin(t.x);
|
|
725
741
|
return t.z < 0 && (n = Math.PI - n), n < 0 && (n += Math.PI * 2), n;
|
|
726
|
-
},
|
|
742
|
+
}, et = (e, t) => {
|
|
727
743
|
if (!e || !t) return 0;
|
|
728
744
|
let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
|
|
729
745
|
return r && n || !r && !n ? 0 : n === !0 ? 1 : -1;
|
|
730
|
-
},
|
|
746
|
+
}, tt = (e, t) => {
|
|
731
747
|
if (!e || !t) return 0;
|
|
732
748
|
let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
|
|
733
749
|
if (r && n) return 0;
|
|
734
750
|
if (!r && !n) {
|
|
735
|
-
let n =
|
|
751
|
+
let n = nt(e, t);
|
|
736
752
|
return n === .5 ? 0 : n > .5 ? -1 : 1;
|
|
737
753
|
}
|
|
738
754
|
return n === !0 ? 1 : -1;
|
|
739
|
-
},
|
|
755
|
+
}, nt = (e, t) => {
|
|
740
756
|
let n = new o();
|
|
741
757
|
if (n.copy(e).intersect(t), n.isEmpty()) return 0;
|
|
742
758
|
let r = (e) => {
|
|
@@ -744,34 +760,34 @@ var fe = .4, pe = "#DDDDDD", me = .4, he = "#7B7B7B", ge = "#B1B1B1", _e = .8, F
|
|
|
744
760
|
return e.getSize(t), t.x * t.y * t.z;
|
|
745
761
|
}, i = r(e), a = r(n);
|
|
746
762
|
return i === 0 ? 0 : a / i;
|
|
747
|
-
},
|
|
763
|
+
}, rt = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, it = (e, t, n, r = 1) => {
|
|
748
764
|
let i = t > n, a = i ? 15 : 0, s = i ? 0 : 10, c = e.getSize(new m()), l = e.getCenter(new m()), u = c.x > 2 * a ? c.x / 2 : a, d = c.z > 2 * s ? c.z / 2 : s;
|
|
749
765
|
return u *= r, d *= r, new o(new m(l.x - u, l.y, l.z - d), new m(l.x + u, l.y, l.z + d));
|
|
750
|
-
},
|
|
766
|
+
}, at = (e) => {
|
|
751
767
|
let { x: t, y: n } = e;
|
|
752
768
|
return {
|
|
753
769
|
x: t,
|
|
754
770
|
y: n
|
|
755
771
|
};
|
|
756
|
-
},
|
|
772
|
+
}, ot = (e) => {
|
|
757
773
|
let { x: t, y: n, z: r } = e;
|
|
758
774
|
return {
|
|
759
775
|
x: t,
|
|
760
776
|
y: n,
|
|
761
777
|
z: r
|
|
762
778
|
};
|
|
763
|
-
},
|
|
779
|
+
}, st = (e, t, n) => new m().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), ct = (e) => {
|
|
764
780
|
let t = new r();
|
|
765
781
|
return e.environment && (t.environment = e.environment.clone()), e.userData.environmentDefinition && (t.userData.environmentDefinition = e.userData.environmentDefinition.clone()), t.userData.shadowFromEnvironment = e.userData.shadowFromEnvironment, t;
|
|
766
|
-
},
|
|
782
|
+
}, lt = (e, t) => {
|
|
767
783
|
let n = new p(), r = new d().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
|
|
768
784
|
n.setFromProjectionMatrix(r);
|
|
769
785
|
let i = t.getCenter(new m());
|
|
770
786
|
return n.containsPoint(i);
|
|
771
|
-
},
|
|
787
|
+
}, ut = (e) => {
|
|
772
788
|
e.lights_fragment_begin = "\n vec3 geometryPosition = - vViewPosition;\n vec3 geometryNormal = normal;\n vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n vec3 geometryClearcoatNormal = vec3( 0.0 );\n #ifdef USE_CLEARCOAT\n geometryClearcoatNormal = clearcoatNormal;\n #endif\n\n // OPTIMIZATION: Early exit for transparent/invisible materials\n #ifdef USE_ALPHATEST\n if ( diffuseColor.a < alphaTest ) discard;\n #endif\n\n // OPTIMIZATION: Cache expensive calculations\n float NdotV = saturate( dot( geometryNormal, geometryViewDir ) );\n\n #ifdef USE_IRIDESCENCE\n float dotNVi = NdotV; // Reuse calculated value\n if ( material.iridescenceThickness == 0.0 ) {\n material.iridescence = 0.0;\n } else {\n material.iridescence = saturate( material.iridescence );\n }\n // OPTIMIZATION: Skip iridescence calculations if effect is minimal\n if ( material.iridescence > 0.01 ) {\n material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n }\n #endif\n\n IncidentLight directLight;\n\n // OPTIMIZATION: Early exit if material has no metalness or roughness variation\n #ifdef USE_ROUGHNESSMAP\n bool hasRoughnessVariation = true;\n #else\n bool hasRoughnessVariation = false;\n #endif\n\n #ifdef USE_METALNESSMAP\n bool hasMetalnessVariation = true;\n #else\n bool hasMetalnessVariation = false;\n #endif\n\n #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n PointLightShadow pointLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n pointLight = pointLights[ i ];\n getPointLightInfo( pointLight, geometryPosition, directLight );\n\n // OPTIMIZATION: Enhanced visibility and distance checks\n #if defined( RE_Direct )\n if ( directLight.visible ) {\n // OPTIMIZATION: Skip lights with negligible contribution based on color intensity\n float lightIntensity = dot( directLight.color, vec3( 0.299, 0.587, 0.114 ) );\n if ( lightIntensity > 0.001 ) {\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n }\n #endif\n }\n #pragma unroll_loop_end\n #endif\n\n #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n SpotLight spotLight;\n vec4 spotColor;\n vec3 spotLightCoord;\n bool inSpotLightMap;\n #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n SpotLightShadow spotLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n spotLight = spotLights[ i ];\n getSpotLightInfo( spotLight, geometryPosition, directLight );\n\n // OPTIMIZATION: Enhanced visibility checks for spot lights\n #if defined( RE_Direct )\n if ( directLight.visible ) {\n // OPTIMIZATION: Skip spot light map calculation if light contribution is minimal\n float lightIntensity = dot( directLight.color, vec3( 0.299, 0.587, 0.114 ) );\n if ( lightIntensity > 0.001 ) {\n #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n #else\n #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n #endif\n #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n if ( inSpotLightMap ) {\n spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n directLight.color = directLight.color * spotColor.rgb;\n }\n #endif\n #undef SPOT_LIGHT_MAP_INDEX\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n }\n #endif\n }\n #pragma unroll_loop_end\n #endif\n\n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n directionalLight = directionalLights[ i ];\n getDirectionalLightInfo( directionalLight, directLight );\n\n // OPTIMIZATION: Skip very dim directional lights\n #if defined( RE_Direct )\n float lightIntensity = dot( directLight.color, vec3( 0.299, 0.587, 0.114 ) );\n if ( directLight.visible && lightIntensity > 0.001 ) {\n #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #endif\n }\n #pragma unroll_loop_end\n #endif\n\n #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n RectAreaLight rectAreaLight;\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n rectAreaLight = rectAreaLights[ i ];\n // OPTIMIZATION: Simple rect area light processing - Three.js handles distance internally\n RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n }\n #pragma unroll_loop_end\n #endif\n\n // OPTIMIZATION: Streamlined indirect lighting with early exits\n #if defined( RE_IndirectDiffuse )\n vec3 iblIrradiance = vec3( 0.0 );\n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n // OPTIMIZATION: Skip light probe calculation if ambient is sufficient\n float ambientIntensity = dot( irradiance, vec3( 0.299, 0.587, 0.114 ) );\n\n #if defined( USE_LIGHT_PROBES )\n if ( ambientIntensity < 0.9 ) {\n irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n }\n #endif\n\n #if ( NUM_HEMI_LIGHTS > 0 )\n if ( ambientIntensity < 0.9 ) {\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n vec3 hemiContribution = getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n // OPTIMIZATION: Skip negligible hemisphere light contributions\n if ( dot( hemiContribution, vec3( 0.299, 0.587, 0.114 ) ) > 0.001 ) {\n irradiance += hemiContribution;\n }\n }\n #pragma unroll_loop_end\n }\n #endif\n #endif\n\n #if defined( RE_IndirectSpecular )\n vec3 radiance = vec3( 0.0 );\n vec3 clearcoatRadiance = vec3( 0.0 );\n #endif", e.lights_pars_begin = e.lights_pars_begin.replace("light.color = pointLight.color;", "\n light.color = pointLight.color * step( lightDistance, pointLight.distance );\n ");
|
|
773
789
|
};
|
|
774
790
|
//#endregion
|
|
775
|
-
export { M as $,
|
|
791
|
+
export { M as $, Se as A, ke as B, Ge as C, Pe as D, Qe as E, lt as F, Ve as G, Oe as H, rt as I, Ke as J, at as K, Te as L, ze as M, $e as N, Ce as O, Be as P, O as Q, Ee as R, tt as S, it as T, z as U, De as V, G as W, st as X, $ as Y, E as Z, X as _, te as _t, ve as a, fe as at, qe as b, U as c, ce as ct, Je as d, S as dt, T as et, et as f, x as ft, Y as g, oe as gt, Ye as h, ne as ht, I as i, w as it, we as j, xe as k, Le as l, se as lt, Ae as m, ie as mt, be as n, me as nt, ge as o, ue as ot, ct as p, ae as pt, ot as q, F as r, pe as rt, _e as s, le as st, ye as t, he as tt, He as u, de as ut, J as v, re as vt, Ze as w, Xe as x, q as y, ee as yt, ut as z };
|
|
776
792
|
|
|
777
|
-
//# sourceMappingURL=threejs-utils-
|
|
793
|
+
//# sourceMappingURL=threejs-utils-fEhH05zP.mjs.map
|