@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.
Files changed (127) hide show
  1. package/lib/{BufferGeometry-CnbfgBmz.mjs → BufferGeometry-DcRNeLZD.mjs} +2 -2
  2. package/lib/{BufferGeometry-CnbfgBmz.mjs.map → BufferGeometry-DcRNeLZD.mjs.map} +1 -1
  3. package/lib/{GLTFExporter-BxcjPMva.mjs → GLTFExporter-DdzTpCjW.mjs} +46 -46
  4. package/lib/{GLTFExporter-BxcjPMva.mjs.map → GLTFExporter-DdzTpCjW.mjs.map} +1 -1
  5. package/lib/{GaussianBlurNode-8gO-I1qG.mjs → GaussianBlurNode-CLuzhfDu.mjs} +19 -19
  6. package/lib/{GaussianBlurNode-8gO-I1qG.mjs.map → GaussianBlurNode-CLuzhfDu.mjs.map} +1 -1
  7. package/lib/{Object3D-DMaDdv-D.mjs → Object3D-CEXK2mMb.mjs} +1 -1
  8. package/lib/{Object3D-DMaDdv-D.mjs.map → Object3D-CEXK2mMb.mjs.map} +1 -1
  9. package/lib/Pass-C7MZilDW.mjs +53 -0
  10. package/lib/Pass-C7MZilDW.mjs.map +1 -0
  11. package/lib/{PointLightHelper-CahXSxiA.mjs → PointLightHelper-dDeo1kUI.mjs} +4 -4
  12. package/lib/{PointLightHelper-CahXSxiA.mjs.map → PointLightHelper-dDeo1kUI.mjs.map} +1 -1
  13. package/lib/{SpotLightHelper-BEqeYq1p.mjs → SpotLightHelper-BsMEPgVo.mjs} +3 -3
  14. package/lib/{SpotLightHelper-BEqeYq1p.mjs.map → SpotLightHelper-BsMEPgVo.mjs.map} +1 -1
  15. package/lib/{USDZExporter-ZZoG1mne.mjs → USDZExporter-BIDQSKG4.mjs} +3 -3
  16. package/lib/{USDZExporter-ZZoG1mne.mjs.map → USDZExporter-BIDQSKG4.mjs.map} +1 -1
  17. package/lib/{Vector4-BkA_VGid.mjs → Vector4-D-4p8rfn.mjs} +2 -2
  18. package/lib/{Vector4-BkA_VGid.mjs.map → Vector4-D-4p8rfn.mjs.map} +1 -1
  19. package/lib/{api-CUyBdNba.mjs → api-BEszDVqh.mjs} +10 -10
  20. package/lib/{api-CUyBdNba.mjs.map → api-BEszDVqh.mjs.map} +1 -1
  21. package/lib/{asset-loader.worker-C_5RQYHp.mjs → asset-loader.worker-eqHzNAwa.mjs} +1 -1
  22. package/lib/asset-loader.worker-eqHzNAwa.mjs.map +1 -0
  23. package/lib/{banana-for-scale-B77S3z9R.mjs → banana-for-scale-CiCouumi.mjs} +4 -4
  24. package/lib/{banana-for-scale-B77S3z9R.mjs.map → banana-for-scale-CiCouumi.mjs.map} +1 -1
  25. package/lib/{budgeteer.sw-DxeAvd0v.mjs → budgeteer.sw-BUMElkO1.mjs} +1 -1
  26. package/lib/budgeteer.sw-BUMElkO1.mjs.map +1 -0
  27. package/lib/{common-utils-BiOW17Ao.mjs → common-utils-CCzT4Gnn.mjs} +2 -2
  28. package/lib/{common-utils-BiOW17Ao.mjs.map → common-utils-CCzT4Gnn.mjs.map} +1 -1
  29. package/lib/{component-dimensioning-DPyPzSsa.mjs → component-dimensioning-DWEZ4jZg.mjs} +7 -7
  30. package/lib/{component-dimensioning-DPyPzSsa.mjs.map → component-dimensioning-DWEZ4jZg.mjs.map} +1 -1
  31. package/lib/{component-raycast-helper-RiQIybsX.mjs → component-raycast-helper-D2hyLpdX.mjs} +17 -17
  32. package/lib/{component-raycast-helper-RiQIybsX.mjs.map → component-raycast-helper-D2hyLpdX.mjs.map} +1 -1
  33. package/lib/configurator-BENT3shs.mjs +2 -0
  34. package/lib/{configurator-C_rsqn9l.mjs → configurator-BjLLdSf8.mjs} +16 -16
  35. package/lib/{configurator-C_rsqn9l.mjs.map → configurator-BjLLdSf8.mjs.map} +1 -1
  36. package/lib/{continuous-drawing-helper-C_Yc0uuv.mjs → continuous-drawing-helper-CCuU99Vh.mjs} +3 -3
  37. package/lib/{continuous-drawing-helper-C_Yc0uuv.mjs.map → continuous-drawing-helper-CCuU99Vh.mjs.map} +1 -1
  38. package/lib/{dat.gui.module-BLjoST8r.mjs → dat.gui.module-B2PXSbre.mjs} +1 -1
  39. package/lib/{dat.gui.module-BLjoST8r.mjs.map → dat.gui.module-B2PXSbre.mjs.map} +1 -1
  40. package/lib/{decorate-BAtqSPNS.mjs → decorate-CX1ZGuFY.mjs} +1 -1
  41. package/lib/{decorate-BAtqSPNS.mjs.map → decorate-CX1ZGuFY.mjs.map} +1 -1
  42. package/lib/{dimensioning-helper-D9oxGkry.mjs → dimensioning-helper-CjuQqjBn.mjs} +14 -14
  43. package/lib/{dimensioning-helper-D9oxGkry.mjs.map → dimensioning-helper-CjuQqjBn.mjs.map} +1 -1
  44. package/lib/dimensioning-helper-ImsWfczi.mjs +2 -0
  45. package/lib/{dist-DGov-RNo.mjs → dist-Blgk0vU0.mjs} +1 -1
  46. package/lib/{dist-DGov-RNo.mjs.map → dist-Blgk0vU0.mjs.map} +1 -1
  47. package/lib/{fflate.module-CTnSdWOb.mjs → fflate.module-DTkA0kF8.mjs} +1 -1
  48. package/lib/{fflate.module-CTnSdWOb.mjs.map → fflate.module-DTkA0kF8.mjs.map} +1 -1
  49. package/lib/{glb-viewer-A5vSLFZ5.mjs → glb-viewer-9Ata6ZNJ.mjs} +59 -45
  50. package/lib/glb-viewer-9Ata6ZNJ.mjs.map +1 -0
  51. package/lib/glb-viewer-CGqSGT38.mjs +2 -0
  52. package/lib/{highlight-coordinator-CZEJGeXA.mjs → highlight-coordinator-PyWNABN9.mjs} +3 -3
  53. package/lib/{highlight-coordinator-CZEJGeXA.mjs.map → highlight-coordinator-PyWNABN9.mjs.map} +1 -1
  54. package/lib/{homag-intelligence-BdCDX7LF.mjs → homag-intelligence-BNqPqVgE.mjs} +3 -3
  55. package/lib/{homag-intelligence-BdCDX7LF.mjs.map → homag-intelligence-BNqPqVgE.mjs.map} +1 -1
  56. package/lib/{imos-ix-poc-export-helper-CaXXDNvP.mjs → imos-ix-poc-export-helper-C1LfrtjM.mjs} +3 -3
  57. package/lib/{imos-ix-poc-export-helper-CaXXDNvP.mjs.map → imos-ix-poc-export-helper-C1LfrtjM.mjs.map} +1 -1
  58. package/lib/{kernel-utils-BYEsHVYJ.mjs → kernel-utils-Cn4evFqF.mjs} +2 -2
  59. package/lib/{kernel-utils-BYEsHVYJ.mjs.map → kernel-utils-Cn4evFqF.mjs.map} +1 -1
  60. package/lib/{layer-CIWL5ZW3.mjs → layer-DvZF9ur3.mjs} +1 -1
  61. package/lib/{layer-CIWL5ZW3.mjs.map → layer-DvZF9ur3.mjs.map} +1 -1
  62. package/lib/{main-BUl8iCi1.mjs → main-n3n3jdja.mjs} +1097 -1017
  63. package/lib/{main-BUl8iCi1.mjs.map → main-n3n3jdja.mjs.map} +1 -1
  64. package/lib/{material-viewer-C4SqVaGG.mjs → material-viewer-Cv5Awgwm.mjs} +24 -24
  65. package/lib/{material-viewer-C4SqVaGG.mjs.map → material-viewer-Cv5Awgwm.mjs.map} +1 -1
  66. package/lib/{packages-C9gO5mKk.mjs → packages-B3bi3adH.mjs} +5 -5
  67. package/lib/{packages-C9gO5mKk.mjs.map → packages-B3bi3adH.mjs.map} +1 -1
  68. package/lib/planner-DIT2VvMG.mjs +44 -0
  69. package/lib/{planner-t4QH26WW.mjs.map → planner-DIT2VvMG.mjs.map} +1 -1
  70. package/lib/planner-DaI8ZwEe.mjs +2 -0
  71. package/lib/{plugin-system-COZJdJH_.mjs → plugin-system-FuZpDWqv.mjs} +3 -3
  72. package/lib/{plugin-system-COZJdJH_.mjs.map → plugin-system-FuZpDWqv.mjs.map} +1 -1
  73. package/lib/roomle-headless-setup-CMHahWyC.mjs +612 -0
  74. package/lib/roomle-headless-setup-CMHahWyC.mjs.map +1 -0
  75. package/lib/roomle-headless.d.ts +113 -34
  76. package/lib/roomle-headless.js +433 -84
  77. package/lib/roomle-headless.js.map +1 -1
  78. package/lib/{roomle-renderer-DhLUaHJZ.mjs → roomle-renderer-BR0UKz2y.mjs} +2 -2
  79. package/lib/{roomle-renderer-DhLUaHJZ.mjs.map → roomle-renderer-BR0UKz2y.mjs.map} +1 -1
  80. package/lib/roomle-sdk.d.ts +37 -9
  81. package/lib/roomle-sdk.js +8 -8
  82. package/lib/{roomle-webgpu-renderer-CRGcdahn.mjs → roomle-webgpu-renderer-fOYJoKJU.mjs} +175 -173
  83. package/lib/roomle-webgpu-renderer-fOYJoKJU.mjs.map +1 -0
  84. package/lib/{scene-renderer-D5CfxCag.mjs → scene-renderer-CAzAJ4pS.mjs} +212 -211
  85. package/lib/{scene-renderer-D5CfxCag.mjs.map → scene-renderer-CAzAJ4pS.mjs.map} +1 -1
  86. package/lib/{script-loader-D6IuUFjw.mjs → script-loader-BAWHLt9q.mjs} +3 -3
  87. package/lib/{script-loader-D6IuUFjw.mjs.map → script-loader-BAWHLt9q.mjs.map} +1 -1
  88. package/lib/{shading-settings-BEMqEGzB.mjs → shading-settings-BPpgt0Fq.mjs} +101 -146
  89. package/lib/shading-settings-BPpgt0Fq.mjs.map +1 -0
  90. package/lib/{stats-helper-DAfbSToL.mjs → stats-helper-CqiTcJuc.mjs} +3 -3
  91. package/lib/{stats-helper-DAfbSToL.mjs.map → stats-helper-CqiTcJuc.mjs.map} +1 -1
  92. package/lib/{svgo.browser-DYieWzyw.mjs → svgo.browser-EB1zkPfG.mjs} +1 -1
  93. package/lib/{svgo.browser-DYieWzyw.mjs.map → svgo.browser-EB1zkPfG.mjs.map} +1 -1
  94. package/lib/{three.core-DjCexDCp.mjs → three.core-CmmDf_BZ.mjs} +73 -38
  95. package/lib/{three.core-DjCexDCp.mjs.map → three.core-CmmDf_BZ.mjs.map} +1 -1
  96. package/lib/{three.module-CuRNgijg.mjs → three.module-BkkLbA6n.mjs} +857 -857
  97. package/lib/{three.module-CuRNgijg.mjs.map → three.module-BkkLbA6n.mjs.map} +1 -1
  98. package/lib/three.tsl-8HwZJGJ8.mjs +2 -0
  99. package/lib/{three.tsl-BIBER8nk.mjs → three.tsl-Cw9IeeKW.mjs} +64 -52
  100. package/lib/{three.tsl-BIBER8nk.mjs.map → three.tsl-Cw9IeeKW.mjs.map} +1 -1
  101. package/lib/three.webgpu-Bw4_U6Q1.mjs +3 -0
  102. package/lib/{three.webgpu-Bz4Xtk0X.mjs → three.webgpu-DL5l_0xI.mjs} +1742 -1728
  103. package/lib/{three.webgpu-Bz4Xtk0X.mjs.map → three.webgpu-DL5l_0xI.mjs.map} +1 -1
  104. package/lib/{threejs-utils-Dpvg3Czz.mjs → threejs-utils-PRhv_eX3.mjs} +63 -63
  105. package/lib/{threejs-utils-Dpvg3Czz.mjs.map → threejs-utils-PRhv_eX3.mjs.map} +1 -1
  106. package/lib/{tools-core-BDOFf9le.mjs → tools-core-CmrXkw3J.mjs} +3 -3
  107. package/lib/{tools-core-BDOFf9le.mjs.map → tools-core-CmrXkw3J.mjs.map} +1 -1
  108. package/lib/webgpu-wkXAkJ6p.mjs +5084 -0
  109. package/lib/webgpu-wkXAkJ6p.mjs.map +1 -0
  110. package/lib/workers-YGDNEfpU.mjs +6 -0
  111. package/lib/{workers-DcgrO-z7.mjs.map → workers-YGDNEfpU.mjs.map} +1 -1
  112. package/package.json +5 -4
  113. package/lib/asset-loader.worker-C_5RQYHp.mjs.map +0 -1
  114. package/lib/budgeteer.sw-DxeAvd0v.mjs.map +0 -1
  115. package/lib/configurator-BBlZVIId.mjs +0 -2
  116. package/lib/dimensioning-helper-Bzf1sbpy.mjs +0 -2
  117. package/lib/glb-viewer-A5vSLFZ5.mjs.map +0 -1
  118. package/lib/glb-viewer-B4ILlvw0.mjs +0 -2
  119. package/lib/planner-49YwTdiA.mjs +0 -2
  120. package/lib/planner-t4QH26WW.mjs +0 -44
  121. package/lib/roomle-headless-setup-Cc8EAnVe.mjs +0 -1204
  122. package/lib/roomle-headless-setup-Cc8EAnVe.mjs.map +0 -1
  123. package/lib/roomle-webgpu-renderer-CRGcdahn.mjs.map +0 -1
  124. package/lib/shading-settings-BEMqEGzB.mjs.map +0 -1
  125. package/lib/three.tsl-Q-21y0pO.mjs +0 -2
  126. package/lib/three.webgpu-dtN0kDKB.mjs +0 -3
  127. package/lib/workers-DcgrO-z7.mjs +0 -6
@@ -1,7 +1,7 @@
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-DjCexDCp.mjs";
2
- import { r as g } from "./three.module-CuRNgijg.mjs";
3
- import { a as _ } from "./kernel-utils-BYEsHVYJ.mjs";
4
- import { V as v, b as y } from "./common-utils-BiOW17Ao.mjs";
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-BLjoST8r.mjs").then((e) => {
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, t, n, r) => {
459
- if (!e || !t || n === 0 || r === 0) return new a();
460
- let i = e.clone(), o = n / 2, s = r / 2;
461
- 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;
462
- }, De = (e, t) => {
463
- t ||= new a(0, 0, 0);
464
- 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);
465
- return new u(new a(0, 0, -n.z).add(r).sub(t), new a(n.x, n.y, 0).add(r).add(t));
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 n = new o(e, 1, 1, t);
483
- return n.needsUpdate = !0, n;
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, a, o, s = 16) => {
559
- if (e.anisotropy = r, e.wrapS = i, e.wrapT = i, s <= 8 && [
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(a, 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;
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, t) => {
631
- let n = e.clone().invert().clone().multiply(t), i = new a(), o = new r();
632
- n.decompose(i, o, new a());
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 (i.length() < .001 || Math.abs(s.angleRad) < .001 || c.length() < .001) return new m().identity();
635
- 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();
636
- d = new a().crossVectors(p, c).normalize();
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 t = Math.sqrt(1 - e.w * e.w);
640
+ let n = Math.sqrt(1 - e.w * e.w);
641
641
  return {
642
- axis: new a(e.x, e.y, e.z).multiplyScalar(t === 0 ? 1 : 1 / t),
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, t, n) => {
648
- let i = new a(), o = new r(), s = new a();
649
- e.decompose(i, o, s);
650
- let c = new a(), l = new r(), u = new a();
651
- t.decompose(c, l, u);
652
- let d = new a().lerpVectors(i, c, n), f = new r().slerpQuaternions(o, l, n), p = W(o.clone().conjugate().multiply(l));
653
- if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && i.length() > .001 && c.length() > .001) {
654
- let e = i.clone().normalize().dot(c.clone().normalize());
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 t = new a().crossVectors(i, c), o = new r().setFromAxisAngle(t.normalize(), Math.acos(e) * n), s = i.length() * n + c.length() * (1 - n);
657
- d = i.applyQuaternion(o).normalize().multiplyScalar(s);
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 a().lerpVectors(s, u, n), g = new m();
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, t) => {
706
- let n = new u().setFromObject(e), r = n.getSize(new a()), i = Math.min(r.x, r.y, r.z), o = !0;
707
- 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;
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 t = e.getWorldDirection(new a()).clone();
748
- t.y = 0, t.lengthSq() < .01 && (t = new a(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
749
- let n = Math.asin(t.x);
750
- return t.z < 0 && (n = Math.PI - n), n < 0 && (n += Math.PI * 2), n;
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, t) => {
765
- let n = new u();
766
- if (n.copy(e).intersect(t), n.isEmpty()) return 0;
767
- let r = (e) => {
768
- let t = new a();
769
- return e.getSize(t), t.x * t.y * t.z;
770
- }, i = r(e), o = r(n);
771
- return i === 0 ? 0 : o / i;
772
- }, ot = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, st = (e, t, n, r = 1) => {
773
- 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;
774
- 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));
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, t, n) => new a().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), dt = (e) => {
789
- let t = new n();
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, t) => {
792
- let n = new l(), r = new m().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
793
- n.setFromProjectionMatrix(r);
794
- let i = t.getCenter(new a());
795
- return n.containsPoint(i);
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-Dpvg3Czz.mjs.map
802
+ //# sourceMappingURL=threejs-utils-PRhv_eX3.mjs.map