@roomle/web-sdk 3.9.0-alpha.5 → 3.9.0

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 (108) hide show
  1. package/lib/{BufferGeometry-ltw0XkYt.mjs → BufferGeometry-Dxcf7n9V.mjs} +1 -1
  2. package/lib/{BufferGeometry-ltw0XkYt.mjs.map → BufferGeometry-Dxcf7n9V.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-yfYOtLdk.mjs → GLTFExporter-kpv1e-Ks.mjs} +84 -84
  5. package/lib/{GLTFExporter-yfYOtLdk.mjs.map → GLTFExporter-kpv1e-Ks.mjs.map} +1 -1
  6. package/lib/GaussianBlurNode-CMVlBe39.mjs +59 -0
  7. package/lib/GaussianBlurNode-CMVlBe39.mjs.map +1 -0
  8. package/lib/{PointLightHelper-AxCe6I00.mjs → PointLightHelper-fzRB58rC.mjs} +2 -2
  9. package/lib/{PointLightHelper-AxCe6I00.mjs.map → PointLightHelper-fzRB58rC.mjs.map} +1 -1
  10. package/lib/RoomleCore.wasm +0 -0
  11. package/lib/RoomleToolsCore.wasm +0 -0
  12. package/lib/{SpotLightHelper-DpMerFPv.mjs → SpotLightHelper-D5UFwRPb.mjs} +2 -2
  13. package/lib/{SpotLightHelper-DpMerFPv.mjs.map → SpotLightHelper-D5UFwRPb.mjs.map} +1 -1
  14. package/lib/{USDZExporter-DFJQYX8l.mjs → USDZExporter-Y0SSGr5_.mjs} +2 -2
  15. package/lib/{USDZExporter-DFJQYX8l.mjs.map → USDZExporter-Y0SSGr5_.mjs.map} +1 -1
  16. package/lib/{api-x84SYo8e.mjs → api-52cOotqw.mjs} +2 -2
  17. package/lib/{api-x84SYo8e.mjs.map → api-52cOotqw.mjs.map} +1 -1
  18. package/lib/{asset-loader.worker-A7nEeQB4.mjs → asset-loader.worker-C911tbNL.mjs} +1 -1
  19. package/lib/asset-loader.worker-C911tbNL.mjs.map +1 -0
  20. package/lib/{banana-for-scale-CFY_5rk1.mjs → banana-for-scale-B_LIHI9q.mjs} +3 -3
  21. package/lib/{banana-for-scale-CFY_5rk1.mjs.map → banana-for-scale-B_LIHI9q.mjs.map} +1 -1
  22. package/lib/{budgeteer.sw-CQWYbQSc.mjs → budgeteer.sw-D3VxiASa.mjs} +1 -1
  23. package/lib/budgeteer.sw-D3VxiASa.mjs.map +1 -0
  24. package/lib/{common-utils-L3DF6Ey5.mjs → common-utils-B9PC_rvS.mjs} +2 -2
  25. package/lib/{common-utils-L3DF6Ey5.mjs.map → common-utils-B9PC_rvS.mjs.map} +1 -1
  26. package/lib/{component-dimensioning-FjlPqIvQ.mjs → component-dimensioning-12aJsCzQ.mjs} +31 -31
  27. package/lib/{component-dimensioning-FjlPqIvQ.mjs.map → component-dimensioning-12aJsCzQ.mjs.map} +1 -1
  28. package/lib/{component-raycast-helper-1n4uXeSD.mjs → component-raycast-helper-CcrmOq29.mjs} +14 -14
  29. package/lib/{component-raycast-helper-1n4uXeSD.mjs.map → component-raycast-helper-CcrmOq29.mjs.map} +1 -1
  30. package/lib/configurator-CarZpfPv.mjs +2 -0
  31. package/lib/{configurator-Dw5JbPMY.mjs → configurator-D3ZKy6bf.mjs} +10 -10
  32. package/lib/{configurator-Dw5JbPMY.mjs.map → configurator-D3ZKy6bf.mjs.map} +1 -1
  33. package/lib/{continuous-drawing-helper-DEmx54k_.mjs → continuous-drawing-helper-D25YPUle.mjs} +4 -4
  34. package/lib/{continuous-drawing-helper-DEmx54k_.mjs.map → continuous-drawing-helper-D25YPUle.mjs.map} +1 -1
  35. package/lib/{dimensioning-helper-BXD6AEqL.mjs → dimensioning-helper-d6JA4UMr.mjs} +49 -49
  36. package/lib/{dimensioning-helper-BXD6AEqL.mjs.map → dimensioning-helper-d6JA4UMr.mjs.map} +1 -1
  37. package/lib/dimensioning-helper-pPTkh8pl.mjs +2 -0
  38. package/lib/{glb-viewer-CWkc6wx7.mjs → glb-viewer-BJJ9OIlH.mjs} +35 -35
  39. package/lib/{glb-viewer-CWkc6wx7.mjs.map → glb-viewer-BJJ9OIlH.mjs.map} +1 -1
  40. package/lib/glb-viewer-CJ7BPqI-.mjs +2 -0
  41. package/lib/{highlight-coordinator-BJJw_RgR.mjs → highlight-coordinator-BuFleG2q.mjs} +8 -8
  42. package/lib/{highlight-coordinator-BJJw_RgR.mjs.map → highlight-coordinator-BuFleG2q.mjs.map} +1 -1
  43. package/lib/{homag-intelligence-Dk4WxD0p.mjs → homag-intelligence-BxpMWKLs.mjs} +5 -5
  44. package/lib/{homag-intelligence-Dk4WxD0p.mjs.map → homag-intelligence-BxpMWKLs.mjs.map} +1 -1
  45. package/lib/{imos-ix-poc-export-helper-C9wPB6fl.mjs → imos-ix-poc-export-helper-DU0ag-Lw.mjs} +3 -3
  46. package/lib/{imos-ix-poc-export-helper-C9wPB6fl.mjs.map → imos-ix-poc-export-helper-DU0ag-Lw.mjs.map} +1 -1
  47. package/lib/{kernel-utils-B5QlsCwn.mjs → kernel-utils-Cj5B4fDD.mjs} +16 -16
  48. package/lib/{kernel-utils-B5QlsCwn.mjs.map → kernel-utils-Cj5B4fDD.mjs.map} +1 -1
  49. package/lib/{main-CqSFaC9L.mjs → main-QTvbXAvy.mjs} +27277 -3406
  50. package/lib/main-QTvbXAvy.mjs.map +1 -0
  51. package/lib/{material-viewer-BSgvHUAe.mjs → material-viewer-BPcCfvCC.mjs} +18 -18
  52. package/lib/{material-viewer-BSgvHUAe.mjs.map → material-viewer-BPcCfvCC.mjs.map} +1 -1
  53. package/lib/packages-JQ2uWInj.mjs +4 -0
  54. package/lib/{planner-BgAj8Jp1.mjs → planner-C1-sOmHY.mjs} +5 -5
  55. package/lib/{planner-BgAj8Jp1.mjs.map → planner-C1-sOmHY.mjs.map} +1 -1
  56. package/lib/planner-CnRaQM_h.mjs +2 -0
  57. package/lib/{plugin-system-BBgoIai2.mjs → plugin-system-DlME_5b_.mjs} +2 -2
  58. package/lib/{plugin-system-BBgoIai2.mjs.map → plugin-system-DlME_5b_.mjs.map} +1 -1
  59. package/lib/rolldown-runtime-BwvMKf85.mjs +23 -0
  60. package/lib/roomle-headless.d.ts +32 -4
  61. package/lib/roomle-headless.js +40 -40
  62. package/lib/roomle-headless.js.map +1 -1
  63. package/lib/{roomle-renderer-CkSFbpmg.mjs → roomle-renderer-DYQvV88j.mjs} +2 -2
  64. package/lib/{roomle-renderer-CkSFbpmg.mjs.map → roomle-renderer-DYQvV88j.mjs.map} +1 -1
  65. package/lib/roomle-sdk.d.ts +32 -4
  66. package/lib/roomle-sdk.js +8 -8
  67. package/lib/{roomle-webgpu-renderer-DUr1RZL6.mjs → roomle-webgpu-renderer-BrZZeAGw.mjs} +296 -419
  68. package/lib/roomle-webgpu-renderer-BrZZeAGw.mjs.map +1 -0
  69. package/lib/{scene-renderer-BuMnigf2.mjs → scene-renderer-3nhM4cEu.mjs} +394 -394
  70. package/lib/{scene-renderer-BuMnigf2.mjs.map → scene-renderer-3nhM4cEu.mjs.map} +1 -1
  71. package/lib/{script-loader-DzyUQT3-.mjs → script-loader-3LiaLeLT.mjs} +2 -2
  72. package/lib/{script-loader-DzyUQT3-.mjs.map → script-loader-3LiaLeLT.mjs.map} +1 -1
  73. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  74. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  75. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  76. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  77. package/lib/{stats-helper-BZnX3BX3.mjs → stats-helper-COC7Moh0.mjs} +3 -3
  78. package/lib/{stats-helper-BZnX3BX3.mjs.map → stats-helper-COC7Moh0.mjs.map} +1 -1
  79. package/lib/{three.core-DNErG1F6.mjs → three.core-tV_4n8Wg.mjs} +374 -301
  80. package/lib/{three.core-DNErG1F6.mjs.map → three.core-tV_4n8Wg.mjs.map} +1 -1
  81. package/lib/{three.module-BZkESKo3.mjs → three.module-DC5fF9Zl.mjs} +1568 -1568
  82. package/lib/{three.module-BZkESKo3.mjs.map → three.module-DC5fF9Zl.mjs.map} +1 -1
  83. package/lib/three.tsl-CAEdYyg3.mjs +136 -0
  84. package/lib/three.tsl-CAEdYyg3.mjs.map +1 -0
  85. package/lib/three.tsl-S0OKwamA.mjs +2 -0
  86. package/lib/{three.webgpu-C8myBXe1.mjs → three.webgpu-CkP2nkXM.mjs} +747 -747
  87. package/lib/{three.webgpu-C8myBXe1.mjs.map → three.webgpu-CkP2nkXM.mjs.map} +1 -1
  88. package/lib/three.webgpu-qrxDA_v0.mjs +3 -0
  89. package/lib/{threejs-utils-D7sinreM.mjs → threejs-utils-CElderZe.mjs} +68 -68
  90. package/lib/threejs-utils-CElderZe.mjs.map +1 -0
  91. package/lib/{tools-core-BxOoo-C1.mjs → tools-core-mkA4m80O.mjs} +3 -3
  92. package/lib/{tools-core-BxOoo-C1.mjs.map → tools-core-mkA4m80O.mjs.map} +1 -1
  93. package/lib/workers-HXGCmmZS.mjs +6 -0
  94. package/lib/{workers-BJYv3y38.mjs.map → workers-HXGCmmZS.mjs.map} +1 -1
  95. package/package.json +1 -1
  96. package/lib/asset-loader.worker-A7nEeQB4.mjs.map +0 -1
  97. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +0 -1
  98. package/lib/configurator-DeUTcLI3.mjs +0 -2
  99. package/lib/dimensioning-helper-Do9jwg8T.mjs +0 -2
  100. package/lib/glb-viewer-Ci-IZcIt.mjs +0 -2
  101. package/lib/main-CqSFaC9L.mjs.map +0 -1
  102. package/lib/packages-0mEYlGTx.mjs +0 -4
  103. package/lib/planner-CIvdB7af.mjs +0 -2
  104. package/lib/rolldown-runtime-DgwB9i60.mjs +0 -13
  105. package/lib/roomle-webgpu-renderer-DUr1RZL6.mjs.map +0 -1
  106. package/lib/three.webgpu-WIkDzwXU.mjs +0 -3
  107. package/lib/threejs-utils-D7sinreM.mjs.map +0 -1
  108. package/lib/workers-BJYv3y38.mjs +0 -6
@@ -0,0 +1,3 @@
1
+ import "./three.core-tV_4n8Wg.mjs";
2
+ import { An as e, Tt as t, fr as n, pn as r, rn as i } from "./three.webgpu-CkP2nkXM.mjs";
3
+ export { t as MeshStandardNodeMaterial, i as PointLightNode, r as RectAreaLightNode, e as SpotLightNode, n as WebGPURenderer };
@@ -1,7 +1,7 @@
1
- import { B as e, C as t, In as n, Vr as r, Wn as i, cn as a, d as o, gn as s, hn as c, jr as l, oi as u, on as d, sn as f, ut as p, xi as m, zr as h } from "./three.core-DNErG1F6.mjs";
2
- import { r as g } from "./three.module-BZkESKo3.mjs";
3
- import { a as _ } from "./kernel-utils-B5QlsCwn.mjs";
4
- import { V as v, b as y } from "./common-utils-L3DF6Ey5.mjs";
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 c(e);
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 m();
453
- let i = e.clone(), a = n / 2, o = r / 2;
454
- return i.project(t), i.x = Math.floor(i.x * a + a), i.y = Math.floor(-(i.y * o) + o), i.z = e.distanceTo(t.position), i;
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 m(0, 0, 0);
457
- let n = new m(e.size.x / 1e3, e.size.z / 1e3, e.size.y / 1e3), r = new m(e.origin.x / 1e3, e.origin.z / 1e3, e.origin.y / -1e3);
458
- return new o(new m(0, 0, -n.z).add(r).sub(t), new m(n.x, n.y, 0).add(r).add(t));
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 t = new Uint8Array(4);
471
- for (let e = 0; e < 1; e++) {
472
- let n = e * 4;
473
- t[n] = 255, t[n + 1] = 255, t[n + 2] = 255, t[n + 3] = 255;
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(t, 1, 1, i);
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, n) => {
526
- if (n !== void 0) {
527
- let r = new t(n.r, n.g, n.b);
528
- e.copy(r.convertSRGBToLinear());
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 u(), H.crossOrigin = "");
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, i, a, o, s = 16) => {
552
- if (e.anisotropy = i, e.wrapS = l, e.wrapT = l, s <= 8 && [
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(n.mapping)) {
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, n, r), n.mapping === v.RGBA && (r.transparent = !0, r.userData.materialVersion === 1 && r.name.includes("glow") && (r.emissiveIntensity = .5, r.emissive = new t(16777215), r.emissiveMap = r.map)), r.needsUpdate = !0;
565
- }, Re = (e, t, n) => {
566
- t.mapping === v.XYZ ? (n.normalMap = e, n.map === R() && (n.map = null)) : t.mapping === v.ORM ? (n.aoMap = e, n.roughnessMap = e, n.metalnessMap = e) : t.mapping === v.EMRGB ? n.emissiveMap = e : t.mapping === v.CCRG ? (n.clearcoatMap = e, n.clearcoatRoughnessMap = e) : t.mapping === v.CCXYZ ? n.clearcoatNormalMap = e : t.mapping === v.SHRGBA ? (n.sheenColorMap = e, n.sheenRoughnessMap = e) : t.mapping === v.SPRGBA ? (n.specularColorMap = e, n.specularIntensityMap = e) : t.mapping === v.TTRG ? (n.transmissionMap = e, n.thicknessMap = e) : (e.colorSpace = h, n.map = e);
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 r = e.clone().invert().clone().multiply(t), i = new m(), a = new n();
625
- r.decompose(i, a, new m());
626
- let o = W(a), s = o.axis;
627
- if (i.length() < .001 || Math.abs(o.angleRad) < .001 || s.length() < .001) return new d().identity();
628
- let c = new m().setFromMatrixPosition(e), l = new m().setFromMatrixPosition(t), u = c.clone().sub(l), f = u.length(), p = new m().crossVectors(s, u).normalize();
629
- u = new m().crossVectors(p, s).normalize();
630
- let h = c.clone().add(l).multiplyScalar(.5);
631
- return h = h.sub(p.clone().multiplyScalar(f * .5 / Math.tan(o.angleRad * .5))), new d().makeBasis(p, s, u).setPosition(h);
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 m(e.x, e.y, e.z).multiplyScalar(t === 0 ? 1 : 1 / t),
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, r) => {
641
- let i = new m(), a = new n(), o = new m();
642
- e.decompose(i, a, o);
643
- let s = new m(), c = new n(), l = new m();
644
- t.decompose(s, c, l);
645
- let u = new m().lerpVectors(i, s, r), f = new n().slerpQuaternions(a, c, r), p = W(a.clone().conjugate().multiply(c));
646
- if (p.angleRad > Math.PI && (p.angleRad -= 2 * Math.PI), Math.abs(p.angleRad) > x(1) && i.length() > .001 && s.length() > .001) {
647
- let e = i.clone().normalize().dot(s.clone().normalize());
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 m().crossVectors(i, s), a = new n().setFromAxisAngle(t.normalize(), Math.acos(e) * r), o = i.length() * r + s.length() * (1 - r);
650
- u = i.applyQuaternion(a).normalize().multiplyScalar(o);
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 m().lerpVectors(o, l, r), g = new d();
654
- return g.compose(u, f, h), g;
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 n = new t();
657
- return n.setRGB((e >> 16) / 255, (e >> 8 & 255) / 255, (e >> 0 & 255) / 255), n;
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 f) {
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 f) {
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 o().setFromObject(e), r = n.getSize(new m()), i = Math.min(r.x, r.y, r.z), a = !0;
700
- return i > 5 && (console.warn("GLB seems to be too big (" + i + ")", t), a = !1), n.min.y < -.01 && (console.warn("GLB seems to be under the floor (" + n.min.y + "): ", t), a = !1), a;
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 a(), Z.visible = !1), Z), Q, Ze = (e) => (Q ||= T.createMeshStandardMaterial({
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 m()).clone();
741
- t.y = 0, t.lengthSq() < .01 && (t = new m(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
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 o();
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 m();
761
+ let t = new a();
762
762
  return e.getSize(t), t.x * t.y * t.z;
763
- }, i = r(e), a = r(n);
764
- return i === 0 ? 0 : a / i;
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, a = i ? 15 : 0, s = i ? 0 : 10, c = e.getSize(new m()), l = e.getCenter(new m()), u = c.x > 2 * a ? c.x / 2 : a, d = c.z > 2 * s ? c.z / 2 : s;
767
- return u *= r, d *= r, new o(new m(l.x - u, l.y, l.z - d), new m(l.x + u, l.y, l.z + d));
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 m().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), ct = (e) => {
782
- let t = new r();
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 p(), r = new d().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
785
+ let n = new l(), r = new m().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
786
786
  n.setFromProjectionMatrix(r);
787
- let i = t.getCenter(new m());
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-D7sinreM.mjs.map
795
+ //# sourceMappingURL=threejs-utils-CElderZe.mjs.map