@roomle/web-sdk 4.0.0 → 4.1.0-alpha.1
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-CnbfgBmz.mjs → BufferGeometry-DcRNeLZD.mjs} +2 -2
- package/lib/{BufferGeometry-CnbfgBmz.mjs.map → BufferGeometry-DcRNeLZD.mjs.map} +1 -1
- package/lib/{GLTFExporter-BxcjPMva.mjs → GLTFExporter-DdzTpCjW.mjs} +46 -46
- package/lib/{GLTFExporter-BxcjPMva.mjs.map → GLTFExporter-DdzTpCjW.mjs.map} +1 -1
- package/lib/{GaussianBlurNode-8gO-I1qG.mjs → GaussianBlurNode-CLuzhfDu.mjs} +19 -19
- package/lib/{GaussianBlurNode-8gO-I1qG.mjs.map → GaussianBlurNode-CLuzhfDu.mjs.map} +1 -1
- package/lib/{Object3D-DMaDdv-D.mjs → Object3D-CEXK2mMb.mjs} +1 -1
- package/lib/{Object3D-DMaDdv-D.mjs.map → Object3D-CEXK2mMb.mjs.map} +1 -1
- package/lib/Pass-C7MZilDW.mjs +53 -0
- package/lib/Pass-C7MZilDW.mjs.map +1 -0
- package/lib/{PointLightHelper-CahXSxiA.mjs → PointLightHelper-dDeo1kUI.mjs} +4 -4
- package/lib/{PointLightHelper-CahXSxiA.mjs.map → PointLightHelper-dDeo1kUI.mjs.map} +1 -1
- package/lib/{SpotLightHelper-BEqeYq1p.mjs → SpotLightHelper-BsMEPgVo.mjs} +3 -3
- package/lib/{SpotLightHelper-BEqeYq1p.mjs.map → SpotLightHelper-BsMEPgVo.mjs.map} +1 -1
- package/lib/{USDZExporter-ZZoG1mne.mjs → USDZExporter-BIDQSKG4.mjs} +3 -3
- package/lib/{USDZExporter-ZZoG1mne.mjs.map → USDZExporter-BIDQSKG4.mjs.map} +1 -1
- package/lib/{Vector4-BkA_VGid.mjs → Vector4-D-4p8rfn.mjs} +2 -2
- package/lib/{Vector4-BkA_VGid.mjs.map → Vector4-D-4p8rfn.mjs.map} +1 -1
- package/lib/{api-CUyBdNba.mjs → api-BEszDVqh.mjs} +10 -10
- package/lib/{api-CUyBdNba.mjs.map → api-BEszDVqh.mjs.map} +1 -1
- package/lib/{asset-loader.worker-C_5RQYHp.mjs → asset-loader.worker-eqHzNAwa.mjs} +1 -1
- package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -0
- package/lib/{banana-for-scale-B77S3z9R.mjs → banana-for-scale-CiCouumi.mjs} +4 -4
- package/lib/{banana-for-scale-B77S3z9R.mjs.map → banana-for-scale-CiCouumi.mjs.map} +1 -1
- package/lib/{budgeteer.sw-DxeAvd0v.mjs → budgeteer.sw-BUMElkO1.mjs} +1 -1
- package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -0
- package/lib/{common-utils-BiOW17Ao.mjs → common-utils-CCzT4Gnn.mjs} +2 -2
- package/lib/{common-utils-BiOW17Ao.mjs.map → common-utils-CCzT4Gnn.mjs.map} +1 -1
- package/lib/{component-dimensioning-DPyPzSsa.mjs → component-dimensioning-DWEZ4jZg.mjs} +7 -7
- package/lib/{component-dimensioning-DPyPzSsa.mjs.map → component-dimensioning-DWEZ4jZg.mjs.map} +1 -1
- package/lib/{component-raycast-helper-RiQIybsX.mjs → component-raycast-helper-D2hyLpdX.mjs} +17 -17
- package/lib/{component-raycast-helper-RiQIybsX.mjs.map → component-raycast-helper-D2hyLpdX.mjs.map} +1 -1
- package/lib/configurator-BENT3shs.mjs +2 -0
- package/lib/{configurator-C_rsqn9l.mjs → configurator-BjLLdSf8.mjs} +16 -16
- package/lib/{configurator-C_rsqn9l.mjs.map → configurator-BjLLdSf8.mjs.map} +1 -1
- package/lib/{continuous-drawing-helper-C_Yc0uuv.mjs → continuous-drawing-helper-CCuU99Vh.mjs} +3 -3
- package/lib/{continuous-drawing-helper-C_Yc0uuv.mjs.map → continuous-drawing-helper-CCuU99Vh.mjs.map} +1 -1
- package/lib/{dat.gui.module-BLjoST8r.mjs → dat.gui.module-B2PXSbre.mjs} +1 -1
- package/lib/{dat.gui.module-BLjoST8r.mjs.map → dat.gui.module-B2PXSbre.mjs.map} +1 -1
- package/lib/{decorate-BAtqSPNS.mjs → decorate-CX1ZGuFY.mjs} +1 -1
- package/lib/{decorate-BAtqSPNS.mjs.map → decorate-CX1ZGuFY.mjs.map} +1 -1
- package/lib/{dimensioning-helper-D9oxGkry.mjs → dimensioning-helper-CjuQqjBn.mjs} +14 -14
- package/lib/{dimensioning-helper-D9oxGkry.mjs.map → dimensioning-helper-CjuQqjBn.mjs.map} +1 -1
- package/lib/dimensioning-helper-ImsWfczi.mjs +2 -0
- package/lib/{dist-DGov-RNo.mjs → dist-Blgk0vU0.mjs} +1 -1
- package/lib/{dist-DGov-RNo.mjs.map → dist-Blgk0vU0.mjs.map} +1 -1
- package/lib/{fflate.module-CTnSdWOb.mjs → fflate.module-DTkA0kF8.mjs} +1 -1
- package/lib/{fflate.module-CTnSdWOb.mjs.map → fflate.module-DTkA0kF8.mjs.map} +1 -1
- package/lib/{glb-viewer-A5vSLFZ5.mjs → glb-viewer-9Ata6ZNJ.mjs} +59 -45
- package/lib/glb-viewer-9Ata6ZNJ.mjs.map +1 -0
- package/lib/glb-viewer-CGqSGT38.mjs +2 -0
- package/lib/{highlight-coordinator-CZEJGeXA.mjs → highlight-coordinator-PyWNABN9.mjs} +3 -3
- package/lib/{highlight-coordinator-CZEJGeXA.mjs.map → highlight-coordinator-PyWNABN9.mjs.map} +1 -1
- package/lib/{homag-intelligence-BdCDX7LF.mjs → homag-intelligence-BNqPqVgE.mjs} +3 -3
- package/lib/{homag-intelligence-BdCDX7LF.mjs.map → homag-intelligence-BNqPqVgE.mjs.map} +1 -1
- package/lib/{imos-ix-poc-export-helper-CaXXDNvP.mjs → imos-ix-poc-export-helper-C1LfrtjM.mjs} +3 -3
- package/lib/{imos-ix-poc-export-helper-CaXXDNvP.mjs.map → imos-ix-poc-export-helper-C1LfrtjM.mjs.map} +1 -1
- package/lib/{kernel-utils-BYEsHVYJ.mjs → kernel-utils-Cn4evFqF.mjs} +2 -2
- package/lib/{kernel-utils-BYEsHVYJ.mjs.map → kernel-utils-Cn4evFqF.mjs.map} +1 -1
- package/lib/{layer-CIWL5ZW3.mjs → layer-DvZF9ur3.mjs} +1 -1
- package/lib/{layer-CIWL5ZW3.mjs.map → layer-DvZF9ur3.mjs.map} +1 -1
- package/lib/{main-BUl8iCi1.mjs → main-n3n3jdja.mjs} +1097 -1017
- package/lib/{main-BUl8iCi1.mjs.map → main-n3n3jdja.mjs.map} +1 -1
- package/lib/{material-viewer-C4SqVaGG.mjs → material-viewer-Cv5Awgwm.mjs} +24 -24
- package/lib/{material-viewer-C4SqVaGG.mjs.map → material-viewer-Cv5Awgwm.mjs.map} +1 -1
- package/lib/{packages-C9gO5mKk.mjs → packages-B3bi3adH.mjs} +5 -5
- package/lib/{packages-C9gO5mKk.mjs.map → packages-B3bi3adH.mjs.map} +1 -1
- package/lib/planner-DIT2VvMG.mjs +44 -0
- package/lib/{planner-t4QH26WW.mjs.map → planner-DIT2VvMG.mjs.map} +1 -1
- package/lib/planner-DaI8ZwEe.mjs +2 -0
- package/lib/{plugin-system-COZJdJH_.mjs → plugin-system-FuZpDWqv.mjs} +3 -3
- package/lib/{plugin-system-COZJdJH_.mjs.map → plugin-system-FuZpDWqv.mjs.map} +1 -1
- package/lib/roomle-headless-setup-CMHahWyC.mjs +612 -0
- package/lib/roomle-headless-setup-CMHahWyC.mjs.map +1 -0
- package/lib/roomle-headless.d.ts +113 -34
- package/lib/roomle-headless.js +433 -84
- package/lib/roomle-headless.js.map +1 -1
- package/lib/{roomle-renderer-DhLUaHJZ.mjs → roomle-renderer-BR0UKz2y.mjs} +2 -2
- package/lib/{roomle-renderer-DhLUaHJZ.mjs.map → roomle-renderer-BR0UKz2y.mjs.map} +1 -1
- package/lib/roomle-sdk.d.ts +37 -9
- package/lib/roomle-sdk.js +8 -8
- package/lib/{roomle-webgpu-renderer-CRGcdahn.mjs → roomle-webgpu-renderer-fOYJoKJU.mjs} +175 -173
- package/lib/roomle-webgpu-renderer-fOYJoKJU.mjs.map +1 -0
- package/lib/{scene-renderer-D5CfxCag.mjs → scene-renderer-CAzAJ4pS.mjs} +212 -211
- package/lib/{scene-renderer-D5CfxCag.mjs.map → scene-renderer-CAzAJ4pS.mjs.map} +1 -1
- package/lib/{script-loader-D6IuUFjw.mjs → script-loader-BAWHLt9q.mjs} +3 -3
- package/lib/{script-loader-D6IuUFjw.mjs.map → script-loader-BAWHLt9q.mjs.map} +1 -1
- package/lib/{shading-settings-BEMqEGzB.mjs → shading-settings-BPpgt0Fq.mjs} +101 -146
- package/lib/shading-settings-BPpgt0Fq.mjs.map +1 -0
- package/lib/{stats-helper-DAfbSToL.mjs → stats-helper-CqiTcJuc.mjs} +3 -3
- package/lib/{stats-helper-DAfbSToL.mjs.map → stats-helper-CqiTcJuc.mjs.map} +1 -1
- package/lib/{svgo.browser-DYieWzyw.mjs → svgo.browser-EB1zkPfG.mjs} +1 -1
- package/lib/{svgo.browser-DYieWzyw.mjs.map → svgo.browser-EB1zkPfG.mjs.map} +1 -1
- package/lib/{three.core-DjCexDCp.mjs → three.core-CmmDf_BZ.mjs} +73 -38
- package/lib/{three.core-DjCexDCp.mjs.map → three.core-CmmDf_BZ.mjs.map} +1 -1
- package/lib/{three.module-CuRNgijg.mjs → three.module-BkkLbA6n.mjs} +857 -857
- package/lib/{three.module-CuRNgijg.mjs.map → three.module-BkkLbA6n.mjs.map} +1 -1
- package/lib/three.tsl-8HwZJGJ8.mjs +2 -0
- package/lib/{three.tsl-BIBER8nk.mjs → three.tsl-Cw9IeeKW.mjs} +64 -52
- package/lib/{three.tsl-BIBER8nk.mjs.map → three.tsl-Cw9IeeKW.mjs.map} +1 -1
- package/lib/three.webgpu-Bw4_U6Q1.mjs +3 -0
- package/lib/{three.webgpu-Bz4Xtk0X.mjs → three.webgpu-DL5l_0xI.mjs} +1742 -1728
- package/lib/{three.webgpu-Bz4Xtk0X.mjs.map → three.webgpu-DL5l_0xI.mjs.map} +1 -1
- package/lib/{threejs-utils-Dpvg3Czz.mjs → threejs-utils-PRhv_eX3.mjs} +63 -63
- package/lib/{threejs-utils-Dpvg3Czz.mjs.map → threejs-utils-PRhv_eX3.mjs.map} +1 -1
- package/lib/{tools-core-BDOFf9le.mjs → tools-core-CmrXkw3J.mjs} +3 -3
- package/lib/{tools-core-BDOFf9le.mjs.map → tools-core-CmrXkw3J.mjs.map} +1 -1
- package/lib/webgpu-wkXAkJ6p.mjs +5084 -0
- package/lib/webgpu-wkXAkJ6p.mjs.map +1 -0
- package/lib/workers-YGDNEfpU.mjs +6 -0
- package/lib/{workers-DcgrO-z7.mjs.map → workers-YGDNEfpU.mjs.map} +1 -1
- package/package.json +5 -4
- package/lib/asset-loader.worker-C_5RQYHp.mjs.map +0 -1
- package/lib/budgeteer.sw-DxeAvd0v.mjs.map +0 -1
- package/lib/configurator-BBlZVIId.mjs +0 -2
- package/lib/dimensioning-helper-Bzf1sbpy.mjs +0 -2
- package/lib/glb-viewer-A5vSLFZ5.mjs.map +0 -1
- package/lib/glb-viewer-B4ILlvw0.mjs +0 -2
- package/lib/planner-49YwTdiA.mjs +0 -2
- package/lib/planner-t4QH26WW.mjs +0 -44
- package/lib/roomle-headless-setup-Cc8EAnVe.mjs +0 -1204
- package/lib/roomle-headless-setup-Cc8EAnVe.mjs.map +0 -1
- package/lib/roomle-webgpu-renderer-CRGcdahn.mjs.map +0 -1
- package/lib/shading-settings-BEMqEGzB.mjs.map +0 -1
- package/lib/three.tsl-Q-21y0pO.mjs +0 -2
- package/lib/three.webgpu-dtN0kDKB.mjs +0 -3
- package/lib/workers-DcgrO-z7.mjs +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Br as e,
|
|
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, Ci as t, Gn as n, Hr as r, Ln as i, Mr 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-CmmDf_BZ.mjs";
|
|
2
|
+
import { r as g } from "./three.module-BkkLbA6n.mjs";
|
|
3
|
+
import { a as _ } from "./kernel-utils-Cn4evFqF.mjs";
|
|
4
|
+
import { V as v, b as y } from "./common-utils-CCzT4Gnn.mjs";
|
|
5
5
|
//#region packages/typings/planner.ts
|
|
6
6
|
var ee = {
|
|
7
7
|
CONFIGURATOR: 0,
|
|
@@ -452,17 +452,17 @@ N.getAll.bind(N), N.removeAll.bind(N), N.add.bind(N), N.remove.bind(N), N.update
|
|
|
452
452
|
//#endregion
|
|
453
453
|
//#region packages/common-core/src/utils/threejs-utils.ts
|
|
454
454
|
var P = null;
|
|
455
|
-
globalThis.window !== void 0 && import("./dat.gui.module-
|
|
455
|
+
globalThis.window !== void 0 && import("./dat.gui.module-B2PXSbre.mjs").then((e) => {
|
|
456
456
|
P = e.GUI;
|
|
457
457
|
}).catch(() => {});
|
|
458
|
-
var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se = .9, Ce = (e) => e instanceof g ? e.capabilities.maxSamples : 16, we = (e) => e instanceof g ? e.capabilities.maxTextures : 16, Te = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, Ee = (e,
|
|
459
|
-
if (!e || !
|
|
460
|
-
let
|
|
461
|
-
return
|
|
462
|
-
}, De = (e,
|
|
463
|
-
|
|
464
|
-
let
|
|
465
|
-
return new u(new
|
|
458
|
+
var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se = .9, Ce = (e) => e instanceof g ? e.capabilities.maxSamples : 16, we = (e) => e instanceof g ? e.capabilities.maxTextures : 16, Te = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, Ee = (e, n, r, i) => {
|
|
459
|
+
if (!e || !n || r === 0 || i === 0) return new t();
|
|
460
|
+
let a = e.clone(), o = r / 2, s = i / 2;
|
|
461
|
+
return a.project(n), a.x = Math.floor(a.x * o + o), a.y = Math.floor(-(a.y * s) + s), a.z = e.distanceTo(n.position), a;
|
|
462
|
+
}, De = (e, n) => {
|
|
463
|
+
n ||= new t(0, 0, 0);
|
|
464
|
+
let r = new t(e.size.x / 1e3, e.size.z / 1e3, e.size.y / 1e3), i = new t(e.origin.x / 1e3, e.origin.z / 1e3, e.origin.y / -1e3);
|
|
465
|
+
return new u(new t(0, 0, -r.z).add(i).sub(n), new t(r.x, r.y, 0).add(i).add(n));
|
|
466
466
|
}, Oe = (e) => (e.from /= 1e3, e.to /= 1e3, e), ke = (e, t) => {
|
|
467
467
|
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);
|
|
468
468
|
return n === a && r === o && i === s;
|
|
@@ -479,8 +479,8 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
479
479
|
let n = t * 4;
|
|
480
480
|
e[n] = 255, e[n + 1] = 255, e[n + 2] = 255, e[n + 3] = 255;
|
|
481
481
|
}
|
|
482
|
-
let
|
|
483
|
-
return
|
|
482
|
+
let t = new o(e, 1, 1, n);
|
|
483
|
+
return t.needsUpdate = !0, t;
|
|
484
484
|
}, Me = (e) => z(null, e), z = (e, t) => {
|
|
485
485
|
e ||= Fe(), e.name = t.id ? t.id.toString() : "";
|
|
486
486
|
let n = t.shading.version === "2" || t.shading.version?.startsWith("2.");
|
|
@@ -555,8 +555,8 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
555
555
|
l(e);
|
|
556
556
|
});
|
|
557
557
|
});
|
|
558
|
-
}, U = (e, t, n, r,
|
|
559
|
-
if (e.anisotropy = r, e.wrapS =
|
|
558
|
+
}, U = (e, t, n, r, i, o, s = 16) => {
|
|
559
|
+
if (e.anisotropy = r, e.wrapS = a, e.wrapT = a, s <= 8 && [
|
|
560
560
|
v.ORM,
|
|
561
561
|
v.EMRGB,
|
|
562
562
|
v.CCRG,
|
|
@@ -568,7 +568,7 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
568
568
|
console.warn("ORM maps are not supported on devices with only " + s + " texture units");
|
|
569
569
|
return;
|
|
570
570
|
}
|
|
571
|
-
e.repeat.set(
|
|
571
|
+
e.repeat.set(i, o), Be(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;
|
|
572
572
|
}, Be = (t, n, r) => {
|
|
573
573
|
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);
|
|
574
574
|
}, Ve = (e = !0) => {
|
|
@@ -627,37 +627,37 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
627
627
|
window.TWEEN?.remove(f);
|
|
628
628
|
}).start();
|
|
629
629
|
return window.TWEEN?.add(f), f;
|
|
630
|
-
}, Ge = (e,
|
|
631
|
-
let
|
|
632
|
-
|
|
630
|
+
}, Ge = (e, n) => {
|
|
631
|
+
let r = e.clone().invert().clone().multiply(n), a = new t(), o = new i();
|
|
632
|
+
r.decompose(a, o, new t());
|
|
633
633
|
let s = W(o), c = s.axis;
|
|
634
|
-
if (
|
|
635
|
-
let l = new
|
|
636
|
-
d = new
|
|
634
|
+
if (a.length() < .001 || Math.abs(s.angleRad) < .001 || c.length() < .001) return new m().identity();
|
|
635
|
+
let l = new t().setFromMatrixPosition(e), u = new t().setFromMatrixPosition(n), d = l.clone().sub(u), f = d.length(), p = new t().crossVectors(c, d).normalize();
|
|
636
|
+
d = new t().crossVectors(p, c).normalize();
|
|
637
637
|
let h = l.clone().add(u).multiplyScalar(.5);
|
|
638
638
|
return h = h.sub(p.clone().multiplyScalar(f * .5 / Math.tan(s.angleRad * .5))), new m().makeBasis(p, c, d).setPosition(h);
|
|
639
639
|
}, W = (e) => {
|
|
640
|
-
let
|
|
640
|
+
let n = Math.sqrt(1 - e.w * e.w);
|
|
641
641
|
return {
|
|
642
|
-
axis: new
|
|
642
|
+
axis: new t(e.x, e.y, e.z).multiplyScalar(n === 0 ? 1 : 1 / n),
|
|
643
643
|
angleRad: 2 * Math.acos(e.w)
|
|
644
644
|
};
|
|
645
645
|
}, G = (e, t) => {
|
|
646
646
|
e.updateMatrix(), t.multiply(e.matrix.clone().invert()), e.applyMatrix4(t), e.updateMatrix();
|
|
647
|
-
}, Ke = (e,
|
|
648
|
-
let
|
|
649
|
-
e.decompose(
|
|
650
|
-
let c = new
|
|
651
|
-
|
|
652
|
-
let d = new
|
|
653
|
-
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) &&
|
|
654
|
-
let e =
|
|
647
|
+
}, Ke = (e, n, r) => {
|
|
648
|
+
let a = new t(), o = new i(), s = new t();
|
|
649
|
+
e.decompose(a, o, s);
|
|
650
|
+
let c = new t(), l = new i(), u = new t();
|
|
651
|
+
n.decompose(c, l, u);
|
|
652
|
+
let d = new t().lerpVectors(a, c, r), f = new i().slerpQuaternions(o, l, r), p = W(o.clone().conjugate().multiply(l));
|
|
653
|
+
if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && a.length() > .001 && c.length() > .001) {
|
|
654
|
+
let e = a.clone().normalize().dot(c.clone().normalize());
|
|
655
655
|
if (Math.abs(e) < .999) {
|
|
656
|
-
let
|
|
657
|
-
d =
|
|
656
|
+
let n = new t().crossVectors(a, c), o = new i().setFromAxisAngle(n.normalize(), Math.acos(e) * r), s = a.length() * r + c.length() * (1 - r);
|
|
657
|
+
d = a.applyQuaternion(o).normalize().multiplyScalar(s);
|
|
658
658
|
}
|
|
659
659
|
}
|
|
660
|
-
let h = new
|
|
660
|
+
let h = new t().lerpVectors(s, u, r), g = new m();
|
|
661
661
|
return g.compose(d, f, h), g;
|
|
662
662
|
}, qe = (e) => {
|
|
663
663
|
let t = new h();
|
|
@@ -702,9 +702,9 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
702
702
|
window.TWEEN?.add(i);
|
|
703
703
|
}
|
|
704
704
|
});
|
|
705
|
-
}, Xe = (e,
|
|
706
|
-
let
|
|
707
|
-
return
|
|
705
|
+
}, Xe = (e, n) => {
|
|
706
|
+
let r = new u().setFromObject(e), i = r.getSize(new t()), a = Math.min(i.x, i.y, i.z), o = !0;
|
|
707
|
+
return a > 5 && (console.warn("GLB seems to be too big (" + a + ")", n), o = !1), r.min.y < -.01 && (console.warn("GLB seems to be under the floor (" + r.min.y + "): ", n), o = !1), o;
|
|
708
708
|
}, Ze = (e) => {
|
|
709
709
|
e.type === "Mesh" ? J(e) : q(e);
|
|
710
710
|
}, q = (e) => {
|
|
@@ -744,10 +744,10 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
744
744
|
let n = "";
|
|
745
745
|
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);
|
|
746
746
|
}, rt = (e) => {
|
|
747
|
-
let
|
|
748
|
-
|
|
749
|
-
let
|
|
750
|
-
return
|
|
747
|
+
let n = e.getWorldDirection(new t()).clone();
|
|
748
|
+
n.y = 0, n.lengthSq() < .01 && (n = new t(0, 1, 0), n.applyQuaternion(e.quaternion), n.y = 0), n.normalize();
|
|
749
|
+
let r = Math.asin(n.x);
|
|
750
|
+
return n.z < 0 && (r = Math.PI - r), r < 0 && (r += Math.PI * 2), r;
|
|
751
751
|
}, it = (e, t) => {
|
|
752
752
|
if (!e || !t) return 0;
|
|
753
753
|
let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
|
|
@@ -761,17 +761,17 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
761
761
|
return n === .5 ? 0 : n > .5 ? -1 : 1;
|
|
762
762
|
}
|
|
763
763
|
return n === !0 ? 1 : -1;
|
|
764
|
-
}, at = (e,
|
|
765
|
-
let
|
|
766
|
-
if (
|
|
767
|
-
let
|
|
768
|
-
let
|
|
769
|
-
return e.getSize(
|
|
770
|
-
},
|
|
771
|
-
return
|
|
772
|
-
}, ot = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, st = (e,
|
|
773
|
-
let
|
|
774
|
-
return d *=
|
|
764
|
+
}, at = (e, n) => {
|
|
765
|
+
let r = new u();
|
|
766
|
+
if (r.copy(e).intersect(n), r.isEmpty()) return 0;
|
|
767
|
+
let i = (e) => {
|
|
768
|
+
let n = new t();
|
|
769
|
+
return e.getSize(n), n.x * n.y * n.z;
|
|
770
|
+
}, a = i(e), o = i(r);
|
|
771
|
+
return a === 0 ? 0 : o / a;
|
|
772
|
+
}, ot = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, st = (e, n, r, i = 1) => {
|
|
773
|
+
let a = n > r, o = a ? 15 : 0, s = a ? 0 : 10, c = e.getSize(new t()), l = e.getCenter(new t()), d = c.x > 2 * o ? c.x / 2 : o, f = c.z > 2 * s ? c.z / 2 : s;
|
|
774
|
+
return d *= i, f *= i, new u(new t(l.x - d, l.y, l.z - f), new t(l.x + d, l.y, l.z + f));
|
|
775
775
|
}, ct = (e) => {
|
|
776
776
|
let { x: t, y: n } = e;
|
|
777
777
|
return {
|
|
@@ -785,18 +785,18 @@ var F = .4, I = "#DDDDDD", ve = .4, ye = "#7B7B7B", be = "#B1B1B1", xe = .8, Se
|
|
|
785
785
|
y: n,
|
|
786
786
|
z: r
|
|
787
787
|
};
|
|
788
|
-
}, ut = (e,
|
|
789
|
-
let t = new
|
|
788
|
+
}, ut = (e, n, r) => new t().setFromSphericalCoords(e, Math.PI * (1 - r), Math.PI * 2 * (1 - n)), dt = (e) => {
|
|
789
|
+
let t = new r();
|
|
790
790
|
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;
|
|
791
|
-
}, ft = (e,
|
|
792
|
-
let
|
|
793
|
-
|
|
794
|
-
let
|
|
795
|
-
return
|
|
791
|
+
}, ft = (e, n) => {
|
|
792
|
+
let r = new l(), i = new m().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
|
|
793
|
+
r.setFromProjectionMatrix(i);
|
|
794
|
+
let a = n.getCenter(new t());
|
|
795
|
+
return r.containsPoint(a);
|
|
796
796
|
}, pt = (e) => {
|
|
797
797
|
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 ");
|
|
798
798
|
};
|
|
799
799
|
//#endregion
|
|
800
800
|
export { O as $, we as A, je as B, qe as C, b as Ct, Ie as D, nt as E, ft as F, Ue as G, Ae as H, ot as I, Je as J, ct as K, De as L, Ve as M, rt as N, Te as O, He as P, E as Q, Oe as R, $ as S, ne as St, st as T, z as U, ke as V, G as W, et as X, tt as Y, ut as Z, X as _, oe as _t, be as a, w as at, Ye as b, ie as bt, U as c, de as ct, Xe as d, pe as dt, M as et, it as f, S as ft, Y as g, re as gt, Ze as h, ae as ht, ye as i, he as it, Ee as j, Ce as k, ze as l, ue as lt, Me as m, se as mt, Se as n, _e as nt, F as o, me as ot, dt as p, x as pt, lt as q, ve as r, ge as rt, I as s, fe as st, xe as t, T as tt, We as u, le as ut, J as v, ce as vt, $e as w, Qe as x, ee as xt, q as y, te as yt, pt as z };
|
|
801
801
|
|
|
802
|
-
//# sourceMappingURL=threejs-utils-
|
|
802
|
+
//# sourceMappingURL=threejs-utils-PRhv_eX3.mjs.map
|