@roomle/web-sdk 3.9.0-alpha.4 → 3.9.0-alpha.6
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/{BufferGeometry-ltw0XkYt.mjs → BufferGeometry-Dxcf7n9V.mjs} +1 -1
- package/lib/{BufferGeometry-ltw0XkYt.mjs.map → BufferGeometry-Dxcf7n9V.mjs.map} +1 -1
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-yfYOtLdk.mjs → GLTFExporter-kpv1e-Ks.mjs} +84 -84
- package/lib/{GLTFExporter-yfYOtLdk.mjs.map → GLTFExporter-kpv1e-Ks.mjs.map} +1 -1
- package/lib/GaussianBlurNode-CMVlBe39.mjs +59 -0
- package/lib/GaussianBlurNode-CMVlBe39.mjs.map +1 -0
- package/lib/{PointLightHelper-AxCe6I00.mjs → PointLightHelper-fzRB58rC.mjs} +2 -2
- package/lib/{PointLightHelper-AxCe6I00.mjs.map → PointLightHelper-fzRB58rC.mjs.map} +1 -1
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{SpotLightHelper-DpMerFPv.mjs → SpotLightHelper-D5UFwRPb.mjs} +2 -2
- package/lib/{SpotLightHelper-DpMerFPv.mjs.map → SpotLightHelper-D5UFwRPb.mjs.map} +1 -1
- package/lib/{USDZExporter-DFJQYX8l.mjs → USDZExporter-Y0SSGr5_.mjs} +2 -2
- package/lib/{USDZExporter-DFJQYX8l.mjs.map → USDZExporter-Y0SSGr5_.mjs.map} +1 -1
- package/lib/{api-x84SYo8e.mjs → api-52cOotqw.mjs} +2 -2
- package/lib/{api-x84SYo8e.mjs.map → api-52cOotqw.mjs.map} +1 -1
- package/lib/{asset-loader.worker-A7nEeQB4.mjs → asset-loader.worker-C911tbNL.mjs} +1 -1
- package/lib/asset-loader.worker-C911tbNL.mjs.map +1 -0
- package/lib/{banana-for-scale-CFY_5rk1.mjs → banana-for-scale-B_LIHI9q.mjs} +3 -3
- package/lib/{banana-for-scale-CFY_5rk1.mjs.map → banana-for-scale-B_LIHI9q.mjs.map} +1 -1
- package/lib/{budgeteer.sw-CQWYbQSc.mjs → budgeteer.sw-D3VxiASa.mjs} +1 -1
- package/lib/budgeteer.sw-D3VxiASa.mjs.map +1 -0
- package/lib/{common-utils-L3DF6Ey5.mjs → common-utils-B9PC_rvS.mjs} +2 -2
- package/lib/{common-utils-L3DF6Ey5.mjs.map → common-utils-B9PC_rvS.mjs.map} +1 -1
- package/lib/{component-dimensioning-FjlPqIvQ.mjs → component-dimensioning-12aJsCzQ.mjs} +31 -31
- package/lib/{component-dimensioning-FjlPqIvQ.mjs.map → component-dimensioning-12aJsCzQ.mjs.map} +1 -1
- package/lib/{component-raycast-helper-1n4uXeSD.mjs → component-raycast-helper-CcrmOq29.mjs} +14 -14
- package/lib/{component-raycast-helper-1n4uXeSD.mjs.map → component-raycast-helper-CcrmOq29.mjs.map} +1 -1
- package/lib/configurator-CarZpfPv.mjs +2 -0
- package/lib/{configurator-Dw5JbPMY.mjs → configurator-D3ZKy6bf.mjs} +10 -10
- package/lib/{configurator-Dw5JbPMY.mjs.map → configurator-D3ZKy6bf.mjs.map} +1 -1
- package/lib/{continuous-drawing-helper-DEmx54k_.mjs → continuous-drawing-helper-D25YPUle.mjs} +4 -4
- package/lib/{continuous-drawing-helper-DEmx54k_.mjs.map → continuous-drawing-helper-D25YPUle.mjs.map} +1 -1
- package/lib/{dimensioning-helper-BXD6AEqL.mjs → dimensioning-helper-d6JA4UMr.mjs} +49 -49
- package/lib/{dimensioning-helper-BXD6AEqL.mjs.map → dimensioning-helper-d6JA4UMr.mjs.map} +1 -1
- package/lib/dimensioning-helper-pPTkh8pl.mjs +2 -0
- package/lib/{glb-viewer-CWkc6wx7.mjs → glb-viewer-BJJ9OIlH.mjs} +35 -35
- package/lib/{glb-viewer-CWkc6wx7.mjs.map → glb-viewer-BJJ9OIlH.mjs.map} +1 -1
- package/lib/glb-viewer-CJ7BPqI-.mjs +2 -0
- package/lib/{highlight-coordinator-BJJw_RgR.mjs → highlight-coordinator-BuFleG2q.mjs} +8 -8
- package/lib/{highlight-coordinator-BJJw_RgR.mjs.map → highlight-coordinator-BuFleG2q.mjs.map} +1 -1
- package/lib/{homag-intelligence-Dk4WxD0p.mjs → homag-intelligence-BxpMWKLs.mjs} +5 -5
- package/lib/{homag-intelligence-Dk4WxD0p.mjs.map → homag-intelligence-BxpMWKLs.mjs.map} +1 -1
- package/lib/{imos-ix-poc-export-helper-C9wPB6fl.mjs → imos-ix-poc-export-helper-DU0ag-Lw.mjs} +3 -3
- package/lib/{imos-ix-poc-export-helper-C9wPB6fl.mjs.map → imos-ix-poc-export-helper-DU0ag-Lw.mjs.map} +1 -1
- package/lib/{kernel-utils-B5QlsCwn.mjs → kernel-utils-Cj5B4fDD.mjs} +16 -16
- package/lib/{kernel-utils-B5QlsCwn.mjs.map → kernel-utils-Cj5B4fDD.mjs.map} +1 -1
- package/lib/{main-CqSFaC9L.mjs → main-QTvbXAvy.mjs} +27277 -3406
- package/lib/main-QTvbXAvy.mjs.map +1 -0
- package/lib/{material-viewer-BSgvHUAe.mjs → material-viewer-BPcCfvCC.mjs} +18 -18
- package/lib/{material-viewer-BSgvHUAe.mjs.map → material-viewer-BPcCfvCC.mjs.map} +1 -1
- package/lib/packages-JQ2uWInj.mjs +4 -0
- package/lib/{planner-BgAj8Jp1.mjs → planner-C1-sOmHY.mjs} +5 -5
- package/lib/{planner-BgAj8Jp1.mjs.map → planner-C1-sOmHY.mjs.map} +1 -1
- package/lib/planner-CnRaQM_h.mjs +2 -0
- package/lib/{plugin-system-BBgoIai2.mjs → plugin-system-DlME_5b_.mjs} +2 -2
- package/lib/{plugin-system-BBgoIai2.mjs.map → plugin-system-DlME_5b_.mjs.map} +1 -1
- package/lib/rolldown-runtime-BwvMKf85.mjs +23 -0
- package/lib/roomle-headless.d.ts +32 -4
- package/lib/roomle-headless.js +40 -40
- package/lib/roomle-headless.js.map +1 -1
- package/lib/{roomle-renderer-CkSFbpmg.mjs → roomle-renderer-DYQvV88j.mjs} +2 -2
- package/lib/{roomle-renderer-CkSFbpmg.mjs.map → roomle-renderer-DYQvV88j.mjs.map} +1 -1
- package/lib/roomle-sdk.d.ts +32 -4
- package/lib/roomle-sdk.js +8 -8
- package/lib/{roomle-webgpu-renderer-DUr1RZL6.mjs → roomle-webgpu-renderer-BrZZeAGw.mjs} +296 -419
- package/lib/roomle-webgpu-renderer-BrZZeAGw.mjs.map +1 -0
- package/lib/{scene-renderer-BuMnigf2.mjs → scene-renderer-3nhM4cEu.mjs} +394 -394
- package/lib/{scene-renderer-BuMnigf2.mjs.map → scene-renderer-3nhM4cEu.mjs.map} +1 -1
- package/lib/{script-loader-DzyUQT3-.mjs → script-loader-3LiaLeLT.mjs} +2 -2
- package/lib/{script-loader-DzyUQT3-.mjs.map → script-loader-3LiaLeLT.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/wasm_modern/ConfiguratorKernel.wasm +0 -0
- 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-BZnX3BX3.mjs → stats-helper-COC7Moh0.mjs} +3 -3
- package/lib/{stats-helper-BZnX3BX3.mjs.map → stats-helper-COC7Moh0.mjs.map} +1 -1
- package/lib/{three.core-DNErG1F6.mjs → three.core-tV_4n8Wg.mjs} +374 -301
- package/lib/{three.core-DNErG1F6.mjs.map → three.core-tV_4n8Wg.mjs.map} +1 -1
- package/lib/{three.module-BZkESKo3.mjs → three.module-DC5fF9Zl.mjs} +1568 -1568
- package/lib/{three.module-BZkESKo3.mjs.map → three.module-DC5fF9Zl.mjs.map} +1 -1
- package/lib/three.tsl-CAEdYyg3.mjs +136 -0
- package/lib/three.tsl-CAEdYyg3.mjs.map +1 -0
- package/lib/three.tsl-S0OKwamA.mjs +2 -0
- package/lib/{three.webgpu-C8myBXe1.mjs → three.webgpu-CkP2nkXM.mjs} +747 -747
- package/lib/{three.webgpu-C8myBXe1.mjs.map → three.webgpu-CkP2nkXM.mjs.map} +1 -1
- package/lib/three.webgpu-qrxDA_v0.mjs +3 -0
- package/lib/{threejs-utils-D7sinreM.mjs → threejs-utils-CElderZe.mjs} +68 -68
- package/lib/threejs-utils-CElderZe.mjs.map +1 -0
- package/lib/{tools-core-BxOoo-C1.mjs → tools-core-mkA4m80O.mjs} +3 -3
- package/lib/{tools-core-BxOoo-C1.mjs.map → tools-core-mkA4m80O.mjs.map} +1 -1
- package/lib/workers-HXGCmmZS.mjs +6 -0
- package/lib/{workers-BJYv3y38.mjs.map → workers-HXGCmmZS.mjs.map} +1 -1
- package/package.json +1 -1
- package/lib/asset-loader.worker-A7nEeQB4.mjs.map +0 -1
- package/lib/budgeteer.sw-CQWYbQSc.mjs.map +0 -1
- package/lib/configurator-DeUTcLI3.mjs +0 -2
- package/lib/dimensioning-helper-Do9jwg8T.mjs +0 -2
- package/lib/glb-viewer-Ci-IZcIt.mjs +0 -2
- package/lib/main-CqSFaC9L.mjs.map +0 -1
- package/lib/packages-0mEYlGTx.mjs +0 -4
- package/lib/planner-CIvdB7af.mjs +0 -2
- package/lib/rolldown-runtime-DgwB9i60.mjs +0 -13
- package/lib/roomle-webgpu-renderer-DUr1RZL6.mjs.map +0 -1
- package/lib/three.webgpu-WIkDzwXU.mjs +0 -3
- package/lib/threejs-utils-D7sinreM.mjs.map +0 -1
- package/lib/workers-BJYv3y38.mjs +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
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-
|
|
1
|
+
import { Br as e, Gn as t, Hr as n, Ln as r, Mr as i, Si as a, V as o, _n as s, cn as c, dt as l, f as u, gn as d, ln as f, si as p, sn as m, w as h } from "./three.core-tV_4n8Wg.mjs";
|
|
2
|
+
import { r as g } from "./three.module-DC5fF9Zl.mjs";
|
|
3
|
+
import { a as _ } from "./kernel-utils-Cj5B4fDD.mjs";
|
|
4
|
+
import { V as v, b as y } from "./common-utils-B9PC_rvS.mjs";
|
|
5
5
|
//#region packages/typings/planner.ts
|
|
6
6
|
var ee = {
|
|
7
7
|
CONFIGURATOR: 0,
|
|
@@ -70,7 +70,7 @@ var ee = {
|
|
|
70
70
|
CONTOUR: 2
|
|
71
71
|
}, T = class {
|
|
72
72
|
static createMeshPhysicalMaterial(e) {
|
|
73
|
-
return new
|
|
73
|
+
return new d(e);
|
|
74
74
|
}
|
|
75
75
|
static createMeshStandardMaterial(e) {
|
|
76
76
|
return new s(e);
|
|
@@ -449,13 +449,13 @@ globalThis.window !== void 0 && import("./dat.gui.module-CZ-DIWHM.mjs").then((e)
|
|
|
449
449
|
P = e.GUI;
|
|
450
450
|
}).catch(() => {});
|
|
451
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) => {
|
|
452
|
-
if (!e || !t || n === 0 || r === 0) return new
|
|
453
|
-
let i = e.clone(),
|
|
454
|
-
return i.project(t), i.x = Math.floor(i.x *
|
|
452
|
+
if (!e || !t || n === 0 || r === 0) return new a();
|
|
453
|
+
let i = e.clone(), o = n / 2, s = r / 2;
|
|
454
|
+
return i.project(t), i.x = Math.floor(i.x * o + o), i.y = Math.floor(-(i.y * s) + s), i.z = e.distanceTo(t.position), i;
|
|
455
455
|
}, Te = (e, t) => {
|
|
456
|
-
t ||= new
|
|
457
|
-
let n = new
|
|
458
|
-
return new
|
|
456
|
+
t ||= new a(0, 0, 0);
|
|
457
|
+
let n = new a(e.size.x / 1e3, e.size.z / 1e3, e.size.y / 1e3), r = new a(e.origin.x / 1e3, e.origin.z / 1e3, e.origin.y / -1e3);
|
|
458
|
+
return new u(new a(0, 0, -n.z).add(r).sub(t), new a(n.x, n.y, 0).add(r).add(t));
|
|
459
459
|
}, Ee = (e) => (e.from /= 1e3, e.to /= 1e3, e), De = (e, t) => {
|
|
460
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);
|
|
461
461
|
return n === a && r === o && i === s;
|
|
@@ -467,12 +467,12 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
467
467
|
return n === i && r === a;
|
|
468
468
|
}, L = null, R = () => {
|
|
469
469
|
if (L) return L;
|
|
470
|
-
let
|
|
471
|
-
for (let
|
|
472
|
-
let n =
|
|
473
|
-
|
|
470
|
+
let e = new Uint8Array(4);
|
|
471
|
+
for (let t = 0; t < 1; t++) {
|
|
472
|
+
let n = t * 4;
|
|
473
|
+
e[n] = 255, e[n + 1] = 255, e[n + 2] = 255, e[n + 3] = 255;
|
|
474
474
|
}
|
|
475
|
-
let n = new e
|
|
475
|
+
let n = new o(e, 1, 1, t);
|
|
476
476
|
return n.needsUpdate = !0, n;
|
|
477
477
|
}, Ae = (e) => z(null, e), z = (e, t) => {
|
|
478
478
|
e ||= Ne(), e.name = t.id ? t.id.toString() : "";
|
|
@@ -522,10 +522,10 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
522
522
|
thicknessFactor: e.thickness,
|
|
523
523
|
attenuationColor: V(e.attenuationColor),
|
|
524
524
|
attenuationDistance: e.attenuationDistance
|
|
525
|
-
}), B = (e,
|
|
526
|
-
if (
|
|
527
|
-
let
|
|
528
|
-
e.copy(
|
|
525
|
+
}), B = (e, t) => {
|
|
526
|
+
if (t !== void 0) {
|
|
527
|
+
let n = new h(t.r, t.g, t.b);
|
|
528
|
+
e.copy(n.convertSRGBToLinear());
|
|
529
529
|
}
|
|
530
530
|
}, V = (e) => {
|
|
531
531
|
let t = e.clone().convertLinearToSRGB();
|
|
@@ -535,7 +535,7 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
535
535
|
b: t.b
|
|
536
536
|
};
|
|
537
537
|
}, H = null, Le = (e, t, n, r, i, a, o = 16) => {
|
|
538
|
-
H || (H = new
|
|
538
|
+
H || (H = new p(), H.crossOrigin = "");
|
|
539
539
|
let s = H;
|
|
540
540
|
return new Promise((c, l) => {
|
|
541
541
|
if (!e) {
|
|
@@ -548,8 +548,8 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
548
548
|
l(e);
|
|
549
549
|
});
|
|
550
550
|
});
|
|
551
|
-
}, U = (e, n, r,
|
|
552
|
-
if (e.anisotropy =
|
|
551
|
+
}, U = (e, t, n, r, a, o, s = 16) => {
|
|
552
|
+
if (e.anisotropy = r, e.wrapS = i, e.wrapT = i, s <= 8 && [
|
|
553
553
|
v.ORM,
|
|
554
554
|
v.EMRGB,
|
|
555
555
|
v.CCRG,
|
|
@@ -557,13 +557,13 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
557
557
|
v.SHRGBA,
|
|
558
558
|
v.SPRGBA,
|
|
559
559
|
v.TTRG
|
|
560
|
-
].includes(
|
|
560
|
+
].includes(t.mapping)) {
|
|
561
561
|
console.warn("ORM maps are not supported on devices with only " + s + " texture units");
|
|
562
562
|
return;
|
|
563
563
|
}
|
|
564
|
-
e.repeat.set(a, o), Re(e,
|
|
565
|
-
}, Re = (
|
|
566
|
-
|
|
564
|
+
e.repeat.set(a, o), Re(e, t, n), t.mapping === v.RGBA && (n.transparent = !0, n.userData.materialVersion === 1 && n.name.includes("glow") && (n.emissiveIntensity = .5, n.emissive = new h(16777215), n.emissiveMap = n.map)), n.needsUpdate = !0;
|
|
565
|
+
}, Re = (t, n, r) => {
|
|
566
|
+
n.mapping === v.XYZ ? (r.normalMap = t, r.map === R() && (r.map = null)) : n.mapping === v.ORM ? (r.aoMap = t, r.roughnessMap = t, r.metalnessMap = t) : n.mapping === v.EMRGB ? r.emissiveMap = t : n.mapping === v.CCRG ? (r.clearcoatMap = t, r.clearcoatRoughnessMap = t) : n.mapping === v.CCXYZ ? r.clearcoatNormalMap = t : n.mapping === v.SHRGBA ? (r.sheenColorMap = t, r.sheenRoughnessMap = t) : n.mapping === v.SPRGBA ? (r.specularColorMap = t, r.specularIntensityMap = t) : n.mapping === v.TTRG ? (r.transmissionMap = t, r.thicknessMap = t) : (t.colorSpace = e, r.map = t);
|
|
567
567
|
}, ze = (e = !0) => {
|
|
568
568
|
if (!window.__RML_WEBGL_GUI__) {
|
|
569
569
|
if (!P) return null;
|
|
@@ -621,45 +621,45 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
621
621
|
}).start();
|
|
622
622
|
return window.TWEEN?.add(f), f;
|
|
623
623
|
}, Ue = (e, t) => {
|
|
624
|
-
let
|
|
625
|
-
|
|
626
|
-
let
|
|
627
|
-
if (i.length() < .001 || Math.abs(
|
|
628
|
-
let
|
|
629
|
-
|
|
630
|
-
let h =
|
|
631
|
-
return h = h.sub(p.clone().multiplyScalar(f * .5 / Math.tan(
|
|
624
|
+
let n = e.clone().invert().clone().multiply(t), i = new a(), o = new r();
|
|
625
|
+
n.decompose(i, o, new a());
|
|
626
|
+
let s = W(o), c = s.axis;
|
|
627
|
+
if (i.length() < .001 || Math.abs(s.angleRad) < .001 || c.length() < .001) return new m().identity();
|
|
628
|
+
let l = new a().setFromMatrixPosition(e), u = new a().setFromMatrixPosition(t), d = l.clone().sub(u), f = d.length(), p = new a().crossVectors(c, d).normalize();
|
|
629
|
+
d = new a().crossVectors(p, c).normalize();
|
|
630
|
+
let h = l.clone().add(u).multiplyScalar(.5);
|
|
631
|
+
return h = h.sub(p.clone().multiplyScalar(f * .5 / Math.tan(s.angleRad * .5))), new m().makeBasis(p, c, d).setPosition(h);
|
|
632
632
|
}, W = (e) => {
|
|
633
633
|
let t = Math.sqrt(1 - e.w * e.w);
|
|
634
634
|
return {
|
|
635
|
-
axis: new
|
|
635
|
+
axis: new a(e.x, e.y, e.z).multiplyScalar(t === 0 ? 1 : 1 / t),
|
|
636
636
|
angleRad: 2 * Math.acos(e.w)
|
|
637
637
|
};
|
|
638
638
|
}, G = (e, t) => {
|
|
639
639
|
e.updateMatrix(), t.multiply(e.matrix.clone().invert()), e.applyMatrix4(t), e.updateMatrix();
|
|
640
|
-
}, We = (e, t,
|
|
641
|
-
let i = new
|
|
642
|
-
e.decompose(i,
|
|
643
|
-
let
|
|
644
|
-
t.decompose(
|
|
645
|
-
let
|
|
646
|
-
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && i.length() > .001 &&
|
|
647
|
-
let e = i.clone().normalize().dot(
|
|
640
|
+
}, We = (e, t, n) => {
|
|
641
|
+
let i = new a(), o = new r(), s = new a();
|
|
642
|
+
e.decompose(i, o, s);
|
|
643
|
+
let c = new a(), l = new r(), u = new a();
|
|
644
|
+
t.decompose(c, l, u);
|
|
645
|
+
let d = new a().lerpVectors(i, c, n), f = new r().slerpQuaternions(o, l, n), p = W(o.clone().conjugate().multiply(l));
|
|
646
|
+
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && i.length() > .001 && c.length() > .001) {
|
|
647
|
+
let e = i.clone().normalize().dot(c.clone().normalize());
|
|
648
648
|
if (Math.abs(e) < .999) {
|
|
649
|
-
let t = new
|
|
650
|
-
|
|
649
|
+
let t = new a().crossVectors(i, c), o = new r().setFromAxisAngle(t.normalize(), Math.acos(e) * n), s = i.length() * n + c.length() * (1 - n);
|
|
650
|
+
d = i.applyQuaternion(o).normalize().multiplyScalar(s);
|
|
651
651
|
}
|
|
652
652
|
}
|
|
653
|
-
let h = new
|
|
654
|
-
return g.compose(
|
|
653
|
+
let h = new a().lerpVectors(s, u, n), g = new m();
|
|
654
|
+
return g.compose(d, f, h), g;
|
|
655
655
|
}, Ge = (e) => {
|
|
656
|
-
let
|
|
657
|
-
return
|
|
656
|
+
let t = new h();
|
|
657
|
+
return t.setRGB((e >> 16) / 255, (e >> 8 & 255) / 255, (e >> 0 & 255) / 255), t;
|
|
658
658
|
}, K = (e, t) => {
|
|
659
659
|
t.transparent || (e.transparent = t.transparent, delete e.userData.postProcessingMaterialPlugin), e.opacity = t.opacity, e.needsUpdate = !0;
|
|
660
660
|
}, Ke = (e, t) => new Promise((n) => {
|
|
661
661
|
e.traverse((e) => {
|
|
662
|
-
if (e instanceof
|
|
662
|
+
if (e instanceof c) {
|
|
663
663
|
let r = e.material;
|
|
664
664
|
e.userData.tween && e.userData.tween.stop();
|
|
665
665
|
let i = { opacity: r.opacity };
|
|
@@ -676,7 +676,7 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
676
676
|
});
|
|
677
677
|
}), qe = (e) => {
|
|
678
678
|
e.traverse((e) => {
|
|
679
|
-
if (e instanceof
|
|
679
|
+
if (e instanceof c) {
|
|
680
680
|
let t = e.material;
|
|
681
681
|
if (t.opacity === 0) return;
|
|
682
682
|
let n = {
|
|
@@ -696,8 +696,8 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
696
696
|
}
|
|
697
697
|
});
|
|
698
698
|
}, Je = (e, t) => {
|
|
699
|
-
let n = new
|
|
700
|
-
return i > 5 && (console.warn("GLB seems to be too big (" + i + ")", t),
|
|
699
|
+
let n = new u().setFromObject(e), r = n.getSize(new a()), i = Math.min(r.x, r.y, r.z), o = !0;
|
|
700
|
+
return i > 5 && (console.warn("GLB seems to be too big (" + i + ")", t), o = !1), n.min.y < -.01 && (console.warn("GLB seems to be under the floor (" + n.min.y + "): ", t), o = !1), o;
|
|
701
701
|
}, Ye = (e) => {
|
|
702
702
|
e.type === "Mesh" ? J(e) : q(e);
|
|
703
703
|
}, q = (e) => {
|
|
@@ -726,7 +726,7 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
726
726
|
e && e.dispose();
|
|
727
727
|
}, X = (e) => {
|
|
728
728
|
e && (e.map && e.map.dispose(), e.normalMap && e.normalMap.dispose(), e.dispose());
|
|
729
|
-
}, Z, Xe = () => (Z || (Z = new
|
|
729
|
+
}, Z, Xe = () => (Z || (Z = new f(), Z.visible = !1), Z), Q, Ze = (e) => (Q ||= T.createMeshStandardMaterial({
|
|
730
730
|
color: e || "#FF0000",
|
|
731
731
|
transparent: !0,
|
|
732
732
|
opacity: .5,
|
|
@@ -737,8 +737,8 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
737
737
|
let n = "";
|
|
738
738
|
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);
|
|
739
739
|
}, $e = (e) => {
|
|
740
|
-
let t = e.getWorldDirection(new
|
|
741
|
-
t.y = 0, t.lengthSq() < .01 && (t = new
|
|
740
|
+
let t = e.getWorldDirection(new a()).clone();
|
|
741
|
+
t.y = 0, t.lengthSq() < .01 && (t = new a(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
|
|
742
742
|
let n = Math.asin(t.x);
|
|
743
743
|
return t.z < 0 && (n = Math.PI - n), n < 0 && (n += Math.PI * 2), n;
|
|
744
744
|
}, et = (e, t) => {
|
|
@@ -755,16 +755,16 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
755
755
|
}
|
|
756
756
|
return n === !0 ? 1 : -1;
|
|
757
757
|
}, nt = (e, t) => {
|
|
758
|
-
let n = new
|
|
758
|
+
let n = new u();
|
|
759
759
|
if (n.copy(e).intersect(t), n.isEmpty()) return 0;
|
|
760
760
|
let r = (e) => {
|
|
761
|
-
let t = new
|
|
761
|
+
let t = new a();
|
|
762
762
|
return e.getSize(t), t.x * t.y * t.z;
|
|
763
|
-
}, i = r(e),
|
|
764
|
-
return i === 0 ? 0 :
|
|
763
|
+
}, i = r(e), o = r(n);
|
|
764
|
+
return i === 0 ? 0 : o / i;
|
|
765
765
|
}, 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) => {
|
|
766
|
-
let i = t > n,
|
|
767
|
-
return
|
|
766
|
+
let i = t > n, o = i ? 15 : 0, s = i ? 0 : 10, c = e.getSize(new a()), l = e.getCenter(new a()), d = c.x > 2 * o ? c.x / 2 : o, f = c.z > 2 * s ? c.z / 2 : s;
|
|
767
|
+
return d *= r, f *= r, new u(new a(l.x - d, l.y, l.z - f), new a(l.x + d, l.y, l.z + f));
|
|
768
768
|
}, at = (e) => {
|
|
769
769
|
let { x: t, y: n } = e;
|
|
770
770
|
return {
|
|
@@ -778,13 +778,13 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
778
778
|
y: n,
|
|
779
779
|
z: r
|
|
780
780
|
};
|
|
781
|
-
}, st = (e, t, n) => new
|
|
782
|
-
let t = new
|
|
781
|
+
}, st = (e, t, n) => new a().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), ct = (e) => {
|
|
782
|
+
let t = new n();
|
|
783
783
|
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;
|
|
784
784
|
}, lt = (e, t) => {
|
|
785
|
-
let n = new
|
|
785
|
+
let n = new l(), r = new m().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
|
|
786
786
|
n.setFromProjectionMatrix(r);
|
|
787
|
-
let i = t.getCenter(new
|
|
787
|
+
let i = t.getCenter(new a());
|
|
788
788
|
return n.containsPoint(i);
|
|
789
789
|
}, ut = (e) => {
|
|
790
790
|
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 ");
|
|
@@ -792,4 +792,4 @@ var ge = .4, _e = "#DDDDDD", F = .4, I = "#7B7B7B", ve = "#B1B1B1", ye = .8, be
|
|
|
792
792
|
//#endregion
|
|
793
793
|
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 };
|
|
794
794
|
|
|
795
|
-
//# sourceMappingURL=threejs-utils-
|
|
795
|
+
//# sourceMappingURL=threejs-utils-CElderZe.mjs.map
|