@roomle/web-sdk 3.7.0-alpha.2 → 3.7.0-alpha.4

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 (130) hide show
  1. package/lib/{BufferGeometry-C696z6r3.mjs → BufferGeometry-BzmfTBQt.mjs} +1 -1
  2. package/lib/{BufferGeometry-C696z6r3.mjs.map → BufferGeometry-BzmfTBQt.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-AfQIvZAD.mjs → GLTFExporter-CyhgWPq0.mjs} +2 -2
  5. package/lib/{GLTFExporter-AfQIvZAD.mjs.map → GLTFExporter-CyhgWPq0.mjs.map} +1 -1
  6. package/lib/{PointLightHelper-wVSmrAnD.mjs → PointLightHelper-DwIXACyT.mjs} +2 -2
  7. package/lib/{PointLightHelper-wVSmrAnD.mjs.map → PointLightHelper-DwIXACyT.mjs.map} +1 -1
  8. package/lib/RoomleCore.js +4 -4
  9. package/lib/RoomleCore.wasm +0 -0
  10. package/lib/RoomleToolsCore.wasm +0 -0
  11. package/lib/{SpotLightHelper-C7J95t4f.mjs → SpotLightHelper-CfLHM7LU.mjs} +2 -2
  12. package/lib/{SpotLightHelper-C7J95t4f.mjs.map → SpotLightHelper-CfLHM7LU.mjs.map} +1 -1
  13. package/lib/{USDZExporter-BBk0APeK.mjs → USDZExporter-kmxcTvnQ.mjs} +2 -2
  14. package/lib/{USDZExporter-BBk0APeK.mjs.map → USDZExporter-kmxcTvnQ.mjs.map} +1 -1
  15. package/lib/{api-oYzhcs_W.mjs → api-X1dDTDvL.mjs} +2 -2
  16. package/lib/{api-oYzhcs_W.mjs.map → api-X1dDTDvL.mjs.map} +1 -1
  17. package/lib/{banana-for-scale-D8t2dmc7.mjs → banana-for-scale-Bpf8RfLi.mjs} +4 -4
  18. package/lib/{banana-for-scale-D8t2dmc7.mjs.map → banana-for-scale-Bpf8RfLi.mjs.map} +1 -1
  19. package/lib/budgeteer.sw-CQWYbQSc.mjs.map +1 -1
  20. package/lib/budgeteer.sw.js +1 -1
  21. package/lib/{common-utils-qErzZAiR.mjs → common-utils-DMI8Yuhe.mjs} +5 -3
  22. package/lib/common-utils-DMI8Yuhe.mjs.map +1 -0
  23. package/lib/{component-dimensioning-DlB7-9Om.mjs → component-dimensioning-MtS9xiY-.mjs} +15 -15
  24. package/lib/{component-dimensioning-DlB7-9Om.mjs.map → component-dimensioning-MtS9xiY-.mjs.map} +1 -1
  25. package/lib/{component-raycast-helper-C6ptEb0K.mjs → component-raycast-helper-C1qWqpRH.mjs} +13 -9
  26. package/lib/component-raycast-helper-C1qWqpRH.mjs.map +1 -0
  27. package/lib/configurator-C5t3clCx.mjs +2 -0
  28. package/lib/{configurator-CRMunIq7.mjs → configurator-Cg1a9XSL.mjs} +4 -4
  29. package/lib/{configurator-CRMunIq7.mjs.map → configurator-Cg1a9XSL.mjs.map} +1 -1
  30. package/lib/{continuous-drawing-helper-BwulJHKj.mjs → continuous-drawing-helper-CQx5Sbns.mjs} +3 -3
  31. package/lib/{continuous-drawing-helper-BwulJHKj.mjs.map → continuous-drawing-helper-CQx5Sbns.mjs.map} +1 -1
  32. package/lib/{dat.gui.module-CZHqOVGq.mjs → dat.gui.module-CZ-DIWHM.mjs} +1 -1
  33. package/lib/{dat.gui.module-CZHqOVGq.mjs.map → dat.gui.module-CZ-DIWHM.mjs.map} +1 -1
  34. package/lib/{decorate-BAtqSPNS.mjs → decorate-Bck1_lG8.mjs} +1 -1
  35. package/lib/{decorate-BAtqSPNS.mjs.map → decorate-Bck1_lG8.mjs.map} +1 -1
  36. package/lib/dimensioning-helper-Bfe0fImX.mjs +2 -0
  37. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs → dimensioning-helper-GPn7Z8GE.mjs} +7 -7
  38. package/lib/{dimensioning-helper--Y0Y-Wr1.mjs.map → dimensioning-helper-GPn7Z8GE.mjs.map} +1 -1
  39. package/lib/glb-viewer-DIEpkrvY.mjs +2 -0
  40. package/lib/{glb-viewer-CXEoIw1b.mjs → glb-viewer-tgKOPCaI.mjs} +44 -45
  41. package/lib/glb-viewer-tgKOPCaI.mjs.map +1 -0
  42. package/lib/highlight-coordinator-DRHeEU-E.mjs +116 -0
  43. package/lib/highlight-coordinator-DRHeEU-E.mjs.map +1 -0
  44. package/lib/{homag-intelligence-gb9MqBrz.mjs → homag-intelligence-D5mCTWgG.mjs} +19 -11
  45. package/lib/homag-intelligence-D5mCTWgG.mjs.map +1 -0
  46. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs → imos-ix-poc-export-helper-BKFs_Yhm.mjs} +5 -5
  47. package/lib/{imos-ix-poc-export-helper-CW7QZhhn.mjs.map → imos-ix-poc-export-helper-BKFs_Yhm.mjs.map} +1 -1
  48. package/lib/kernel-C7YDLxq8.mjs.map +1 -1
  49. package/lib/{kernel-utils-DCnHzW4n.mjs → kernel-utils-B80amC-l.mjs} +2 -2
  50. package/lib/{kernel-utils-DCnHzW4n.mjs.map → kernel-utils-B80amC-l.mjs.map} +1 -1
  51. package/lib/{layer-CFAr2mK_.mjs → layer-BfckfWZz.mjs} +1 -1
  52. package/lib/{layer-CFAr2mK_.mjs.map → layer-BfckfWZz.mjs.map} +1 -1
  53. package/lib/{main-BJZ9-cDk.mjs → main-CJ5TNhBt.mjs} +2518 -2554
  54. package/lib/main-CJ5TNhBt.mjs.map +1 -0
  55. package/lib/{material-viewer-D8Nmpwg0.mjs → material-viewer-DCqZzMZN.mjs} +40 -35
  56. package/lib/material-viewer-DCqZzMZN.mjs.map +1 -0
  57. package/lib/packages-DuOz6rk6.mjs +4 -0
  58. package/lib/{planner-5VarJrpy.mjs → planner-CSboZram.mjs} +3 -3
  59. package/lib/{planner-5VarJrpy.mjs.map → planner-CSboZram.mjs.map} +1 -1
  60. package/lib/planner-CWPqJktz.mjs +2 -0
  61. package/lib/{plugin-system-DInww4H_.mjs → plugin-system-DD0Z9Jvt.mjs} +3 -3
  62. package/lib/{plugin-system-DInww4H_.mjs.map → plugin-system-DD0Z9Jvt.mjs.map} +1 -1
  63. package/lib/{roomle-headless-setup-LoBO7UJe.mjs → roomle-headless-setup-nsoGENQV.mjs} +1 -1
  64. package/lib/{roomle-headless-setup-LoBO7UJe.mjs.map → roomle-headless-setup-nsoGENQV.mjs.map} +1 -1
  65. package/lib/roomle-headless.d.ts +252 -106
  66. package/lib/roomle-headless.js +20 -17
  67. package/lib/roomle-headless.js.map +1 -1
  68. package/lib/{roomle-renderer-DVlJsHYn.mjs → roomle-renderer-BEJNPCKx.mjs} +2 -2
  69. package/lib/roomle-renderer-BEJNPCKx.mjs.map +1 -0
  70. package/lib/roomle-sdk.d.ts +252 -106
  71. package/lib/roomle-sdk.js +6 -6
  72. package/lib/roomle-webgpu-renderer-D5flithq.mjs +1502 -0
  73. package/lib/roomle-webgpu-renderer-D5flithq.mjs.map +1 -0
  74. package/lib/{scene-renderer-BHZrQYAH.mjs → scene-renderer-Dm1kij1z.mjs} +26 -26
  75. package/lib/scene-renderer-Dm1kij1z.mjs.map +1 -0
  76. package/lib/{script-loader-gpkcl1h-.mjs → script-loader-DqaDm1FG.mjs} +3 -3
  77. package/lib/{script-loader-gpkcl1h-.mjs.map → script-loader-DqaDm1FG.mjs.map} +1 -1
  78. package/lib/static/packages/workers/generated/budgeteer.sw.js +1 -1
  79. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  80. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.d.ts +4 -4
  81. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.js +7 -7
  82. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCallback.js.map +1 -1
  83. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +28 -8
  84. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorUtils.js +27 -11
  85. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorUtils.js.map +1 -1
  86. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.d.ts +1 -1
  87. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.js +1 -1
  88. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +1 -1
  89. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +37 -2
  90. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +6 -1
  91. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
  92. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.d.ts +4 -0
  93. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js +16 -1
  94. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js.map +1 -1
  95. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  96. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js +4 -4
  97. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  98. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  99. package/lib/{stats-helper-Cv5SoEWT.mjs → stats-helper-D7a7oxnj.mjs} +3 -3
  100. package/lib/{stats-helper-Cv5SoEWT.mjs.map → stats-helper-D7a7oxnj.mjs.map} +1 -1
  101. package/lib/{three.core-mM-jZdgg.mjs → three.core-BmQnspOL.mjs} +819 -816
  102. package/lib/{three.core-mM-jZdgg.mjs.map → three.core-BmQnspOL.mjs.map} +1 -1
  103. package/lib/{three.module-Bmy3sVQ-.mjs → three.module-DkrZwaid.mjs} +455 -455
  104. package/lib/{three.module-Bmy3sVQ-.mjs.map → three.module-DkrZwaid.mjs.map} +1 -1
  105. package/lib/{three.webgpu-BbVYfCDp.mjs → three.webgpu-DLZjhIYv.mjs} +1517 -1517
  106. package/lib/{three.webgpu-BbVYfCDp.mjs.map → three.webgpu-DLZjhIYv.mjs.map} +1 -1
  107. package/lib/three.webgpu-RkQxSIwG.mjs +3 -0
  108. package/lib/{threejs-utils-Bq4pVWBA.mjs → threejs-utils-CrK_gp1x.mjs} +67 -63
  109. package/lib/threejs-utils-CrK_gp1x.mjs.map +1 -0
  110. package/lib/{tools-core-DqnhFefF.mjs → tools-core-CZWgXTFV.mjs} +3 -3
  111. package/lib/{tools-core-DqnhFefF.mjs.map → tools-core-CZWgXTFV.mjs.map} +1 -1
  112. package/package.json +1 -1
  113. package/lib/common-utils-qErzZAiR.mjs.map +0 -1
  114. package/lib/component-raycast-helper-C6ptEb0K.mjs.map +0 -1
  115. package/lib/component-raycast-helper-LrhRpeDD.mjs +0 -2
  116. package/lib/configurator-DqiW717d.mjs +0 -2
  117. package/lib/dimensioning-helper-BpUreWo2.mjs +0 -2
  118. package/lib/glb-viewer-CXEoIw1b.mjs.map +0 -1
  119. package/lib/glb-viewer-IDXgmONx.mjs +0 -2
  120. package/lib/homag-intelligence-gb9MqBrz.mjs.map +0 -1
  121. package/lib/main-BJZ9-cDk.mjs.map +0 -1
  122. package/lib/material-viewer-D8Nmpwg0.mjs.map +0 -1
  123. package/lib/packages-Uv53SHfb.mjs +0 -4
  124. package/lib/planner-DJcn-iih.mjs +0 -2
  125. package/lib/roomle-renderer-DVlJsHYn.mjs.map +0 -1
  126. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs +0 -217
  127. package/lib/roomle-webgpu-renderer-CVxBRv6o.mjs.map +0 -1
  128. package/lib/scene-renderer-BHZrQYAH.mjs.map +0 -1
  129. package/lib/three.webgpu-Bnp8Whu8.mjs +0 -3
  130. package/lib/threejs-utils-Bq4pVWBA.mjs.map +0 -1
@@ -0,0 +1,3 @@
1
+ import "./three.core-BmQnspOL.mjs";
2
+ import { lr as e } from "./three.webgpu-DLZjhIYv.mjs";
3
+ export { e 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-mM-jZdgg.mjs";
2
- import { r as g } from "./three.module-Bmy3sVQ-.mjs";
3
- import { V as _, b as v } from "./common-utils-qErzZAiR.mjs";
4
- import { a as y } from "./kernel-utils-DCnHzW4n.mjs";
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-BmQnspOL.mjs";
2
+ import { r as g } from "./three.module-DkrZwaid.mjs";
3
+ import { a as _ } from "./kernel-utils-B80amC-l.mjs";
4
+ import { V as v, b as y } from "./common-utils-DMI8Yuhe.mjs";
5
5
  //#region packages/common-core/src/utils/math-helper.ts
6
6
  var b = function(e) {
7
7
  return Math.PI / 180 * e;
@@ -42,6 +42,10 @@ var b = function(e) {
42
42
  WALL_EDGE: 3,
43
43
  DOCKING_VECTOR: 4,
44
44
  OBJECT_CONTOUR: 5
45
+ }, ue = {
46
+ DEFAULT: 0,
47
+ DOCKING: 1,
48
+ COLLISION: 2
45
49
  }, w = /* @__PURE__ */ function(e) {
46
50
  return e[e.StandAloneWall = 0] = "StandAloneWall", e[e.OuterWallLeft = 1] = "OuterWallLeft", e[e.OuterWallRight = 2] = "OuterWallRight", e[e.InnerWall = 3] = "InnerWall", e;
47
51
  }({}), T = class {
@@ -421,24 +425,24 @@ N.getAll.bind(N), N.removeAll.bind(N), N.add.bind(N), N.remove.bind(N), N.update
421
425
  //#endregion
422
426
  //#region packages/common-core/src/utils/threejs-utils.ts
423
427
  var P = null;
424
- globalThis.window !== void 0 && import("./dat.gui.module-CZHqOVGq.mjs").then((e) => {
428
+ globalThis.window !== void 0 && import("./dat.gui.module-CZ-DIWHM.mjs").then((e) => {
425
429
  P = e.GUI;
426
430
  }).catch(() => {});
427
- var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, ge = .9, _e = (e) => e instanceof g ? e.capabilities.maxSamples : 16, F = (e) => e instanceof g ? e.capabilities.maxTextures : 16, I = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, ve = (e, t, n, r) => {
431
+ var de = .4, fe = "#DDDDDD", pe = .4, me = "#7B7B7B", he = "#B1B1B1", ge = .8, _e = .9, F = (e) => e instanceof g ? e.capabilities.maxSamples : 16, I = (e) => e instanceof g ? e.capabilities.maxTextures : 16, ve = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, ye = (e, t, n, r) => {
428
432
  if (!e || !t || n === 0 || r === 0) return new m();
429
433
  let i = e.clone(), a = n / 2, o = r / 2;
430
434
  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;
431
- }, ye = (e, t) => {
435
+ }, be = (e, t) => {
432
436
  t ||= new m(0, 0, 0);
433
437
  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);
434
438
  return new o(new m(0, 0, -n.z).add(r).sub(t), new m(n.x, n.y, 0).add(r).add(t));
435
- }, be = (e) => (e.from /= 1e3, e.to /= 1e3, e), xe = (e, t) => {
439
+ }, xe = (e) => (e.from /= 1e3, e.to /= 1e3, e), Se = (e, t) => {
436
440
  let n = S(e.x), r = S(e.y), i = S(e.z), a = S(t.x), o = S(t.y), s = S(t.z);
437
441
  return n === a && r === o && i === s;
438
- }, Se = (e, t) => {
442
+ }, Ce = (e, t) => {
439
443
  let n = S(e.w), r = S(e.x), i = S(e.y), a = S(e.z), o = S(t.w), s = S(t.x), c = S(t.y), l = S(t.z);
440
444
  return n === o && r === s && i === c && a === l;
441
- }, Ce = (e, t) => {
445
+ }, we = (e, t) => {
442
446
  let n = S(e.x), r = S(e.y), i = S(t.x), a = S(t.y);
443
447
  return n === i && r === a;
444
448
  }, L = null, R = () => {
@@ -450,18 +454,18 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
450
454
  }
451
455
  let n = new e(t, 1, 1, i);
452
456
  return n.needsUpdate = !0, n;
453
- }, we = (e) => z(null, e), z = (e, t) => {
454
- e ||= De(), e.name = t.id ? t.id.toString() : "";
457
+ }, Te = (e) => z(null, e), z = (e, t) => {
458
+ e ||= Oe(), e.name = t.id ? t.id.toString() : "";
455
459
  let n = t.shading.version === "2" || t.shading.version?.startsWith("2.");
456
- return e = n ? Ee(e, t) : Te(e, t), e.userData.materialVersion = n ? 2 : 1, e.map || (L ||= R(), e.map = L), e;
457
- }, Te = (e, t) => {
458
- t.shading.metallic !== void 0 && (e.metalness = t.shading.metallic === 1 ? 1 : .5, e.reflectivity = v(t.shading.metallic, .5));
459
- let n = !1;
460
- return t.shading.transmission && t.shading.transmission > 0 ? (e.opacity = 1 - t.shading.transmission, e.transparent = !0, e.depthWrite = !1, e.metalness = 0, n = !0) : t.shading.alpha !== void 0 && t.shading.alpha < 1 && (e.transparent = t.shading.alpha < 1, e.opacity = t.shading.alpha, e.depthWrite = t.shading.alpha >= 1, e.metalness = .5 * Math.max(0, t.shading.alpha), n = !0), e.aoMapIntensity = v(t.shading.occlusion, 1), e.roughness = v(t.shading.roughness, .5), e.alphaTest = v(t.shading.alphaCutoff, 0), B(e.color, t.shading.basecolor), n || t.shading.doubleSided ? e.side = 2 : e.side = 0, e;
460
+ return e = n ? De(e, t) : Ee(e, t), e.userData.materialVersion = n ? 2 : 1, e.map || (L ||= R(), e.map = L), e;
461
461
  }, Ee = (e, t) => {
462
+ t.shading.metallic !== void 0 && (e.metalness = t.shading.metallic === 1 ? 1 : .5, e.reflectivity = y(t.shading.metallic, .5));
463
+ let n = !1;
464
+ return t.shading.transmission && t.shading.transmission > 0 ? (e.opacity = 1 - t.shading.transmission, e.transparent = !0, e.depthWrite = !1, e.metalness = 0, n = !0) : t.shading.alpha !== void 0 && t.shading.alpha < 1 && (e.transparent = t.shading.alpha < 1, e.opacity = t.shading.alpha, e.depthWrite = t.shading.alpha >= 1, e.metalness = .5 * Math.max(0, t.shading.alpha), n = !0), e.aoMapIntensity = y(t.shading.occlusion, 1), e.roughness = y(t.shading.roughness, .5), e.alphaTest = y(t.shading.alphaCutoff, 0), B(e.color, t.shading.basecolor), n || t.shading.doubleSided ? e.side = 2 : e.side = 0, e;
465
+ }, De = (e, t) => {
462
466
  let n = !1;
463
467
  return t.shading.alpha !== void 0 && t.shading.alpha < 1 ? (e.transparent = !0, e.opacity = t.shading.alpha, e.depthWrite = !1, n = !0) : (e.transparent = !1, e.opacity = 1, e.depthWrite = !0), e.alphaTest = t.shading.alphaCutoff ?? 0, B(e.color, t.shading.basecolor), e.transmission = t.shading.transmission ?? 0, e.ior = Math.max(1, Math.min(2.33, t.shading.transmissionIOR ?? 1.5)), e.metalness = t.shading.metallic ?? 0, B(e.specularColor, t.shading.specularColor), e.specularIntensity = t.shading.specularity ?? 1, e.roughness = t.shading.roughness ?? 0, e.aoMapIntensity = t.shading.occlusion ?? 1, B(e.emissive, t.shading.emissiveColor), e.emissiveIntensity = t.shading.emissiveIntensity ?? 1, e.clearcoat = t.shading.clearcoatIntensity ?? 0, e.clearcoatRoughness = t.shading.clearcoatRoughness ?? 0, e.clearcoatNormalScale.setScalar(t.shading.clearcoatNormalScale ?? 1), B(e.sheenColor, t.shading.sheenColor), e.sheen = t.shading.sheenIntensity ?? 1, e.sheenRoughness = t.shading.sheenRoughness ?? 1, e.thickness = t.shading.thicknessFactor ?? 0, B(e.attenuationColor, t.shading.attenuationColor), t.shading.attenuationDistance && (e.attenuationDistance = t.shading.attenuationDistance), e.side = n || t.shading.doubleSided ? 2 : 0, e;
464
- }, De = () => T.createMeshPhysicalMaterial({}), Oe = (e, t = 1) => t === 2 ? Ae(e) : ke(e), ke = (e) => {
468
+ }, Oe = () => T.createMeshPhysicalMaterial({}), ke = (e, t = 1) => t === 2 ? je(e) : Ae(e), Ae = (e) => {
465
469
  let t = {
466
470
  alpha: e.opacity,
467
471
  metallic: e.reflectivity,
@@ -472,7 +476,7 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
472
476
  transmission: e.transmission
473
477
  };
474
478
  return e.metalness === 1 ? t.metallic = 1 : t.metallic = e.reflectivity, t;
475
- }, Ae = (e) => ({
479
+ }, je = (e) => ({
476
480
  version: "2.0.0",
477
481
  alpha: e.opacity,
478
482
  alphaCutoff: e.alphaTest,
@@ -508,7 +512,7 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
508
512
  g: t.g,
509
513
  b: t.b
510
514
  };
511
- }, H = null, je = (e, t, n, r, i, a, o = 16) => {
515
+ }, H = null, Me = (e, t, n, r, i, a, o = 16) => {
512
516
  H || (H = new u(), H.crossOrigin = "");
513
517
  let s = H;
514
518
  return new Promise((c, l) => {
@@ -524,44 +528,44 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
524
528
  });
525
529
  }, U = (e, n, r, i, a, o, s = 16) => {
526
530
  if (e.anisotropy = i, e.wrapS = l, e.wrapT = l, s <= 8 && [
527
- _.ORM,
528
- _.EMRGB,
529
- _.CCRG,
530
- _.CCXYZ,
531
- _.SHRGBA,
532
- _.SPRGBA,
533
- _.TTRG
531
+ v.ORM,
532
+ v.EMRGB,
533
+ v.CCRG,
534
+ v.CCXYZ,
535
+ v.SHRGBA,
536
+ v.SPRGBA,
537
+ v.TTRG
534
538
  ].includes(n.mapping)) {
535
539
  console.warn("ORM maps are not supported on devices with only " + s + " texture units");
536
540
  return;
537
541
  }
538
- e.repeat.set(a, o), Me(e, n, r), n.mapping === _.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;
539
- }, Me = (e, t, n) => {
540
- t.mapping === _.XYZ ? (n.normalMap = e, n.map === R() && (n.map = null)) : t.mapping === _.ORM ? (n.aoMap = e, n.roughnessMap = e, n.metalnessMap = e) : t.mapping === _.EMRGB ? n.emissiveMap = e : t.mapping === _.CCRG ? (n.clearcoatMap = e, n.clearcoatRoughnessMap = e) : t.mapping === _.CCXYZ ? n.clearcoatNormalMap = e : t.mapping === _.SHRGBA ? (n.sheenColorMap = e, n.sheenRoughnessMap = e) : t.mapping === _.SPRGBA ? (n.specularColorMap = e, n.specularIntensityMap = e) : t.mapping === _.TTRG ? (n.transmissionMap = e, n.thicknessMap = e) : (e.colorSpace = h, n.map = e);
541
- }, Ne = (e = !0) => {
542
- if (!window.__RML_GUI__) {
542
+ e.repeat.set(a, o), Ne(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;
543
+ }, Ne = (e, t, n) => {
544
+ 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);
545
+ }, Pe = (e = !0) => {
546
+ if (!window.__RML_WEBGL_GUI__) {
543
547
  if (!P) return null;
544
548
  try {
545
- window.__RML_GUI__ = new P({ autoPlace: e });
549
+ window.__RML_WEBGL_GUI__ = new P({ autoPlace: e });
546
550
  } catch {
547
551
  return null;
548
552
  }
549
553
  }
550
- return window.__RML_GUI__ ?? null;
551
- }, Pe = (e, t) => {
554
+ return window.__RML_WEBGL_GUI__ ?? null;
555
+ }, Fe = (e, t) => {
552
556
  let n = !1;
553
557
  for (let r of t) {
554
558
  let t = r.getKernelObject(), i;
555
- t.wallType.value === w.OuterWallRight && (i = y(t.rightNormal)), t.wallType.value === w.OuterWallLeft && (i = y(t.leftNormal));
559
+ t.wallType.value === w.OuterWallRight && (i = _(t.rightNormal)), t.wallType.value === w.OuterWallLeft && (i = _(t.leftNormal));
556
560
  let a = !0;
557
561
  if (i) {
558
- let t = y(r.getPlanElement().getCenter());
562
+ let t = _(r.getPlanElement().getCenter());
559
563
  t = t.applyMatrix4(e.matrixWorldInverse), i = i.transformDirection(e.matrixWorldInverse), a = t.dot(i) >= 0;
560
564
  }
561
565
  a !== r.getContainer().visible && (n = !0), a ? r.setContainerVisibility(!0) : r.isSelected || r.setContainerVisibility(!1);
562
566
  }
563
567
  return n;
564
- }, Fe = (e, t, n = !0) => {
568
+ }, Ie = (e, t, n = !0) => {
565
569
  if (!e.userData.tween) if (t) if (e.transparent = !0, !n) e.opacity = .2;
566
570
  else {
567
571
  let t = { opacity: 1 };
@@ -584,9 +588,9 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
584
588
  }).start();
585
589
  window.TWEEN?.add(n);
586
590
  }
587
- }, Ie = (e, t, n, r, i, a) => {
588
- let o = Le(n, r), s = i.clone().multiply(r).multiply(t), c = o.clone().invert(), l = c.clone().multiply(n), u = c.clone().multiply(r), d = { t: 0 }, f = new M(d).to({ t: 1 }, 400).easing(E.Quadratic.InOut).onUpdate(() => {
589
- let n = Re(l, u, d.t);
591
+ }, Le = (e, t, n, r, i, a) => {
592
+ let o = Re(n, r), s = i.clone().multiply(r).multiply(t), c = o.clone().invert(), l = c.clone().multiply(n), u = c.clone().multiply(r), d = { t: 0 }, f = new M(d).to({ t: 1 }, 400).easing(E.Quadratic.InOut).onUpdate(() => {
593
+ let n = ze(l, u, d.t);
590
594
  G(e, i.clone().multiply(o).multiply(n).multiply(t)), a && a();
591
595
  }).onComplete(() => {
592
596
  G(e, s), a && a(), window.TWEEN?.remove(f);
@@ -594,7 +598,7 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
594
598
  window.TWEEN?.remove(f);
595
599
  }).start();
596
600
  return window.TWEEN?.add(f), f;
597
- }, Le = (e, t) => {
601
+ }, Re = (e, t) => {
598
602
  let r = e.clone().invert().clone().multiply(t), i = new m(), a = new n();
599
603
  r.decompose(i, a, new m());
600
604
  let o = W(a), s = o.axis;
@@ -611,7 +615,7 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
611
615
  };
612
616
  }, G = (e, t) => {
613
617
  e.updateMatrix(), t.multiply(e.matrix.clone().invert()), e.applyMatrix4(t), e.updateMatrix();
614
- }, Re = (e, t, r) => {
618
+ }, ze = (e, t, r) => {
615
619
  let i = new m(), a = new n(), o = new m();
616
620
  e.decompose(i, a, o);
617
621
  let s = new m(), c = new n(), l = new m();
@@ -626,12 +630,12 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
626
630
  }
627
631
  let h = new m().lerpVectors(o, l, r), g = new d();
628
632
  return g.compose(u, f, h), g;
629
- }, ze = (e) => {
633
+ }, Be = (e) => {
630
634
  let n = new t();
631
635
  return n.setRGB((e >> 16) / 255, (e >> 8 & 255) / 255, (e >> 0 & 255) / 255), n;
632
636
  }, K = (e, t) => {
633
637
  t.transparent || (e.transparent = t.transparent, delete e.userData.postProcessingMaterialPlugin), e.opacity = t.opacity, e.needsUpdate = !0;
634
- }, Be = (e, t) => new Promise((n) => {
638
+ }, Ve = (e, t) => new Promise((n) => {
635
639
  e.traverse((e) => {
636
640
  if (e instanceof f) {
637
641
  let r = e.material;
@@ -648,7 +652,7 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
648
652
  }).start());
649
653
  }
650
654
  });
651
- }), Ve = (e) => {
655
+ }), He = (e) => {
652
656
  e.traverse((e) => {
653
657
  if (e instanceof f) {
654
658
  let t = e.material;
@@ -669,10 +673,10 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
669
673
  window.TWEEN?.add(i);
670
674
  }
671
675
  });
672
- }, He = (e, t) => {
676
+ }, Ue = (e, t) => {
673
677
  let n = new o().setFromObject(e), r = n.getSize(new m()), i = Math.min(r.x, r.y, r.z), a = !0;
674
678
  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;
675
- }, Ue = (e) => {
679
+ }, We = (e) => {
676
680
  e.type === "Mesh" ? J(e) : q(e);
677
681
  }, q = (e) => {
678
682
  !e || !e.children || e.children.length === 0 || e.children.forEach((e) => {
@@ -684,35 +688,35 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
684
688
  e && e.dispose();
685
689
  }, X = (e) => {
686
690
  e && (e.map && e.map.dispose(), e.normalMap && e.normalMap.dispose(), e.dispose());
687
- }, Z, We = () => (Z || (Z = new a(), Z.visible = !1), Z), Q, Ge = (e) => (Q ||= T.createMeshStandardMaterial({
691
+ }, Z, Ge = () => (Z || (Z = new a(), Z.visible = !1), Z), Q, Ke = (e) => (Q ||= T.createMeshStandardMaterial({
688
692
  color: e || "#FF0000",
689
693
  transparent: !0,
690
694
  opacity: .5,
691
695
  visible: !0,
692
696
  polygonOffset: !0,
693
697
  polygonOffsetFactor: -1
694
- }), Q), Ke = (e) => e.x === 0 && e.y === 0 && e.z === 0, qe = (e, t) => {
698
+ }), Q), qe = (e) => e.x === 0 && e.y === 0 && e.z === 0, Je = (e, t) => {
695
699
  let n = "";
696
700
  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 === C.WALL ? n = "default_wall_material_" + e.getSourceType().value : t && t.value === C.CEILING && (n = "default_ceiling_material_" + e.getSourceType().value), n);
697
- }, Je = (e) => {
701
+ }, Ye = (e) => {
698
702
  let t = e.getWorldDirection(new m()).clone();
699
703
  t.y = 0, t.lengthSq() < .01 && (t = new m(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
700
704
  let n = Math.asin(t.x);
701
705
  return t.z < 0 && (n = Math.PI - n), n < 0 && (n += Math.PI * 2), n;
702
- }, $ = (e, t) => {
706
+ }, Xe = (e, t) => {
703
707
  if (!e || !t) return 0;
704
708
  let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
705
709
  return r && n || !r && !n ? 0 : n === !0 ? 1 : -1;
706
- }, Ye = (e, t) => {
710
+ }, Ze = (e, t) => {
707
711
  if (!e || !t) return 0;
708
712
  let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
709
713
  if (r && n) return 0;
710
714
  if (!r && !n) {
711
- let n = Xe(e, t);
715
+ let n = $(e, t);
712
716
  return n === .5 ? 0 : n > .5 ? -1 : 1;
713
717
  }
714
718
  return n === !0 ? 1 : -1;
715
- }, Xe = (e, t) => {
719
+ }, $ = (e, t) => {
716
720
  let n = new o();
717
721
  if (n.copy(e).intersect(t), n.isEmpty()) return 0;
718
722
  let r = (e) => {
@@ -720,34 +724,34 @@ var ue = .4, de = "#DDDDDD", fe = .4, pe = "#7B7B7B", me = "#B1B1B1", he = .8, g
720
724
  return e.getSize(t), t.x * t.y * t.z;
721
725
  }, i = r(e), a = r(n);
722
726
  return i === 0 ? 0 : a / i;
723
- }, Ze = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, Qe = (e, t, n, r = 1) => {
727
+ }, Qe = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, $e = (e, t, n, r = 1) => {
724
728
  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;
725
729
  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));
726
- }, $e = (e) => {
730
+ }, et = (e) => {
727
731
  let { x: t, y: n } = e;
728
732
  return {
729
733
  x: t,
730
734
  y: n
731
735
  };
732
- }, et = (e) => {
736
+ }, tt = (e) => {
733
737
  let { x: t, y: n, z: r } = e;
734
738
  return {
735
739
  x: t,
736
740
  y: n,
737
741
  z: r
738
742
  };
739
- }, tt = (e, t, n) => new m().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), nt = (e) => {
743
+ }, nt = (e, t, n) => new m().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), rt = (e) => {
740
744
  let t = new r();
741
745
  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;
742
- }, rt = (e, t) => {
746
+ }, it = (e, t) => {
743
747
  let n = new p(), r = new d().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
744
748
  n.setFromProjectionMatrix(r);
745
749
  let i = t.getCenter(new m());
746
750
  return n.containsPoint(i);
747
- }, it = (e) => {
751
+ }, at = (e) => {
748
752
  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 ");
749
753
  };
750
754
  //#endregion
751
- export { M as $, _e as A, Ce as B, ze as C, qe as D, Ne as E, rt as F, Fe as G, Se as H, Ze as I, Be as J, $e as K, ye as L, ve as M, Je as N, Oe as O, Pe as P, O as Q, be as R, Ye as S, Qe as T, z as U, xe as V, G as W, tt as X, Ke as Y, E as Z, X as _, me as a, C as at, Ve as b, U as c, ne as ct, He as d, ie as dt, T as et, $ as f, x as ft, Y as g, Ue as h, pe as i, oe as it, F as j, I as k, je as l, te as lt, we as m, ge as n, ce as nt, ue as o, ae as ot, nt as p, b as pt, et as q, fe as r, se as rt, de as s, re as st, he as t, le as tt, Ie as u, ee as ut, J as v, Ge as w, We as x, q as y, it as z };
755
+ export { M as $, I as A, we as B, Be as C, ke as D, Je as E, it as F, Ie as G, Ce as H, Qe as I, Ve as J, et as K, be as L, Pe as M, Ye as N, ve as O, Fe as P, O as Q, xe as R, Ze as S, $e as T, z as U, Se as V, G as W, nt as X, qe as Y, E as Z, X as _, he as a, oe as at, He as b, U as c, re as ct, Ue as d, ee as dt, T as et, Xe as f, ie as ft, Y as g, We as h, me as i, se as it, ye as j, F as k, Me as l, ne as lt, Te as m, b as mt, _e as n, ue as nt, de as o, C as ot, rt as p, x as pt, tt as q, pe as r, ce as rt, fe as s, ae as st, ge as t, le as tt, Le as u, te as ut, J as v, Ke as w, Ge as x, q as y, at as z };
752
756
 
753
- //# sourceMappingURL=threejs-utils-Bq4pVWBA.mjs.map
757
+ //# sourceMappingURL=threejs-utils-CrK_gp1x.mjs.map