@roomle/web-sdk 3.10.0-alpha.4 → 3.10.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/lib/ConfiguratorKernel.wasm +0 -0
  2. package/lib/RoomleCore.wasm +0 -0
  3. package/lib/RoomleToolsCore.wasm +0 -0
  4. package/lib/{api-ckpzIPty.mjs → api-D64AfPG6.mjs} +2 -2
  5. package/lib/{api-ckpzIPty.mjs.map → api-D64AfPG6.mjs.map} +1 -1
  6. package/lib/asset-loader.worker-CHyN7JB1.mjs.map +1 -1
  7. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +1 -1
  8. package/lib/{common-utils-DMk5jc_R.mjs → common-utils-uHp4dDZQ.mjs} +20 -17
  9. package/lib/{common-utils-DMk5jc_R.mjs.map → common-utils-uHp4dDZQ.mjs.map} +1 -1
  10. package/lib/{component-dimensioning-DcmDM6gV.mjs → component-dimensioning-lu16QjEZ.mjs} +2 -2
  11. package/lib/{component-dimensioning-DcmDM6gV.mjs.map → component-dimensioning-lu16QjEZ.mjs.map} +1 -1
  12. package/lib/{component-raycast-helper-CXN2MHtG.mjs → component-raycast-helper-DRE5bxWr.mjs} +3 -3
  13. package/lib/{component-raycast-helper-CXN2MHtG.mjs.map → component-raycast-helper-DRE5bxWr.mjs.map} +1 -1
  14. package/lib/configurator-C3LkQHDF.mjs +2 -0
  15. package/lib/{configurator-D6lTTIlU.mjs → configurator-CEHN5oY2.mjs} +4 -4
  16. package/lib/{configurator-D6lTTIlU.mjs.map → configurator-CEHN5oY2.mjs.map} +1 -1
  17. package/lib/{glb-viewer-CuRDCxVq.mjs → glb-viewer-C03QVqRZ.mjs} +5 -5
  18. package/lib/{glb-viewer-CuRDCxVq.mjs.map → glb-viewer-C03QVqRZ.mjs.map} +1 -1
  19. package/lib/glb-viewer-vQQ5RF-e.mjs +2 -0
  20. package/lib/{highlight-coordinator-CTZ_qcde.mjs → highlight-coordinator-DZReLBh6.mjs} +2 -2
  21. package/lib/{highlight-coordinator-CTZ_qcde.mjs.map → highlight-coordinator-DZReLBh6.mjs.map} +1 -1
  22. package/lib/{homag-intelligence-CIBPifJk.mjs → homag-intelligence-CaflKydn.mjs} +3 -3
  23. package/lib/{homag-intelligence-CIBPifJk.mjs.map → homag-intelligence-CaflKydn.mjs.map} +1 -1
  24. package/lib/{imos-ix-poc-export-helper-D2KaQu_v.mjs → imos-ix-poc-export-helper-D6oTPQr3.mjs} +2 -2
  25. package/lib/{imos-ix-poc-export-helper-D2KaQu_v.mjs.map → imos-ix-poc-export-helper-D6oTPQr3.mjs.map} +1 -1
  26. package/lib/{main-KSs3XdXO.mjs → main-BkA09a6W.mjs} +7941 -7859
  27. package/lib/main-BkA09a6W.mjs.map +1 -0
  28. package/lib/{material-viewer-Ced_pruD.mjs → material-viewer-Nkl4Qx29.mjs} +5 -5
  29. package/lib/{material-viewer-Ced_pruD.mjs.map → material-viewer-Nkl4Qx29.mjs.map} +1 -1
  30. package/lib/packages-CNXXlUsV.mjs +4 -0
  31. package/lib/{planner-ykpwnVZa.mjs → planner-DsChoUH0.mjs} +3 -3
  32. package/lib/{planner-ykpwnVZa.mjs.map → planner-DsChoUH0.mjs.map} +1 -1
  33. package/lib/planner-Z2m78Y_4.mjs +2 -0
  34. package/lib/roomle-headless.d.ts +201 -58
  35. package/lib/roomle-headless.js +9 -9
  36. package/lib/roomle-sdk.d.ts +201 -58
  37. package/lib/roomle-sdk.js +8 -8
  38. package/lib/{roomle-webgpu-renderer-NhCn2iM-.mjs → roomle-webgpu-renderer-OGrZqd3w.mjs} +4 -4
  39. package/lib/{roomle-webgpu-renderer-NhCn2iM-.mjs.map → roomle-webgpu-renderer-OGrZqd3w.mjs.map} +1 -1
  40. package/lib/{scene-renderer-DbHi1plp.mjs → scene-renderer-kbl6O83T.mjs} +3 -3
  41. package/lib/{scene-renderer-DbHi1plp.mjs.map → scene-renderer-kbl6O83T.mjs.map} +1 -1
  42. package/lib/{script-loader-DKx7ZvkP.mjs → script-loader-vbm5pELp.mjs} +2 -2
  43. package/lib/{script-loader-DKx7ZvkP.mjs.map → script-loader-vbm5pELp.mjs.map} +1 -1
  44. package/lib/{shading-settings-BWeccIZv.mjs → shading-settings-BXL0haNX.mjs} +2 -2
  45. package/lib/{shading-settings-BWeccIZv.mjs.map → shading-settings-BXL0haNX.mjs.map} +1 -1
  46. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  47. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  48. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  49. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  50. package/lib/{stats-helper-Bs79UZne.mjs → stats-helper-B4ejVlyj.mjs} +2 -2
  51. package/lib/{stats-helper-Bs79UZne.mjs.map → stats-helper-B4ejVlyj.mjs.map} +1 -1
  52. package/lib/{threejs-utils-E4yVZATI.mjs → threejs-utils-DQCcy2fJ.mjs} +57 -54
  53. package/lib/threejs-utils-DQCcy2fJ.mjs.map +1 -0
  54. package/lib/{tools-core-D4EbqT91.mjs → tools-core-f9Mqfmi2.mjs} +3 -3
  55. package/lib/{tools-core-D4EbqT91.mjs.map → tools-core-f9Mqfmi2.mjs.map} +1 -1
  56. package/package.json +1 -1
  57. package/lib/configurator-DZotRC5_.mjs +0 -2
  58. package/lib/glb-viewer-DKWeC8wq.mjs +0 -2
  59. package/lib/main-KSs3XdXO.mjs.map +0 -1
  60. package/lib/packages-oEzg5zoT.mjs +0 -4
  61. package/lib/planner-QF8IrfPz.mjs +0 -2
  62. package/lib/threejs-utils-E4yVZATI.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stats-helper-Bs79UZne.mjs","names":[],"sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;AACA,EAAC,SAAS,GAAE,GAAE;AAAC,EAAW,OAAO,KAAlB,YAAgD,MAArB,SAA4B,EAAO,UAAQ,GAAG,GAAc,OAAO,UAApB,cAA4B,OAAO,MAAI,OAAO,EAAE,GAAC,EAAE,QAAM,GAAG;OAAQ,WAAU;EAAC,IAAI,IAAE,WAAU;GAAC,SAAS,EAAE,GAAE;AAAsB,WAArB,EAAE,YAAY,EAAE,IAAI,EAAQ;;GAAE,SAAS,EAAE,GAAE;AAAC,SAAI,IAAI,IAAE,GAAE,IAAE,EAAE,SAAS,QAAO,IAAI,GAAE,SAAS,GAAG,MAAM,UAAQ,MAAI,IAAE,UAAQ;AAAO,QAAE;;GAAE,IAAI,IAAE,GAAE,IAAE,SAAS,cAAc,MAAM;AAAwF,GAAvF,EAAE,MAAM,UAAQ,wEAAuE,EAAE,iBAAiB,SAAQ,SAAS,GAAE;AACjf,IADkf,EAAE,gBAAgB,EACpgB,EAAE,EAAE,IAAE,EAAE,SAAS,OAAO;MAAE,CAAC,EAAE;GAAC,IAAI,KAAG,eAAa,MAAM,KAAK,EAAC,IAAE,GAAE,IAAE,GAAE,IAAE,EAAE,IAAI,EAAE,MAAM,OAAM,QAAO,OAAO,CAAC,EAAC,IAAE,EAAE,IAAI,EAAE,MAAM,MAAK,QAAO,OAAO,CAAC;AAAC,OAAG,KAAK,eAAa,KAAK,YAAY,QAAO,IAAI,IAAE,EAAE,IAAI,EAAE,MAAM,MAAK,QAAO,OAAO,CAAC;AAAM,UAAL,EAAE,EAAE,EAAO;IAAC,UAAS;IAAG,KAAI;IAAE,UAAS;IAAE,WAAU;IAAE,OAAM,WAAU;AAAC,UAAG,eAAa,MAAM,KAAK;;IAAE,KAAI,WAAU;AAAC;KAAI,IAAI,KAAG,eAAa,MAAM,KAAK;AAAmB,SAAlB,EAAE,OAAO,IAAE,GAAE,IAAI,EAAI,IAAE,IAAE,QAAM,EAAE,OAAO,MAAI,KAAG,IAAE,IAAG,IAAI,EAAC,IAAE,GAAE,IAAE,GAAE,IAAG;MAAC,IAAI,IAAE,YAAY;AAAO,QAAE,OAAO,EAAE,iBACte,SAAQ,EAAE,kBAAgB,QAAQ;;AAAC,YAAO;;IAAG,QAAO,WAAU;AAAC,SAAE,KAAK,KAAK;;IAAE,YAAW;IAAE,SAAQ;IAAE;;AACyR,SADvR,EAAE,QAAM,SAAS,GAAE,GAAE,GAAE;GAAC,IAAI,IAAE,UAAS,IAAE,GAAE,IAAE,KAAK,OAAM,IAAE,EAAE,OAAO,oBAAkB,EAAE,EAAC,IAAE,KAAG,GAAE,IAAE,KAAG,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,KAAG,GAAE,IAAE,KAAG,GAAE,IAAE,KAAG,GAAE,IAAE,SAAS,cAAc,SAAS;AAAsB,GAArB,EAAE,QAAM,GAAE,EAAE,SAAO,GAAE,EAAE,MAAM,UAAQ;GAAyB,IAAI,IAAE,EAAE,WAAW,KAAK;AACrS,UADsS,EAAE,OAAK,UAAQ,IAAE,IAAE,iCAAgC,EAAE,eAAa,OAAM,EAAE,YAAU,GAAE,EAAE,SAAS,GAAE,GAAE,GAAE,EAAE,EAAC,EAAE,YAAU,GAAE,EAAE,SAAS,GAAE,GAAE,EAAE,EACtf,EAAE,SAAS,GAAE,GAAE,GAAE,EAAE,EAAC,EAAE,YAAU,GAAE,EAAE,cAAY,IAAG,EAAE,SAAS,GAAE,GAAE,GAAE,EAAE,EAAO;IAAC,KAAI;IAAE,QAAO,SAAS,GAAE,GAAE;AAA+O,KAA9O,IAAE,KAAK,IAAI,GAAE,EAAE,EAAC,IAAE,KAAK,IAAI,GAAE,EAAE,EAAC,EAAE,YAAU,GAAE,EAAE,cAAY,GAAE,EAAE,SAAS,GAAE,GAAE,GAAE,EAAE,EAAC,EAAE,YAAU,GAAE,EAAE,SAAS,EAAE,EAAE,GAAC,MAAI,IAAE,OAAK,EAAE,EAAE,GAAC,MAAI,EAAE,EAAE,GAAC,KAAI,GAAE,EAAE,EAAC,EAAE,UAAU,GAAE,IAAE,GAAE,GAAE,IAAE,GAAE,GAAE,GAAE,GAAE,IAAE,GAAE,EAAE,EAAC,EAAE,SAAS,IAAE,IAAE,GAAE,GAAE,GAAE,EAAE,EAAC,EAAE,YAAU,GAAE,EAAE,cAAY,IAAG,EAAE,SAAS,IAAE,IAAE,GAAE,GAAE,GAAE,GAAG,IAAE,IAAE,KAAG,EAAE,CAAC;;IAAE;KAAS;GAAG;SCMlX,IAArB,MAAiC;CAY/B,cAAc;AACZ,qBAT6B,EAAE,EAS/B,KAAK,OAAO;;CAGd,QAAgB;EACd,IAAI,IAAW,IAAI,EAAA,SAAO;AAK1B,EAJA,EAAS,UAAU,EAAE,EACrB,EAAS,IAAI,MAAM,UACjB,mDACF,SAAS,KAAK,YAAY,EAAS,IAAI,EACvC,KAAK,YAAY,KAAK,EAAS;EAE/B,IAAI,IAAc,IAAI,EAAA,SAAO;AAK7B,EAJA,EAAY,UAAU,EAAE,EACxB,EAAY,IAAI,MAAM,UACpB,oDACF,SAAS,KAAK,YAAY,EAAY,IAAI,EAC1C,KAAK,YAAY,KAAK,EAAY;EAElC,IAAI,IAAY,IAAI,EAAA,SAAO;AAQ3B,EAPA,KAAK,aAAa,EAAU,SAC1B,IAAI,EAAA,QAAM,MAAM,QAAQ,QAAQ,OAAO,CACxC,EACD,EAAU,UAAU,EAAE,EACtB,EAAU,IAAI,MAAM,UAClB,qDACF,SAAS,KAAK,YAAY,EAAU,IAAI,EACxC,KAAK,YAAY,KAAK,EAAU;EAEhC,IAAI,IAAiB,IAAI,EAAA,SAAO;AAQhC,EAPA,KAAK,kBAAkB,EAAe,SACpC,IAAI,EAAA,QAAM,MAAM,QAAQ,QAAQ,OAAO,CACxC,EACD,EAAe,UAAU,EAAE,EAC3B,EAAe,IAAI,MAAM,UACvB,qDACF,SAAS,KAAK,YAAY,EAAe,IAAI,EAC7C,KAAK,YAAY,KAAK,EAAe;EAErC,IAAI,IAAgB,IAAI,EAAA,SAAO;AAQ/B,EAPA,KAAK,iBAAiB,EAAc,SAClC,IAAI,EAAA,QAAM,MAAM,OAAO,QAAQ,OAAO,CACvC,EACD,EAAc,UAAU,EAAE,EAC1B,EAAc,IAAI,MAAM,UACtB,qDACF,SAAS,KAAK,YAAY,EAAc,IAAI,EAC5C,KAAK,YAAY,KAAK,EAAc;EAEpC,IAAI,IAAe,IAAI,EAAA,SAAO;AAQ9B,EAPA,KAAK,gBAAgB,EAAa,SAChC,IAAI,EAAA,QAAM,MAAM,OAAO,QAAQ,OAAO,CACvC,EACD,EAAa,UAAU,EAAE,EACzB,EAAa,IAAI,MAAM,UACrB,qDACF,SAAS,KAAK,YAAY,EAAa,IAAI,EAC3C,KAAK,YAAY,KAAK,EAAa;EAEnC,IAAI,IAAgB,IAAI,EAAA,SAAO;AAQ/B,EAPA,KAAK,iBAAiB,EAAc,SAClC,IAAI,EAAA,QAAM,MAAM,OAAO,QAAQ,OAAO,CACvC,EACD,EAAc,UAAU,EAAE,EAC1B,EAAc,IAAI,MAAM,UACtB,qDACF,SAAS,KAAK,YAAY,EAAc,IAAI,EAC5C,KAAK,YAAY,KAAK,EAAc;EAEpC,IAAI,IAAe,IAAI,EAAA,SAAO;AAQ9B,EAPA,KAAK,gBAAgB,EAAa,SAChC,IAAI,EAAA,QAAM,MAAM,WAAW,QAAQ,OAAO,CAC3C,EACD,EAAa,UAAU,EAAE,EACzB,EAAa,IAAI,MAAM,UACrB,qDACF,SAAS,KAAK,YAAY,EAAa,IAAI,EAC3C,KAAK,YAAY,KAAK,EAAa;;CAGrC,iBAAwB,GAAiB;AAiBvC,EAhBI,KAAK,cAAc,EAAK,OAAO,QAAQ,KACzC,KAAK,WAAW,OAAO,EAAK,OAAO,OAAO,IAAI,EAE5C,KAAK,mBAAmB,EAAK,OAAO,YAAY,KAClD,KAAK,gBAAgB,OAAO,EAAK,OAAO,WAAW,IAAM,EAEvD,KAAK,kBAAkB,EAAK,OAAO,aAAa,KAClD,KAAK,eAAe,OAAO,EAAK,OAAO,YAAY,IAAM,EAEvD,KAAK,iBAAiB,EAAK,OAAO,WAAW,KAC/C,KAAK,cAAc,OAAO,EAAK,OAAO,UAAU,IAAM,EAEpD,KAAK,kBAAkB,KAAK,aAAa,cAAc,OAAO,KAChE,KAAK,eAAe,OAAO,KAAK,aAAa,cAAc,MAAM,IAAK,EAGpE,KAAK,YAAY,SAAS,KAC5B,KAAK,YAAY,SAAS,MAAU,EAAM,QAAQ,CAAC;;CAIvD,kBAAyB,GAA4B;AACnD,MAAI,KAAK,iBAAiB,GAAc;GACtC,IAAM,IAAe,OAAO,OAAO,EAAe,CAAC,QAAQ,EAAa;AACxE,QAAK,cAAc,OAAO,GAAc,EAAE;;;;GApH7C,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,gBAAA,KAAA,EAAA"}
1
+ {"version":3,"file":"stats-helper-B4ejVlyj.mjs","names":[],"sources":["../../../../node_modules/stats.js/build/stats.min.js","../../packages/common-core/src/utils/stats-helper.ts"],"sourcesContent":["// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){\"object\"===typeof exports&&\"undefined\"!==typeof module?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d<c.children.length;d++)c.children[d].style.display=d===a?\"block\":\"none\";l=a}var l=0,c=document.createElement(\"div\");c.style.cssText=\"position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000\";c.addEventListener(\"click\",function(a){a.preventDefault();\nu(++l%c.children.length)},!1);var k=(performance||Date).now(),g=k,a=0,r=e(new f.Panel(\"FPS\",\"#0ff\",\"#002\")),h=e(new f.Panel(\"MS\",\"#0f0\",\"#020\"));if(self.performance&&self.performance.memory)var t=e(new f.Panel(\"MB\",\"#f08\",\"#201\"));u(0);return{REVISION:16,dom:c,addPanel:e,showPanel:u,begin:function(){k=(performance||Date).now()},end:function(){a++;var c=(performance||Date).now();h.update(c-k,200);if(c>g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n","import inject from '../di/inject';\nimport type { Panel } from '../../../typings/stats';\nimport type CacheHolder from '../services/cache-holder';\nimport type { WebGLInfo } from 'three';\nimport Stats from 'stats.js';\nimport {\n QUALITY_LEVELS,\n type QualityLevel,\n} from '../webgl/renderer/scene-renderer';\n\nexport default class StatsHelper {\n @inject\n protected _cacheHolder: CacheHolder;\n\n private _statPanels: Stats[] = [];\n private _drawPanel: Panel; // eslint-disable-line\n private _trianglesPanel: Panel; // eslint-disable-line\n private _geometryPanel: Panel; // eslint-disable-line\n private _texturePanel: Panel; // eslint-disable-line\n private _materialPanel: Panel; // eslint-disable-line\n private _qualityPanel: Panel; // eslint-disable-line\n\n constructor() {\n this._init();\n }\n\n private _init() {\n let fpsPanel = new Stats();\n fpsPanel.showPanel(0);\n fpsPanel.dom.style.cssText =\n 'position:absolute;top:0px;left:0px;z-index:110;';\n document.body.appendChild(fpsPanel.dom);\n this._statPanels.push(fpsPanel);\n\n let memoryPanel = new Stats();\n memoryPanel.showPanel(2);\n memoryPanel.dom.style.cssText =\n 'position:absolute;top:50px;left:0px;z-index:110;';\n document.body.appendChild(memoryPanel.dom);\n this._statPanels.push(memoryPanel);\n\n let drawPanel = new Stats();\n this._drawPanel = drawPanel.addPanel(\n new Stats.Panel('draw', '#0f0', '#000'),\n );\n drawPanel.showPanel(3);\n drawPanel.dom.style.cssText =\n 'position:absolute;top:100px;left:0px;z-index:110;';\n document.body.appendChild(drawPanel.dom);\n this._statPanels.push(drawPanel);\n\n let trianglesPanel = new Stats();\n this._trianglesPanel = trianglesPanel.addPanel(\n new Stats.Panel('poly', '#0f0', '#000'),\n );\n trianglesPanel.showPanel(3);\n trianglesPanel.dom.style.cssText =\n 'position:absolute;top:150px;left:0px;z-index:110;';\n document.body.appendChild(trianglesPanel.dom);\n this._statPanels.push(trianglesPanel);\n\n let geometryPanel = new Stats();\n this._geometryPanel = geometryPanel.addPanel(\n new Stats.Panel('geo', '#f00', '#000'),\n );\n geometryPanel.showPanel(3);\n geometryPanel.dom.style.cssText =\n 'position:absolute;top:200px;left:0px;z-index:110;';\n document.body.appendChild(geometryPanel.dom);\n this._statPanels.push(geometryPanel);\n\n let texturePanel = new Stats();\n this._texturePanel = texturePanel.addPanel(\n new Stats.Panel('tex', '#f00', '#000'),\n );\n texturePanel.showPanel(3);\n texturePanel.dom.style.cssText =\n 'position:absolute;top:250px;left:0px;z-index:110;';\n document.body.appendChild(texturePanel.dom);\n this._statPanels.push(texturePanel);\n\n let materialPanel = new Stats();\n this._materialPanel = materialPanel.addPanel(\n new Stats.Panel('mat', '#f00', '#000'),\n );\n materialPanel.showPanel(3);\n materialPanel.dom.style.cssText =\n 'position:absolute;top:300px;left:0px;z-index:110;';\n document.body.appendChild(materialPanel.dom);\n this._statPanels.push(materialPanel);\n\n let qualityPanel = new Stats();\n this._qualityPanel = qualityPanel.addPanel(\n new Stats.Panel('quality', '#fff', '#000'),\n );\n qualityPanel.showPanel(3);\n qualityPanel.dom.style.cssText =\n 'position:absolute;top:350px;left:0px;z-index:110;';\n document.body.appendChild(qualityPanel.dom);\n this._statPanels.push(qualityPanel);\n }\n\n public updateRenderInfo(info: WebGLInfo) {\n if (this._drawPanel && info.render.calls > 0) {\n this._drawPanel.update(info.render.calls, 500);\n }\n if (this._trianglesPanel && info.render.triangles > 0) {\n this._trianglesPanel.update(info.render.triangles, 10000);\n }\n if (this._geometryPanel && info.memory.geometries > 0) {\n this._geometryPanel.update(info.memory.geometries, 10000);\n }\n if (this._texturePanel && info.memory.textures > 0) {\n this._texturePanel.update(info.memory.textures, 10000);\n }\n if (this._materialPanel && this._cacheHolder.materialCache.size > 0) {\n this._materialPanel.update(this._cacheHolder.materialCache.size, 1000);\n }\n\n if (this._statPanels.length > 0) {\n this._statPanels.forEach((panel) => panel.update());\n }\n }\n\n public updateQualityInfo(qualityLevel: QualityLevel) {\n if (this._qualityPanel && qualityLevel) {\n const qualityValue = Object.values(QUALITY_LEVELS).indexOf(qualityLevel);\n this._qualityPanel.update(qualityValue, 5);\n }\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,7 +1,7 @@
1
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
2
  import { r as g } from "./three.module-DC5fF9Zl.mjs";
3
3
  import { a as _ } from "./kernel-utils-042AuCQh.mjs";
4
- import { V as v, b as y } from "./common-utils-DMk5jc_R.mjs";
4
+ import { V as v, b as y } from "./common-utils-uHp4dDZQ.mjs";
5
5
  //#region packages/typings/planner.ts
6
6
  var ee = {
7
7
  CONFIGURATOR: 0,
@@ -30,10 +30,13 @@ var ee = {
30
30
  DEFAULT: 0,
31
31
  TERRAIN: 1
32
32
  }, oe = {
33
+ DEFAULT: 0,
34
+ CONSTRUCTION: 1
35
+ }, se = {
33
36
  WALL: 0,
34
37
  EDGE: 1,
35
38
  CONSTRUCTION: 2
36
- }, se = {
39
+ }, ce = {
37
40
  OBJECT: 0,
38
41
  DOOR: 1,
39
42
  WINDOW: 2,
@@ -43,32 +46,32 @@ var ee = {
43
46
  return Math.PI / 180 * e;
44
47
  }, S = function(e) {
45
48
  return 180 / Math.PI * e;
46
- }, ce = function(e) {
49
+ }, le = function(e) {
47
50
  return e >= 0 ? -180 + (e + 180) % 360 : 180 - (-e + 180) % 360;
48
- }, le = function(e, t, n, r, i, a) {
51
+ }, ue = function(e, t, n, r, i, a) {
49
52
  e = Math.sqrt(e * e + n * n);
50
53
  let o = i / a || 1, s = 2 * Math.atan(Math.tan(r * Math.PI / 180 / 2) * o) * 180 / Math.PI, c = x(r), l = t / 2 / Math.tan(c / 2), u = e / (2 * Math.atan(Math.PI * s / 360));
51
54
  return Math.max(l, u);
52
55
  }, C = function(e) {
53
56
  return Math.round(e * 1e3) / 1e3;
54
- }, ue = function(e, t) {
55
- return Math.abs(e.y - t.y) + Math.abs(e.x - t.x);
56
57
  }, de = function(e, t) {
58
+ return Math.abs(e.y - t.y) + Math.abs(e.x - t.x);
59
+ }, fe = function(e, t) {
57
60
  return Math.atan2(t.y - e.y, t.x - e.x);
58
- }, fe = function(e) {
61
+ }, pe = function(e) {
59
62
  let t = S(e);
60
63
  return t < 0 && (t = 180 + (180 + t)), t;
61
64
  }, w = /* @__PURE__ */ function(e) {
62
65
  return e[e.NODE = 0] = "NODE", e[e.WALL = 1] = "WALL", e[e.OBJECT = 2] = "OBJECT", e[e.FLOOR = 3] = "FLOOR", e[e.TEXT = 4] = "TEXT", e[e.MEASURE = 5] = "MEASURE", e[e.IMAGE = 6] = "IMAGE", e[e.CEILING = 7] = "CEILING", e;
63
- }({}), pe = {
66
+ }({}), me = {
64
67
  LEFT: 0,
65
68
  RIGHT: 1,
66
69
  MIDDLE: 2
67
- }, me = /* @__PURE__ */ function(e) {
70
+ }, he = /* @__PURE__ */ function(e) {
68
71
  return e[e.None = 0] = "None", e[e.CatalogItem = 1] = "CatalogItem", e[e.Material = 2] = "Material", e[e.RgbValue = 3] = "RgbValue", e;
69
- }({}), he = /* @__PURE__ */ function(e) {
72
+ }({}), ge = /* @__PURE__ */ function(e) {
70
73
  return e[e.CONTINOUS = 0] = "CONTINOUS", e[e.CLICK_PER_CLICK = 1] = "CLICK_PER_CLICK", e;
71
- }({}), ge = {
74
+ }({}), _e = {
72
75
  WALL: 0,
73
76
  ROOM_CONTOUR: 1,
74
77
  CONTOUR: 2
@@ -452,21 +455,21 @@ var P = null;
452
455
  globalThis.window !== void 0 && import("./dat.gui.module-BLjoST8r.mjs").then((e) => {
453
456
  P = e.GUI;
454
457
  }).catch(() => {});
455
- var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe = .9, Se = (e) => e instanceof g ? e.capabilities.maxSamples : 16, Ce = (e) => e instanceof g ? e.capabilities.maxTextures : 16, we = (e) => e instanceof g ? e.capabilities.getMaxAnisotropy() : 16, Te = (e, t, n, r) => {
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) => {
456
459
  if (!e || !t || n === 0 || r === 0) return new a();
457
460
  let i = e.clone(), o = n / 2, s = r / 2;
458
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;
459
- }, Ee = (e, t) => {
462
+ }, De = (e, t) => {
460
463
  t ||= new a(0, 0, 0);
461
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);
462
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));
463
- }, De = (e) => (e.from /= 1e3, e.to /= 1e3, e), Oe = (e, t) => {
466
+ }, Oe = (e) => (e.from /= 1e3, e.to /= 1e3, e), ke = (e, t) => {
464
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);
465
468
  return n === a && r === o && i === s;
466
- }, ke = (e, t) => {
469
+ }, Ae = (e, t) => {
467
470
  let n = C(e.w), r = C(e.x), i = C(e.y), a = C(e.z), o = C(t.w), s = C(t.x), c = C(t.y), l = C(t.z);
468
471
  return n === o && r === s && i === c && a === l;
469
- }, Ae = (e, t) => {
472
+ }, je = (e, t) => {
470
473
  let n = C(e.x), r = C(e.y), i = C(t.x), a = C(t.y);
471
474
  return n === i && r === a;
472
475
  }, L = null, R = () => {
@@ -478,20 +481,20 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
478
481
  }
479
482
  let n = new o(e, 1, 1, t);
480
483
  return n.needsUpdate = !0, n;
481
- }, je = (e) => z(null, e), z = (e, t) => {
482
- e ||= Pe(), e.name = t.id ? t.id.toString() : "";
484
+ }, Me = (e) => z(null, e), z = (e, t) => {
485
+ e ||= Fe(), e.name = t.id ? t.id.toString() : "";
483
486
  let n = t.shading.version === "2" || t.shading.version?.startsWith("2.");
484
- return e = n ? Ne(e, t) : Me(e, t), e.userData.materialVersion = n ? 2 : 1, e.map || (L ||= R(), e.map = L), e;
485
- }, Me = (e, t) => {
487
+ return e = n ? Pe(e, t) : Ne(e, t), e.userData.materialVersion = n ? 2 : 1, e.map || (L ||= R(), e.map = L), e;
488
+ }, Ne = (e, t) => {
486
489
  t.shading.metallic !== void 0 && (e.metalness = t.shading.metallic === 1 ? 1 : .5, e.reflectivity = y(t.shading.metallic, .5));
487
490
  let n = !1;
488
491
  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;
489
- }, Ne = (e, t) => {
492
+ }, Pe = (e, t) => {
490
493
  let n = !1, r = t.shading.transmission && t.shading.transmission > 0;
491
494
  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;
492
495
  let i = t.shading.attenuationDistance;
493
496
  return r && i === 0 ? console.warn("invalid attenuation configuration for transmissive material -- Skipping attenuation color and distance configuration in material.") : (B(e.attenuationColor, t.shading.attenuationColor), i != null && (e.attenuationDistance = i)), e.side = n || t.shading.doubleSided ? 2 : 0, e;
494
- }, Pe = () => T.createMeshPhysicalMaterial({}), Fe = (e, t = 1) => t === 2 ? Le(e) : Ie(e), Ie = (e) => {
497
+ }, Fe = () => T.createMeshPhysicalMaterial({}), Ie = (e, t = 1) => t === 2 ? Re(e) : Le(e), Le = (e) => {
495
498
  let t = {
496
499
  alpha: e.opacity,
497
500
  metallic: e.reflectivity,
@@ -502,7 +505,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
502
505
  transmission: e.transmission
503
506
  };
504
507
  return e.metalness === 1 ? t.metallic = 1 : t.metallic = e.reflectivity, t;
505
- }, Le = (e) => ({
508
+ }, Re = (e) => ({
506
509
  version: "2.0.0",
507
510
  alpha: e.opacity,
508
511
  alphaCutoff: e.alphaTest,
@@ -538,7 +541,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
538
541
  g: t.g,
539
542
  b: t.b
540
543
  };
541
- }, H = null, Re = (e, t, n, r, i, a, o = 16) => {
544
+ }, H = null, ze = (e, t, n, r, i, a, o = 16) => {
542
545
  H || (H = new p(), H.crossOrigin = "");
543
546
  let s = H;
544
547
  return new Promise((c, l) => {
@@ -565,10 +568,10 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
565
568
  console.warn("ORM maps are not supported on devices with only " + s + " texture units");
566
569
  return;
567
570
  }
568
- e.repeat.set(a, o), ze(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;
569
- }, ze = (t, n, r) => {
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;
572
+ }, Be = (t, n, r) => {
570
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);
571
- }, Be = (e = !0) => {
574
+ }, Ve = (e = !0) => {
572
575
  if (!window.__RML_WEBGL_GUI__) {
573
576
  if (!P) return null;
574
577
  try {
@@ -578,7 +581,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
578
581
  }
579
582
  }
580
583
  return window.__RML_WEBGL_GUI__ ?? null;
581
- }, Ve = (e, t) => {
584
+ }, He = (e, t) => {
582
585
  let n = !1;
583
586
  for (let r of t) {
584
587
  let t = r.getKernelObject(), i;
@@ -591,7 +594,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
591
594
  a !== r.getContainer().visible && (n = !0), a ? r.setContainerVisibility(!0) : r.isSelected || r.setContainerVisibility(!1);
592
595
  }
593
596
  return n;
594
- }, He = (e, t, n = !0) => {
597
+ }, Ue = (e, t, n = !0) => {
595
598
  if (!e.userData.tween) if (t) if (e.transparent = !0, !n) e.opacity = .2;
596
599
  else {
597
600
  let t = { opacity: 1 };
@@ -614,9 +617,9 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
614
617
  }).start();
615
618
  window.TWEEN?.add(n);
616
619
  }
617
- }, Ue = (e, t, n, r, i, a) => {
618
- let o = We(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(() => {
619
- let n = Ge(l, u, d.t);
620
+ }, We = (e, t, n, r, i, a) => {
621
+ let o = Ge(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(() => {
622
+ let n = Ke(l, u, d.t);
620
623
  G(e, i.clone().multiply(o).multiply(n).multiply(t)), a && a();
621
624
  }).onComplete(() => {
622
625
  G(e, s), a && a(), window.TWEEN?.remove(f);
@@ -624,7 +627,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
624
627
  window.TWEEN?.remove(f);
625
628
  }).start();
626
629
  return window.TWEEN?.add(f), f;
627
- }, We = (e, t) => {
630
+ }, Ge = (e, t) => {
628
631
  let n = e.clone().invert().clone().multiply(t), i = new a(), o = new r();
629
632
  n.decompose(i, o, new a());
630
633
  let s = W(o), c = s.axis;
@@ -641,7 +644,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
641
644
  };
642
645
  }, G = (e, t) => {
643
646
  e.updateMatrix(), t.multiply(e.matrix.clone().invert()), e.applyMatrix4(t), e.updateMatrix();
644
- }, Ge = (e, t, n) => {
647
+ }, Ke = (e, t, n) => {
645
648
  let i = new a(), o = new r(), s = new a();
646
649
  e.decompose(i, o, s);
647
650
  let c = new a(), l = new r(), u = new a();
@@ -656,12 +659,12 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
656
659
  }
657
660
  let h = new a().lerpVectors(s, u, n), g = new m();
658
661
  return g.compose(d, f, h), g;
659
- }, Ke = (e) => {
662
+ }, qe = (e) => {
660
663
  let t = new h();
661
664
  return t.setRGB((e >> 16) / 255, (e >> 8 & 255) / 255, (e >> 0 & 255) / 255), t;
662
665
  }, K = (e, t) => {
663
666
  t.transparent || (e.transparent = t.transparent, delete e.userData.postProcessingMaterialPlugin), e.opacity = t.opacity, e.needsUpdate = !0;
664
- }, qe = (e, t) => new Promise((n) => {
667
+ }, Je = (e, t) => new Promise((n) => {
665
668
  e.traverse((e) => {
666
669
  if (e instanceof c) {
667
670
  let r = e.material;
@@ -678,7 +681,7 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
678
681
  }).start());
679
682
  }
680
683
  });
681
- }), Je = (e) => {
684
+ }), Ye = (e) => {
682
685
  e.traverse((e) => {
683
686
  if (e instanceof c) {
684
687
  let t = e.material;
@@ -699,10 +702,10 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
699
702
  window.TWEEN?.add(i);
700
703
  }
701
704
  });
702
- }, Ye = (e, t) => {
705
+ }, Xe = (e, t) => {
703
706
  let n = new u().setFromObject(e), r = n.getSize(new a()), i = Math.min(r.x, r.y, r.z), o = !0;
704
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) => {
708
+ }, Ze = (e) => {
706
709
  e.type === "Mesh" ? J(e) : q(e);
707
710
  }, q = (e) => {
708
711
  !e || !e.children || e.children.length === 0 || e.children.forEach((e) => {
@@ -730,35 +733,35 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
730
733
  e && e.dispose();
731
734
  }, X = (e) => {
732
735
  e && (e.map && e.map.dispose(), e.normalMap && e.normalMap.dispose(), e.dispose());
733
- }, Z, Ze = () => (Z || (Z = new f(), Z.visible = !1), Z), Q, Qe = (e) => (Q ||= T.createMeshStandardMaterial({
736
+ }, Z, Qe = () => (Z || (Z = new f(), Z.visible = !1), Z), Q, $e = (e) => (Q ||= T.createMeshStandardMaterial({
734
737
  color: e || "#FF0000",
735
738
  transparent: !0,
736
739
  opacity: .5,
737
740
  visible: !0,
738
741
  polygonOffset: !0,
739
742
  polygonOffsetFactor: -1
740
- }), Q), $e = (e) => e.x === 0 && e.y === 0 && e.z === 0, et = (e) => Number.isFinite(e.x) && Number.isFinite(e.y) && Number.isFinite(e.z), tt = (e, t) => {
743
+ }), Q), et = (e) => e.x === 0 && e.y === 0 && e.z === 0, tt = (e) => Number.isFinite(e.x) && Number.isFinite(e.y) && Number.isFinite(e.z), nt = (e, t) => {
741
744
  let n = "";
742
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);
743
- }, $ = (e) => {
746
+ }, rt = (e) => {
744
747
  let t = e.getWorldDirection(new a()).clone();
745
748
  t.y = 0, t.lengthSq() < .01 && (t = new a(0, 1, 0), t.applyQuaternion(e.quaternion), t.y = 0), t.normalize();
746
749
  let n = Math.asin(t.x);
747
750
  return t.z < 0 && (n = Math.PI - n), n < 0 && (n += Math.PI * 2), n;
748
- }, nt = (e, t) => {
751
+ }, it = (e, t) => {
749
752
  if (!e || !t) return 0;
750
753
  let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
751
754
  return r && n || !r && !n ? 0 : n === !0 ? 1 : -1;
752
- }, rt = (e, t) => {
755
+ }, $ = (e, t) => {
753
756
  if (!e || !t) return 0;
754
757
  let n = e.clone().expandByScalar(.001).containsBox(t), r = t.clone().expandByScalar(.001).containsBox(e);
755
758
  if (r && n) return 0;
756
759
  if (!r && !n) {
757
- let n = it(e, t);
760
+ let n = at(e, t);
758
761
  return n === .5 ? 0 : n > .5 ? -1 : 1;
759
762
  }
760
763
  return n === !0 ? 1 : -1;
761
- }, it = (e, t) => {
764
+ }, at = (e, t) => {
762
765
  let n = new u();
763
766
  if (n.copy(e).intersect(t), n.isEmpty()) return 0;
764
767
  let r = (e) => {
@@ -766,34 +769,34 @@ var _e = .4, F = "#DDDDDD", I = .4, ve = "#7B7B7B", ye = "#B1B1B1", be = .8, xe
766
769
  return e.getSize(t), t.x * t.y * t.z;
767
770
  }, i = r(e), o = r(n);
768
771
  return i === 0 ? 0 : o / i;
769
- }, at = (e) => e[0] === 1 && e[1] === 0 && e[2] === 0 && e[3] === 1 && e[4] === 0 && e[5] === 0, ot = (e, t, n, r = 1) => {
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) => {
770
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;
771
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));
772
- }, st = (e) => {
775
+ }, ct = (e) => {
773
776
  let { x: t, y: n } = e;
774
777
  return {
775
778
  x: t,
776
779
  y: n
777
780
  };
778
- }, ct = (e) => {
781
+ }, lt = (e) => {
779
782
  let { x: t, y: n, z: r } = e;
780
783
  return {
781
784
  x: t,
782
785
  y: n,
783
786
  z: r
784
787
  };
785
- }, lt = (e, t, n) => new a().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), ut = (e) => {
788
+ }, ut = (e, t, n) => new a().setFromSphericalCoords(e, Math.PI * (1 - n), Math.PI * 2 * (1 - t)), dt = (e) => {
786
789
  let t = new n();
787
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;
788
- }, dt = (e, t) => {
791
+ }, ft = (e, t) => {
789
792
  let n = new l(), r = new m().multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse);
790
793
  n.setFromProjectionMatrix(r);
791
794
  let i = t.getCenter(new a());
792
795
  return n.containsPoint(i);
793
- }, ft = (e) => {
796
+ }, pt = (e) => {
794
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 ");
795
798
  };
796
799
  //#endregion
797
- export { O as $, Ce as A, Ae as B, Ke as C, Fe as D, tt as E, dt as F, He as G, ke as H, at as I, qe as J, st as K, Ee as L, Be as M, $ as N, we as O, Ve as P, E as Q, De as R, rt as S, b as St, ot as T, z as U, Oe as V, G as W, $e as X, et as Y, lt as Z, X as _, se as _t, ye as a, w as at, Je as b, ee as bt, U as c, ue as ct, Ye as d, fe as dt, M as et, nt as f, S as ft, Y as g, re as gt, Xe as h, ae as ht, ve as i, me as it, Te as j, Se as k, Re as l, le as lt, je as m, oe as mt, xe as n, ge as nt, _e as o, pe as ot, ut as p, x as pt, ct as q, I as r, he as rt, F as s, de as st, be as t, T as tt, Ue as u, ce as ut, J as v, te as vt, Qe as w, Ze as x, ne as xt, q as y, ie as yt, ft as z };
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 };
798
801
 
799
- //# sourceMappingURL=threejs-utils-E4yVZATI.mjs.map
802
+ //# sourceMappingURL=threejs-utils-DQCcy2fJ.mjs.map