@roomle/web-sdk 3.6.0-alpha.2 → 3.6.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.
- package/lib/BufferGeometry-DLEagG41.mjs +1022 -0
- package/lib/BufferGeometry-DLEagG41.mjs.map +1 -0
- package/lib/ConfiguratorKernel.js +2 -2
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/GLTFExporter-D8qsdwDK.mjs +1092 -0
- package/lib/GLTFExporter-D8qsdwDK.mjs.map +1 -0
- package/lib/Object3D-DSjIOhON.mjs +1713 -0
- package/lib/Object3D-DSjIOhON.mjs.map +1 -0
- package/lib/PointLightHelper-BnjxGaOG.mjs +257 -0
- package/lib/PointLightHelper-BnjxGaOG.mjs.map +1 -0
- package/lib/RoomleCore.js +4 -4
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/SpotLightHelper-DqsfqCrs.mjs +154 -0
- package/lib/SpotLightHelper-DqsfqCrs.mjs.map +1 -0
- package/lib/USDZExporter-DxIqi8St.mjs +296 -0
- package/lib/USDZExporter-DxIqi8St.mjs.map +1 -0
- package/lib/Vector4-DGmBYfpK.mjs +204 -0
- package/lib/Vector4-DGmBYfpK.mjs.map +1 -0
- package/lib/api-CNoIBuvr.mjs +55 -0
- package/lib/api-CNoIBuvr.mjs.map +1 -0
- package/lib/asset-loader.worker.js +1 -1
- package/lib/banana-for-scale-C_iNmlCT.mjs +36 -0
- package/lib/banana-for-scale-C_iNmlCT.mjs.map +1 -0
- package/lib/common-utils-DMSTohiS.mjs +187 -0
- package/lib/common-utils-DMSTohiS.mjs.map +1 -0
- package/lib/component-dimensioning-CvRmUja4.mjs +162 -0
- package/lib/component-dimensioning-CvRmUja4.mjs.map +1 -0
- package/lib/component-raycast-helper-CEp7wy9c.mjs +97 -0
- package/lib/component-raycast-helper-CEp7wy9c.mjs.map +1 -0
- package/lib/configurator-B_5XVG2O.mjs +45 -0
- package/lib/configurator-B_5XVG2O.mjs.map +1 -0
- package/lib/configurator-DCdvMM0o.mjs +2 -0
- package/lib/continuous-drawing-helper-v_5UAM9A.mjs +42 -0
- package/lib/continuous-drawing-helper-v_5UAM9A.mjs.map +1 -0
- package/lib/decorate-C1QnXPYw.mjs +35 -0
- package/lib/decorate-C1QnXPYw.mjs.map +1 -0
- package/lib/dimensioning-helper-DTcW85Oq.mjs +2 -0
- package/lib/dimensioning-helper-Fwpt1HTT.mjs +268 -0
- package/lib/dimensioning-helper-Fwpt1HTT.mjs.map +1 -0
- package/lib/fflate.module-dFNj5UPI.mjs +536 -0
- package/lib/fflate.module-dFNj5UPI.mjs.map +1 -0
- package/lib/glb-viewer-cP8g6bcm.mjs +315 -0
- package/lib/glb-viewer-cP8g6bcm.mjs.map +1 -0
- package/lib/glb-viewer-dZThmlwM.mjs +2 -0
- package/lib/homag-intelligence-LoOJ7roM.mjs +381 -0
- package/lib/homag-intelligence-LoOJ7roM.mjs.map +1 -0
- package/lib/imos-ix-poc-export-helper-CQh94HsO.mjs +161 -0
- package/lib/imos-ix-poc-export-helper-CQh94HsO.mjs.map +1 -0
- package/lib/kernel-BAQSG9r5.mjs +46 -0
- package/lib/kernel-BAQSG9r5.mjs.map +1 -0
- package/lib/kernel-utils-H74uNY1h.mjs +44 -0
- package/lib/kernel-utils-H74uNY1h.mjs.map +1 -0
- package/lib/layer-C_JtkhdO.mjs +8 -0
- package/lib/layer-C_JtkhdO.mjs.map +1 -0
- package/lib/main-BxEZ11ag.mjs +20461 -0
- package/lib/main-BxEZ11ag.mjs.map +1 -0
- package/lib/material-viewer-njBFF0Zg.mjs +292 -0
- package/lib/material-viewer-njBFF0Zg.mjs.map +1 -0
- package/lib/planner-Cr495Cyn.mjs +2 -0
- package/lib/planner-DY73rplC.mjs +44 -0
- package/lib/planner-DY73rplC.mjs.map +1 -0
- package/lib/plugin-system-D9K46xJk.mjs +55 -0
- package/lib/plugin-system-D9K46xJk.mjs.map +1 -0
- package/lib/roomle-sdk.d.ts +302 -134
- package/lib/roomle-sdk.js +7 -36
- package/lib/scene-renderer-D8HkTFeZ.mjs +3826 -0
- package/lib/scene-renderer-D8HkTFeZ.mjs.map +1 -0
- package/lib/script-loader-KBq8SjP6.mjs +45 -0
- package/lib/script-loader-KBq8SjP6.mjs.map +1 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_decoder.js +34 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_encoder.js +33 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
- package/lib/static/packages/workers/generated/asset-loader.worker.js +1 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -0
- package/lib/static/roomle-core-hsc/{configuratorCore.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorCore.d.ts} +1 -2
- package/lib/static/roomle-core-hsc/{configuratorCoreInterface.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts} +22 -29
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/embind/plannerCore.d.ts +1 -2
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/embind/plannerCoreCallback.d.ts +1 -1
- package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreCallback.js +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +1 -0
- package/lib/static/roomle-core-hsc/{plannerCoreInterface.d.ts → node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts} +76 -81
- package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreInterface.js +1 -6
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurableObject.d.ts +2 -2
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/loader/configurableObject.js +6 -6
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/configurableObject.js.map +1 -0
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/loader/configurationLoader.js +1 -5
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/configurationLoader.js.map +1 -0
- package/lib/static/roomle-core-hsc/{configurationManager.d.ts → node_modules/roomle-core-hsc/src/loader/configurationManager.d.ts} +1 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurationManager.js +6 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/configurationManager.js.map +1 -0
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/loader/planElementManager.d.ts +2 -2
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/planElementManager.js.map +1 -1
- package/lib/static/roomle-core-hsc/{wasm_modern → node_modules/roomle-core-hsc/wasm_modern}/ConfiguratorKernel.js +2 -2
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/{wasm_modern → node_modules/roomle-core-hsc/wasm_modern}/RoomleCore.js +4 -4
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/stats-helper-HM0TaIM5.mjs +95 -0
- package/lib/stats-helper-HM0TaIM5.mjs.map +1 -0
- package/lib/three.core-CLIofecG.mjs +7629 -0
- package/lib/three.core-CLIofecG.mjs.map +1 -0
- package/lib/three.module-C4Q1skJQ.mjs +5795 -0
- package/lib/three.module-C4Q1skJQ.mjs.map +1 -0
- package/lib/three.webgpu-dFspy2yF.mjs +16057 -0
- package/lib/three.webgpu-dFspy2yF.mjs.map +1 -0
- package/lib/threejs-utils-jEzvlJF1.mjs +2233 -0
- package/lib/threejs-utils-jEzvlJF1.mjs.map +1 -0
- package/lib/tools-core-CZbPygRC.mjs +30 -0
- package/lib/tools-core-CZbPygRC.mjs.map +1 -0
- package/package.json +3 -3
- package/lib/BufferGeometry-BZdSmtHt.mjs +0 -2064
- package/lib/BufferGeometry-BZdSmtHt.mjs.map +0 -1
- package/lib/GLTFExporter-DiE_HuI6.mjs +0 -1286
- package/lib/GLTFExporter-DiE_HuI6.mjs.map +0 -1
- package/lib/PointLightHelper-BvRpTX7D.mjs +0 -522
- package/lib/PointLightHelper-BvRpTX7D.mjs.map +0 -1
- package/lib/SpotLightHelper-Byg39thi.mjs +0 -222
- package/lib/SpotLightHelper-Byg39thi.mjs.map +0 -1
- package/lib/USDZExporter-VBx9xybH.mjs +0 -545
- package/lib/USDZExporter-VBx9xybH.mjs.map +0 -1
- package/lib/banana-for-scale-C9_AyZkI.mjs +0 -50
- package/lib/banana-for-scale-C9_AyZkI.mjs.map +0 -1
- package/lib/component-dimensioning-DHTSa-If.mjs +0 -229
- package/lib/component-dimensioning-DHTSa-If.mjs.map +0 -1
- package/lib/continuous-drawing-helper-BNHRsd4B.mjs +0 -48
- package/lib/continuous-drawing-helper-BNHRsd4B.mjs.map +0 -1
- package/lib/homag-intelligence-BraN723F.mjs +0 -545
- package/lib/homag-intelligence-BraN723F.mjs.map +0 -1
- package/lib/imos-ix-poc-export-helper-D7ubISCJ.mjs +0 -180
- package/lib/imos-ix-poc-export-helper-D7ubISCJ.mjs.map +0 -1
- package/lib/index-C-Prfui2.mjs +0 -73502
- package/lib/index-C-Prfui2.mjs.map +0 -1
- package/lib/material-viewer-DyVGp6Xm.mjs +0 -450
- package/lib/material-viewer-DyVGp6Xm.mjs.map +0 -1
- package/lib/roomle-sdk.js.map +0 -1
- package/lib/static/asset-loader.worker.js +0 -1
- package/lib/static/draco/gltf/draco_decoder.js +0 -33
- package/lib/static/draco/gltf/draco_decoder.wasm +0 -0
- package/lib/static/draco/gltf/draco_encoder.js +0 -33
- package/lib/static/draco/gltf/draco_wasm_wrapper.js +0 -116
- package/lib/static/roomle-core-hsc/ConfiguratorKernel.js +0 -74
- package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleCore.js +0 -79
- package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/configurableObject.d.ts +0 -30
- package/lib/static/roomle-core-hsc/configurableObject.js +0 -111
- package/lib/static/roomle-core-hsc/configurableObject.js.map +0 -1
- package/lib/static/roomle-core-hsc/configurationLoader.js +0 -349
- package/lib/static/roomle-core-hsc/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/configurationManager.js +0 -141
- package/lib/static/roomle-core-hsc/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.d.ts +0 -82
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.js +0 -355
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/embind/configuratorCore.js +0 -50
- package/lib/static/roomle-core-hsc/embind/configuratorCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.d.ts +0 -753
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js +0 -99
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.d.ts +0 -3
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.js +0 -52
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/coreModue.d.ts +0 -4
- package/lib/static/roomle-core-hsc/embind/coreModue.js +0 -3
- package/lib/static/roomle-core-hsc/embind/coreModue.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/coreModule.d.ts +0 -11
- package/lib/static/roomle-core-hsc/embind/coreModule.js +0 -19
- package/lib/static/roomle-core-hsc/embind/coreModule.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/plannerCore.d.ts +0 -32
- package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.d.ts +0 -39
- package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +0 -858
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurableObject.js +0 -111
- package/lib/static/roomle-core-hsc/loader/configurableObject.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationGeometryConstructor.d.ts +0 -21
- package/lib/static/roomle-core-hsc/loader/configurationGeometryConstructor.js +0 -90
- package/lib/static/roomle-core-hsc/loader/configurationGeometryConstructor.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationLoader.d.ts +0 -116
- package/lib/static/roomle-core-hsc/loader/configurationLoader.js +0 -349
- package/lib/static/roomle-core-hsc/loader/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationManager.d.ts +0 -40
- package/lib/static/roomle-core-hsc/loader/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/planElementManager.d.ts +0 -96
- package/lib/static/roomle-core-hsc/loaderUtility.d.ts +0 -81
- package/lib/static/roomle-core-hsc/loaderUtility.js +0 -141
- package/lib/static/roomle-core-hsc/loaderUtility.js.map +0 -1
- package/lib/static/roomle-core-hsc/logger.d.ts +0 -29
- package/lib/static/roomle-core-hsc/logger.js +0 -61
- package/lib/static/roomle-core-hsc/logger.js.map +0 -1
- package/lib/static/roomle-core-hsc/package.json +0 -1
- package/lib/static/roomle-core-hsc/planElementManager.d.ts +0 -96
- package/lib/static/roomle-core-hsc/planElementManager.js +0 -300
- package/lib/static/roomle-core-hsc/planElementManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCore.d.ts +0 -32
- package/lib/static/roomle-core-hsc/plannerCore.js +0 -111
- package/lib/static/roomle-core-hsc/plannerCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCoreCallback.d.ts +0 -39
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js +0 -116
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCoreInterface.js +0 -98
- package/lib/static/roomle-core-hsc/plannerCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/rapiAccess.d.ts +0 -70
- package/lib/static/roomle-core-hsc/rapiAccess.js +0 -227
- package/lib/static/roomle-core-hsc/rapiAccess.js.map +0 -1
- package/lib/static/roomle-core-hsc/serviceCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/serviceCore.js +0 -54
- package/lib/static/roomle-core-hsc/serviceCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/serviceCoreInterface.d.ts +0 -13
- package/lib/static/roomle-core-hsc/serviceCoreInterface.js +0 -3
- package/lib/static/roomle-core-hsc/serviceCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.d.ts +0 -82
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.js +0 -355
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.js +0 -50
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +0 -753
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js +0 -99
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.d.ts +0 -3
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.js +0 -52
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/coreModue.d.ts +0 -4
- package/lib/static/roomle-core-hsc/src/embind/coreModue.js +0 -3
- package/lib/static/roomle-core-hsc/src/embind/coreModue.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/coreModule.d.ts +0 -11
- package/lib/static/roomle-core-hsc/src/embind/coreModule.js +0 -19
- package/lib/static/roomle-core-hsc/src/embind/coreModule.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js +0 -111
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js +0 -116
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +0 -858
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js +0 -98
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.js +0 -54
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.d.ts +0 -13
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.js +0 -3
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.d.ts +0 -17
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.js +0 -75
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.d.ts +0 -40
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.js +0 -8
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurableObject.d.ts +0 -30
- package/lib/static/roomle-core-hsc/src/loader/configurableObject.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.d.ts +0 -21
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.js +0 -90
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationLoader.d.ts +0 -116
- package/lib/static/roomle-core-hsc/src/loader/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.d.ts +0 -40
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.js +0 -141
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.d.ts +0 -81
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.js +0 -141
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/logger.d.ts +0 -29
- package/lib/static/roomle-core-hsc/src/loader/logger.js +0 -61
- package/lib/static/roomle-core-hsc/src/loader/logger.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/planElementManager.js +0 -300
- package/lib/static/roomle-core-hsc/src/loader/planElementManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.d.ts +0 -70
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.js +0 -227
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.js.map +0 -1
- package/lib/static/roomle-core-hsc/toolsCore.d.ts +0 -17
- package/lib/static/roomle-core-hsc/toolsCore.js +0 -75
- package/lib/static/roomle-core-hsc/toolsCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/toolsCoreInterface.d.ts +0 -40
- package/lib/static/roomle-core-hsc/toolsCoreInterface.js +0 -8
- package/lib/static/roomle-core-hsc/toolsCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.js +0 -74
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/stats-helper-UQlUyOTj.mjs +0 -108
- package/lib/stats-helper-UQlUyOTj.mjs.map +0 -1
- package/lib/three.webgpu-sHJcp001.mjs +0 -27625
- package/lib/three.webgpu-sHJcp001.mjs.map +0 -1
- package/lib/tools-core-wkPFRdnH.mjs +0 -36
- package/lib/tools-core-wkPFRdnH.mjs.map +0 -1
- /package/lib/static/draco/{README.md → node_modules/three/examples/jsm/libs/draco/README.md} +0 -0
- /package/lib/static/draco/{draco_decoder.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.js} +0 -0
- /package/lib/static/draco/{draco_decoder.wasm → node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.wasm} +0 -0
- /package/lib/static/draco/{draco_encoder.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_encoder.js} +0 -0
- /package/lib/static/draco/{draco_wasm_wrapper.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js} +0 -0
- /package/lib/static/{budgeteer.sw.js → packages/workers/generated/budgeteer.sw.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorCallback.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.js → node_modules/roomle-core-hsc/src/embind/configuratorCallback.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCallback.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCore.js → node_modules/roomle-core-hsc/src/embind/configuratorCore.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCore.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCore.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCoreInterface.js → node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCoreInterface.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorUtils.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.js → node_modules/roomle-core-hsc/src/embind/configuratorUtils.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.js.map → node_modules/roomle-core-hsc/src/embind/configuratorUtils.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.d.ts → node_modules/roomle-core-hsc/src/embind/coreModue.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.js → node_modules/roomle-core-hsc/src/embind/coreModue.js} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.js.map → node_modules/roomle-core-hsc/src/embind/coreModue.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.d.ts → node_modules/roomle-core-hsc/src/embind/coreModule.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.js → node_modules/roomle-core-hsc/src/embind/coreModule.js} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.js.map → node_modules/roomle-core-hsc/src/embind/coreModule.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{configurationGeometryConstructor.d.ts → node_modules/roomle-core-hsc/src/loader/configurationGeometryConstructor.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configurationGeometryConstructor.js → node_modules/roomle-core-hsc/src/loader/configurationGeometryConstructor.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configurationGeometryConstructor.js.map → node_modules/roomle-core-hsc/src/loader/configurationGeometryConstructor.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configurationLoader.d.ts → node_modules/roomle-core-hsc/src/loader/configurationLoader.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/planElementManager.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{RoomleToolsCore.js → node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.js} +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { p as e } from "./Object3D-DSjIOhON.mjs";
|
|
2
|
+
//#region ../../node_modules/three/src/math/Vector4.js
|
|
3
|
+
var t = class t {
|
|
4
|
+
constructor(e = 0, n = 0, r = 0, i = 1) {
|
|
5
|
+
t.prototype.isVector4 = !0, this.x = e, this.y = n, this.z = r, this.w = i;
|
|
6
|
+
}
|
|
7
|
+
get width() {
|
|
8
|
+
return this.z;
|
|
9
|
+
}
|
|
10
|
+
set width(e) {
|
|
11
|
+
this.z = e;
|
|
12
|
+
}
|
|
13
|
+
get height() {
|
|
14
|
+
return this.w;
|
|
15
|
+
}
|
|
16
|
+
set height(e) {
|
|
17
|
+
this.w = e;
|
|
18
|
+
}
|
|
19
|
+
set(e, t, n, r) {
|
|
20
|
+
return this.x = e, this.y = t, this.z = n, this.w = r, this;
|
|
21
|
+
}
|
|
22
|
+
setScalar(e) {
|
|
23
|
+
return this.x = e, this.y = e, this.z = e, this.w = e, this;
|
|
24
|
+
}
|
|
25
|
+
setX(e) {
|
|
26
|
+
return this.x = e, this;
|
|
27
|
+
}
|
|
28
|
+
setY(e) {
|
|
29
|
+
return this.y = e, this;
|
|
30
|
+
}
|
|
31
|
+
setZ(e) {
|
|
32
|
+
return this.z = e, this;
|
|
33
|
+
}
|
|
34
|
+
setW(e) {
|
|
35
|
+
return this.w = e, this;
|
|
36
|
+
}
|
|
37
|
+
setComponent(e, t) {
|
|
38
|
+
switch (e) {
|
|
39
|
+
case 0:
|
|
40
|
+
this.x = t;
|
|
41
|
+
break;
|
|
42
|
+
case 1:
|
|
43
|
+
this.y = t;
|
|
44
|
+
break;
|
|
45
|
+
case 2:
|
|
46
|
+
this.z = t;
|
|
47
|
+
break;
|
|
48
|
+
case 3:
|
|
49
|
+
this.w = t;
|
|
50
|
+
break;
|
|
51
|
+
default: throw Error("index is out of range: " + e);
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
getComponent(e) {
|
|
56
|
+
switch (e) {
|
|
57
|
+
case 0: return this.x;
|
|
58
|
+
case 1: return this.y;
|
|
59
|
+
case 2: return this.z;
|
|
60
|
+
case 3: return this.w;
|
|
61
|
+
default: throw Error("index is out of range: " + e);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
clone() {
|
|
65
|
+
return new this.constructor(this.x, this.y, this.z, this.w);
|
|
66
|
+
}
|
|
67
|
+
copy(e) {
|
|
68
|
+
return this.x = e.x, this.y = e.y, this.z = e.z, this.w = e.w === void 0 ? 1 : e.w, this;
|
|
69
|
+
}
|
|
70
|
+
add(e) {
|
|
71
|
+
return this.x += e.x, this.y += e.y, this.z += e.z, this.w += e.w, this;
|
|
72
|
+
}
|
|
73
|
+
addScalar(e) {
|
|
74
|
+
return this.x += e, this.y += e, this.z += e, this.w += e, this;
|
|
75
|
+
}
|
|
76
|
+
addVectors(e, t) {
|
|
77
|
+
return this.x = e.x + t.x, this.y = e.y + t.y, this.z = e.z + t.z, this.w = e.w + t.w, this;
|
|
78
|
+
}
|
|
79
|
+
addScaledVector(e, t) {
|
|
80
|
+
return this.x += e.x * t, this.y += e.y * t, this.z += e.z * t, this.w += e.w * t, this;
|
|
81
|
+
}
|
|
82
|
+
sub(e) {
|
|
83
|
+
return this.x -= e.x, this.y -= e.y, this.z -= e.z, this.w -= e.w, this;
|
|
84
|
+
}
|
|
85
|
+
subScalar(e) {
|
|
86
|
+
return this.x -= e, this.y -= e, this.z -= e, this.w -= e, this;
|
|
87
|
+
}
|
|
88
|
+
subVectors(e, t) {
|
|
89
|
+
return this.x = e.x - t.x, this.y = e.y - t.y, this.z = e.z - t.z, this.w = e.w - t.w, this;
|
|
90
|
+
}
|
|
91
|
+
multiply(e) {
|
|
92
|
+
return this.x *= e.x, this.y *= e.y, this.z *= e.z, this.w *= e.w, this;
|
|
93
|
+
}
|
|
94
|
+
multiplyScalar(e) {
|
|
95
|
+
return this.x *= e, this.y *= e, this.z *= e, this.w *= e, this;
|
|
96
|
+
}
|
|
97
|
+
applyMatrix4(e) {
|
|
98
|
+
let t = this.x, n = this.y, r = this.z, i = this.w, a = e.elements;
|
|
99
|
+
return this.x = a[0] * t + a[4] * n + a[8] * r + a[12] * i, this.y = a[1] * t + a[5] * n + a[9] * r + a[13] * i, this.z = a[2] * t + a[6] * n + a[10] * r + a[14] * i, this.w = a[3] * t + a[7] * n + a[11] * r + a[15] * i, this;
|
|
100
|
+
}
|
|
101
|
+
divide(e) {
|
|
102
|
+
return this.x /= e.x, this.y /= e.y, this.z /= e.z, this.w /= e.w, this;
|
|
103
|
+
}
|
|
104
|
+
divideScalar(e) {
|
|
105
|
+
return this.multiplyScalar(1 / e);
|
|
106
|
+
}
|
|
107
|
+
setAxisAngleFromQuaternion(e) {
|
|
108
|
+
this.w = 2 * Math.acos(e.w);
|
|
109
|
+
let t = Math.sqrt(1 - e.w * e.w);
|
|
110
|
+
return t < 1e-4 ? (this.x = 1, this.y = 0, this.z = 0) : (this.x = e.x / t, this.y = e.y / t, this.z = e.z / t), this;
|
|
111
|
+
}
|
|
112
|
+
setAxisAngleFromRotationMatrix(e) {
|
|
113
|
+
let t, n, r, i, a = .01, o = .1, s = e.elements, c = s[0], l = s[4], u = s[8], d = s[1], f = s[5], p = s[9], m = s[2], h = s[6], g = s[10];
|
|
114
|
+
if (Math.abs(l - d) < a && Math.abs(u - m) < a && Math.abs(p - h) < a) {
|
|
115
|
+
if (Math.abs(l + d) < o && Math.abs(u + m) < o && Math.abs(p + h) < o && Math.abs(c + f + g - 3) < o) return this.set(1, 0, 0, 0), this;
|
|
116
|
+
t = Math.PI;
|
|
117
|
+
let e = (c + 1) / 2, s = (f + 1) / 2, _ = (g + 1) / 2, v = (l + d) / 4, y = (u + m) / 4, b = (p + h) / 4;
|
|
118
|
+
return e > s && e > _ ? e < a ? (n = 0, r = .707106781, i = .707106781) : (n = Math.sqrt(e), r = v / n, i = y / n) : s > _ ? s < a ? (n = .707106781, r = 0, i = .707106781) : (r = Math.sqrt(s), n = v / r, i = b / r) : _ < a ? (n = .707106781, r = .707106781, i = 0) : (i = Math.sqrt(_), n = y / i, r = b / i), this.set(n, r, i, t), this;
|
|
119
|
+
}
|
|
120
|
+
let _ = Math.sqrt((h - p) * (h - p) + (u - m) * (u - m) + (d - l) * (d - l));
|
|
121
|
+
return Math.abs(_) < .001 && (_ = 1), this.x = (h - p) / _, this.y = (u - m) / _, this.z = (d - l) / _, this.w = Math.acos((c + f + g - 1) / 2), this;
|
|
122
|
+
}
|
|
123
|
+
setFromMatrixPosition(e) {
|
|
124
|
+
let t = e.elements;
|
|
125
|
+
return this.x = t[12], this.y = t[13], this.z = t[14], this.w = t[15], this;
|
|
126
|
+
}
|
|
127
|
+
min(e) {
|
|
128
|
+
return this.x = Math.min(this.x, e.x), this.y = Math.min(this.y, e.y), this.z = Math.min(this.z, e.z), this.w = Math.min(this.w, e.w), this;
|
|
129
|
+
}
|
|
130
|
+
max(e) {
|
|
131
|
+
return this.x = Math.max(this.x, e.x), this.y = Math.max(this.y, e.y), this.z = Math.max(this.z, e.z), this.w = Math.max(this.w, e.w), this;
|
|
132
|
+
}
|
|
133
|
+
clamp(t, n) {
|
|
134
|
+
return this.x = e(this.x, t.x, n.x), this.y = e(this.y, t.y, n.y), this.z = e(this.z, t.z, n.z), this.w = e(this.w, t.w, n.w), this;
|
|
135
|
+
}
|
|
136
|
+
clampScalar(t, n) {
|
|
137
|
+
return this.x = e(this.x, t, n), this.y = e(this.y, t, n), this.z = e(this.z, t, n), this.w = e(this.w, t, n), this;
|
|
138
|
+
}
|
|
139
|
+
clampLength(t, n) {
|
|
140
|
+
let r = this.length();
|
|
141
|
+
return this.divideScalar(r || 1).multiplyScalar(e(r, t, n));
|
|
142
|
+
}
|
|
143
|
+
floor() {
|
|
144
|
+
return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this.w = Math.floor(this.w), this;
|
|
145
|
+
}
|
|
146
|
+
ceil() {
|
|
147
|
+
return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this.w = Math.ceil(this.w), this;
|
|
148
|
+
}
|
|
149
|
+
round() {
|
|
150
|
+
return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this.w = Math.round(this.w), this;
|
|
151
|
+
}
|
|
152
|
+
roundToZero() {
|
|
153
|
+
return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this.w = Math.trunc(this.w), this;
|
|
154
|
+
}
|
|
155
|
+
negate() {
|
|
156
|
+
return this.x = -this.x, this.y = -this.y, this.z = -this.z, this.w = -this.w, this;
|
|
157
|
+
}
|
|
158
|
+
dot(e) {
|
|
159
|
+
return this.x * e.x + this.y * e.y + this.z * e.z + this.w * e.w;
|
|
160
|
+
}
|
|
161
|
+
lengthSq() {
|
|
162
|
+
return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
|
|
163
|
+
}
|
|
164
|
+
length() {
|
|
165
|
+
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
|
|
166
|
+
}
|
|
167
|
+
manhattanLength() {
|
|
168
|
+
return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);
|
|
169
|
+
}
|
|
170
|
+
normalize() {
|
|
171
|
+
return this.divideScalar(this.length() || 1);
|
|
172
|
+
}
|
|
173
|
+
setLength(e) {
|
|
174
|
+
return this.normalize().multiplyScalar(e);
|
|
175
|
+
}
|
|
176
|
+
lerp(e, t) {
|
|
177
|
+
return this.x += (e.x - this.x) * t, this.y += (e.y - this.y) * t, this.z += (e.z - this.z) * t, this.w += (e.w - this.w) * t, this;
|
|
178
|
+
}
|
|
179
|
+
lerpVectors(e, t, n) {
|
|
180
|
+
return this.x = e.x + (t.x - e.x) * n, this.y = e.y + (t.y - e.y) * n, this.z = e.z + (t.z - e.z) * n, this.w = e.w + (t.w - e.w) * n, this;
|
|
181
|
+
}
|
|
182
|
+
equals(e) {
|
|
183
|
+
return e.x === this.x && e.y === this.y && e.z === this.z && e.w === this.w;
|
|
184
|
+
}
|
|
185
|
+
fromArray(e, t = 0) {
|
|
186
|
+
return this.x = e[t], this.y = e[t + 1], this.z = e[t + 2], this.w = e[t + 3], this;
|
|
187
|
+
}
|
|
188
|
+
toArray(e = [], t = 0) {
|
|
189
|
+
return e[t] = this.x, e[t + 1] = this.y, e[t + 2] = this.z, e[t + 3] = this.w, e;
|
|
190
|
+
}
|
|
191
|
+
fromBufferAttribute(e, t) {
|
|
192
|
+
return this.x = e.getX(t), this.y = e.getY(t), this.z = e.getZ(t), this.w = e.getW(t), this;
|
|
193
|
+
}
|
|
194
|
+
random() {
|
|
195
|
+
return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this.w = Math.random(), this;
|
|
196
|
+
}
|
|
197
|
+
*[Symbol.iterator]() {
|
|
198
|
+
yield this.x, yield this.y, yield this.z, yield this.w;
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
//#endregion
|
|
202
|
+
export { t };
|
|
203
|
+
|
|
204
|
+
//# sourceMappingURL=Vector4-DGmBYfpK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vector4-DGmBYfpK.mjs","names":[],"sources":["../../../../node_modules/three/src/math/Vector4.js"],"sourcesContent":["import { clamp } from './MathUtils.js';\n\n/**\n * Class representing a 4D vector. A 4D vector is an ordered quadruplet of numbers\n * (labeled x, y, z and w), which can be used to represent a number of things, such as:\n *\n * - A point in 4D space.\n * - A direction and length in 4D space. In three.js the length will\n * always be the Euclidean distance(straight-line distance) from `(0, 0, 0, 0)` to `(x, y, z, w)`\n * and the direction is also measured from `(0, 0, 0, 0)` towards `(x, y, z, w)`.\n * - Any arbitrary ordered quadruplet of numbers.\n *\n * There are other things a 4D vector can be used to represent, however these\n * are the most common uses in *three.js*.\n *\n * Iterating through a vector instance will yield its components `(x, y, z, w)` in\n * the corresponding order.\n * ```js\n * const a = new THREE.Vector4( 0, 1, 0, 0 );\n *\n * //no arguments; will be initialised to (0, 0, 0, 1)\n * const b = new THREE.Vector4( );\n *\n * const d = a.dot( b );\n * ```\n */\nclass Vector4 {\n\n\t/**\n\t * Constructs a new 4D vector.\n\t *\n\t * @param {number} [x=0] - The x value of this vector.\n\t * @param {number} [y=0] - The y value of this vector.\n\t * @param {number} [z=0] - The z value of this vector.\n\t * @param {number} [w=1] - The w value of this vector.\n\t */\n\tconstructor( x = 0, y = 0, z = 0, w = 1 ) {\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tVector4.prototype.isVector4 = true;\n\n\t\t/**\n\t\t * The x value of this vector.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.x = x;\n\n\t\t/**\n\t\t * The y value of this vector.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.y = y;\n\n\t\t/**\n\t\t * The z value of this vector.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.z = z;\n\n\t\t/**\n\t\t * The w value of this vector.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.w = w;\n\n\t}\n\n\t/**\n\t * Alias for {@link Vector4#z}.\n\t *\n\t * @type {number}\n\t */\n\tget width() {\n\n\t\treturn this.z;\n\n\t}\n\n\tset width( value ) {\n\n\t\tthis.z = value;\n\n\t}\n\n\t/**\n\t * Alias for {@link Vector4#w}.\n\t *\n\t * @type {number}\n\t */\n\tget height() {\n\n\t\treturn this.w;\n\n\t}\n\n\tset height( value ) {\n\n\t\tthis.w = value;\n\n\t}\n\n\t/**\n\t * Sets the vector components.\n\t *\n\t * @param {number} x - The value of the x component.\n\t * @param {number} y - The value of the y component.\n\t * @param {number} z - The value of the z component.\n\t * @param {number} w - The value of the w component.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tset( x, y, z, w ) {\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\t\tthis.w = w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector components to the same value.\n\t *\n\t * @param {number} scalar - The value to set for all vector components.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\t\tthis.z = scalar;\n\t\tthis.w = scalar;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector's x component to the given value\n\t *\n\t * @param {number} x - The value to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector's y component to the given value\n\t *\n\t * @param {number} y - The value to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector's z component to the given value\n\t *\n\t * @param {number} z - The value to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetZ( z ) {\n\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector's w component to the given value\n\t *\n\t * @param {number} w - The value to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetW( w ) {\n\n\t\tthis.w = w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Allows to set a vector component with an index.\n\t *\n\t * @param {number} index - The component index. `0` equals to x, `1` equals to y,\n\t * `2` equals to z, `3` equals to w.\n\t * @param {number} value - The value to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tcase 2: this.z = value; break;\n\t\t\tcase 3: this.w = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Returns the value of the vector component which matches the given index.\n\t *\n\t * @param {number} index - The component index. `0` equals to x, `1` equals to y,\n\t * `2` equals to z, `3` equals to w.\n\t * @return {number} A vector component value.\n\t */\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tcase 2: return this.z;\n\t\t\tcase 3: return this.w;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Returns a new vector with copied values from this instance.\n\t *\n\t * @return {Vector4} A clone of this instance.\n\t */\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y, this.z, this.w );\n\n\t}\n\n\t/**\n\t * Copies the values of the given vector to this instance.\n\t *\n\t * @param {Vector3|Vector4} v - The vector to copy.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\t\tthis.z = v.z;\n\t\tthis.w = ( v.w !== undefined ) ? v.w : 1;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Adds the given vector to this instance.\n\t *\n\t * @param {Vector4} v - The vector to add.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\t\tthis.z += v.z;\n\t\tthis.w += v.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Adds the given scalar value to all components of this instance.\n\t *\n\t * @param {number} s - The scalar to add.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\t\tthis.z += s;\n\t\tthis.w += s;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Adds the given vectors and stores the result in this instance.\n\t *\n\t * @param {Vector4} a - The first vector.\n\t * @param {Vector4} b - The second vector.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\t\tthis.z = a.z + b.z;\n\t\tthis.w = a.w + b.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Adds the given vector scaled by the given factor to this instance.\n\t *\n\t * @param {Vector4} v - The vector.\n\t * @param {number} s - The factor that scales `v`.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\t\tthis.z += v.z * s;\n\t\tthis.w += v.w * s;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Subtracts the given vector from this instance.\n\t *\n\t * @param {Vector4} v - The vector to subtract.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\t\tthis.z -= v.z;\n\t\tthis.w -= v.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Subtracts the given scalar value from all components of this instance.\n\t *\n\t * @param {number} s - The scalar to subtract.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\t\tthis.z -= s;\n\t\tthis.w -= s;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Subtracts the given vectors and stores the result in this instance.\n\t *\n\t * @param {Vector4} a - The first vector.\n\t * @param {Vector4} b - The second vector.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\t\tthis.z = a.z - b.z;\n\t\tthis.w = a.w - b.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Multiplies the given vector with this instance.\n\t *\n\t * @param {Vector4} v - The vector to multiply.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\t\tthis.z *= v.z;\n\t\tthis.w *= v.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Multiplies the given scalar value with all components of this instance.\n\t *\n\t * @param {number} scalar - The scalar to multiply.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\t\tthis.z *= scalar;\n\t\tthis.w *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Multiplies this vector with the given 4x4 matrix.\n\t *\n\t * @param {Matrix4} m - The 4x4 matrix.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tapplyMatrix4( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z, w = this.w;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w;\n\t\tthis.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w;\n\t\tthis.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w;\n\t\tthis.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Divides this instance by the given vector.\n\t *\n\t * @param {Vector4} v - The vector to divide.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tdivide( v ) {\n\n\t\tthis.x /= v.x;\n\t\tthis.y /= v.y;\n\t\tthis.z /= v.z;\n\t\tthis.w /= v.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Divides this vector by the given scalar.\n\t *\n\t * @param {number} scalar - The scalar to divide.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\t/**\n\t * Sets the x, y and z components of this\n\t * vector to the quaternion's axis and w to the angle.\n\t *\n\t * @param {Quaternion} q - The Quaternion to set.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetAxisAngleFromQuaternion( q ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm\n\n\t\t// q is assumed to be normalized\n\n\t\tthis.w = 2 * Math.acos( q.w );\n\n\t\tconst s = Math.sqrt( 1 - q.w * q.w );\n\n\t\tif ( s < 0.0001 ) {\n\n\t\t\tthis.x = 1;\n\t\t\tthis.y = 0;\n\t\t\tthis.z = 0;\n\n\t\t} else {\n\n\t\t\tthis.x = q.x / s;\n\t\t\tthis.y = q.y / s;\n\t\t\tthis.z = q.z / s;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the x, y and z components of this\n\t * vector to the axis of rotation and w to the angle.\n\t *\n\t * @param {Matrix4} m - A 4x4 matrix of which the upper left 3x3 matrix is a pure rotation matrix.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetAxisAngleFromRotationMatrix( m ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tlet angle, x, y, z; // variables for result\n\t\tconst epsilon = 0.01,\t\t// margin to allow for rounding errors\n\t\t\tepsilon2 = 0.1,\t\t// margin to distinguish between 0 and 180 degrees\n\n\t\t\tte = m.elements,\n\n\t\t\tm11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ],\n\t\t\tm21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ],\n\t\t\tm31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ];\n\n\t\tif ( ( Math.abs( m12 - m21 ) < epsilon ) &&\n\t\t ( Math.abs( m13 - m31 ) < epsilon ) &&\n\t\t ( Math.abs( m23 - m32 ) < epsilon ) ) {\n\n\t\t\t// singularity found\n\t\t\t// first check for identity matrix which must have +1 for all terms\n\t\t\t// in leading diagonal and zero in other terms\n\n\t\t\tif ( ( Math.abs( m12 + m21 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m13 + m31 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m23 + m32 ) < epsilon2 ) &&\n\t\t\t ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) {\n\n\t\t\t\t// this singularity is identity matrix so angle = 0\n\n\t\t\t\tthis.set( 1, 0, 0, 0 );\n\n\t\t\t\treturn this; // zero angle, arbitrary axis\n\n\t\t\t}\n\n\t\t\t// otherwise this singularity is angle = 180\n\n\t\t\tangle = Math.PI;\n\n\t\t\tconst xx = ( m11 + 1 ) / 2;\n\t\t\tconst yy = ( m22 + 1 ) / 2;\n\t\t\tconst zz = ( m33 + 1 ) / 2;\n\t\t\tconst xy = ( m12 + m21 ) / 4;\n\t\t\tconst xz = ( m13 + m31 ) / 4;\n\t\t\tconst yz = ( m23 + m32 ) / 4;\n\n\t\t\tif ( ( xx > yy ) && ( xx > zz ) ) {\n\n\t\t\t\t// m11 is the largest diagonal term\n\n\t\t\t\tif ( xx < epsilon ) {\n\n\t\t\t\t\tx = 0;\n\t\t\t\t\ty = 0.707106781;\n\t\t\t\t\tz = 0.707106781;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tx = Math.sqrt( xx );\n\t\t\t\t\ty = xy / x;\n\t\t\t\t\tz = xz / x;\n\n\t\t\t\t}\n\n\t\t\t} else if ( yy > zz ) {\n\n\t\t\t\t// m22 is the largest diagonal term\n\n\t\t\t\tif ( yy < epsilon ) {\n\n\t\t\t\t\tx = 0.707106781;\n\t\t\t\t\ty = 0;\n\t\t\t\t\tz = 0.707106781;\n\n\t\t\t\t} else {\n\n\t\t\t\t\ty = Math.sqrt( yy );\n\t\t\t\t\tx = xy / y;\n\t\t\t\t\tz = yz / y;\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t// m33 is the largest diagonal term so base result on this\n\n\t\t\t\tif ( zz < epsilon ) {\n\n\t\t\t\t\tx = 0.707106781;\n\t\t\t\t\ty = 0.707106781;\n\t\t\t\t\tz = 0;\n\n\t\t\t\t} else {\n\n\t\t\t\t\tz = Math.sqrt( zz );\n\t\t\t\t\tx = xz / z;\n\t\t\t\t\ty = yz / z;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.set( x, y, z, angle );\n\n\t\t\treturn this; // return 180 deg rotation\n\n\t\t}\n\n\t\t// as we have reached here there are no singularities so we can handle normally\n\n\t\tlet s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) +\n\t\t\t( m13 - m31 ) * ( m13 - m31 ) +\n\t\t\t( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize\n\n\t\tif ( Math.abs( s ) < 0.001 ) s = 1;\n\n\t\t// prevent divide by zero, should not happen if matrix is orthogonal and should be\n\t\t// caught by singularity test above, but I've left it in just in case\n\n\t\tthis.x = ( m32 - m23 ) / s;\n\t\tthis.y = ( m13 - m31 ) / s;\n\t\tthis.z = ( m21 - m12 ) / s;\n\t\tthis.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the vector components to the position elements of the\n\t * given transformation matrix.\n\t *\n\t * @param {Matrix4} m - The 4x4 matrix.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetFromMatrixPosition( m ) {\n\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 12 ];\n\t\tthis.y = e[ 13 ];\n\t\tthis.z = e[ 14 ];\n\t\tthis.w = e[ 15 ];\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * If this vector's x, y, z or w value is greater than the given vector's x, y, z or w\n\t * value, replace that value with the corresponding min value.\n\t *\n\t * @param {Vector4} v - The vector.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\t\tthis.z = Math.min( this.z, v.z );\n\t\tthis.w = Math.min( this.w, v.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * If this vector's x, y, z or w value is less than the given vector's x, y, z or w\n\t * value, replace that value with the corresponding max value.\n\t *\n\t * @param {Vector4} v - The vector.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\t\tthis.z = Math.max( this.z, v.z );\n\t\tthis.w = Math.max( this.w, v.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * If this vector's x, y, z or w value is greater than the max vector's x, y, z or w\n\t * value, it is replaced by the corresponding value.\n\t * If this vector's x, y, z or w value is less than the min vector's x, y, z or w value,\n\t * it is replaced by the corresponding value.\n\t *\n\t * @param {Vector4} min - The minimum x, y and z values.\n\t * @param {Vector4} max - The maximum x, y and z values in the desired range.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = clamp( this.x, min.x, max.x );\n\t\tthis.y = clamp( this.y, min.y, max.y );\n\t\tthis.z = clamp( this.z, min.z, max.z );\n\t\tthis.w = clamp( this.w, min.w, max.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * If this vector's x, y, z or w values are greater than the max value, they are\n\t * replaced by the max value.\n\t * If this vector's x, y, z or w values are less than the min value, they are\n\t * replaced by the min value.\n\t *\n\t * @param {number} minVal - The minimum value the components will be clamped to.\n\t * @param {number} maxVal - The maximum value the components will be clamped to.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = clamp( this.x, minVal, maxVal );\n\t\tthis.y = clamp( this.y, minVal, maxVal );\n\t\tthis.z = clamp( this.z, minVal, maxVal );\n\t\tthis.w = clamp( this.w, minVal, maxVal );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * If this vector's length is greater than the max value, it is replaced by\n\t * the max value.\n\t * If this vector's length is less than the min value, it is replaced by the\n\t * min value.\n\t *\n\t * @param {number} min - The minimum value the vector length will be clamped to.\n\t * @param {number} max - The maximum value the vector length will be clamped to.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( clamp( length, min, max ) );\n\n\t}\n\n\t/**\n\t * The components of this vector are rounded down to the nearest integer value.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\t\tthis.z = Math.floor( this.z );\n\t\tthis.w = Math.floor( this.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * The components of this vector are rounded up to the nearest integer value.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\t\tthis.z = Math.ceil( this.z );\n\t\tthis.w = Math.ceil( this.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * The components of this vector are rounded to the nearest integer value\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\t\tthis.z = Math.round( this.z );\n\t\tthis.w = Math.round( this.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * The components of this vector are rounded towards zero (up if negative,\n\t * down if positive) to an integer value.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\troundToZero() {\n\n\t\tthis.x = Math.trunc( this.x );\n\t\tthis.y = Math.trunc( this.y );\n\t\tthis.z = Math.trunc( this.z );\n\t\tthis.w = Math.trunc( this.w );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Inverts this vector - i.e. sets x = -x, y = -y, z = -z, w = -w.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\t\tthis.z = - this.z;\n\t\tthis.w = - this.w;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Calculates the dot product of the given vector with this instance.\n\t *\n\t * @param {Vector4} v - The vector to compute the dot product with.\n\t * @return {number} The result of the dot product.\n\t */\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w;\n\n\t}\n\n\t/**\n\t * Computes the square of the Euclidean length (straight-line length) from\n\t * (0, 0, 0, 0) to (x, y, z, w). If you are comparing the lengths of vectors, you should\n\t * compare the length squared instead as it is slightly more efficient to calculate.\n\t *\n\t * @return {number} The square length of this vector.\n\t */\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;\n\n\t}\n\n\t/**\n\t * Computes the Euclidean length (straight-line length) from (0, 0, 0, 0) to (x, y, z, w).\n\t *\n\t * @return {number} The length of this vector.\n\t */\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w );\n\n\t}\n\n\t/**\n\t * Computes the Manhattan length of this vector.\n\t *\n\t * @return {number} The length of this vector.\n\t */\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w );\n\n\t}\n\n\t/**\n\t * Converts this vector to a unit vector - that is, sets it equal to a vector\n\t * with the same direction as this one, but with a vector length of `1`.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\t/**\n\t * Sets this vector to a vector with the same direction as this one, but\n\t * with the specified length.\n\t *\n\t * @param {number} length - The new length of this vector.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\t/**\n\t * Linearly interpolates between the given vector and this instance, where\n\t * alpha is the percent distance along the line - alpha = 0 will be this\n\t * vector, and alpha = 1 will be the given one.\n\t *\n\t * @param {Vector4} v - The vector to interpolate towards.\n\t * @param {number} alpha - The interpolation factor, typically in the closed interval `[0, 1]`.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\t\tthis.z += ( v.z - this.z ) * alpha;\n\t\tthis.w += ( v.w - this.w ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Linearly interpolates between the given vectors, where alpha is the percent\n\t * distance along the line - alpha = 0 will be first vector, and alpha = 1 will\n\t * be the second one. The result is stored in this instance.\n\t *\n\t * @param {Vector4} v1 - The first vector.\n\t * @param {Vector4} v2 - The second vector.\n\t * @param {number} alpha - The interpolation factor, typically in the closed interval `[0, 1]`.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\t\tthis.z = v1.z + ( v2.z - v1.z ) * alpha;\n\t\tthis.w = v1.w + ( v2.w - v1.w ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Returns `true` if this vector is equal with the given one.\n\t *\n\t * @param {Vector4} v - The vector to test for equality.\n\t * @return {boolean} Whether this vector is equal with the given one.\n\t */\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) );\n\n\t}\n\n\t/**\n\t * Sets this vector's x value to be `array[ offset ]`, y value to be `array[ offset + 1 ]`,\n\t * z value to be `array[ offset + 2 ]`, w value to be `array[ offset + 3 ]`.\n\t *\n\t * @param {Array<number>} array - An array holding the vector component values.\n\t * @param {number} [offset=0] - The offset into the array.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\t\tthis.z = array[ offset + 2 ];\n\t\tthis.w = array[ offset + 3 ];\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Writes the components of this vector to the given array. If no array is provided,\n\t * the method returns a new instance.\n\t *\n\t * @param {Array<number>} [array=[]] - The target array holding the vector components.\n\t * @param {number} [offset=0] - Index of the first element in the array.\n\t * @return {Array<number>} The vector components.\n\t */\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\t\tarray[ offset + 2 ] = this.z;\n\t\tarray[ offset + 3 ] = this.w;\n\n\t\treturn array;\n\n\t}\n\n\t/**\n\t * Sets the components of this vector from the given buffer attribute.\n\t *\n\t * @param {BufferAttribute} attribute - The buffer attribute holding vector data.\n\t * @param {number} index - The index into the attribute.\n\t * @return {Vector4} A reference to this vector.\n\t */\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\t\tthis.z = attribute.getZ( index );\n\t\tthis.w = attribute.getW( index );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets each component of this vector to a pseudo-random value between `0` and\n\t * `1`, excluding `1`.\n\t *\n\t * @return {Vector4} A reference to this vector.\n\t */\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\t\tthis.z = Math.random();\n\t\tthis.w = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\t\tyield this.z;\n\t\tyield this.w;\n\n\t}\n\n}\n\nexport { Vector4 };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { l as e } from "./main-BxEZ11ag.mjs";
|
|
2
|
+
//#region packages/homag-intelligence/src/api.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
constructor(e) {
|
|
5
|
+
this._roomlePlanner = e;
|
|
6
|
+
}
|
|
7
|
+
loadMasterData(e) {
|
|
8
|
+
this._roomlePlanner.loadExternalObjectMasterData(e);
|
|
9
|
+
}
|
|
10
|
+
async loadPosGroups(e, t) {
|
|
11
|
+
let n = Array.isArray(e) ? e : [e];
|
|
12
|
+
await this._roomlePlanner.loadExternalObjectGroups(n, t);
|
|
13
|
+
}
|
|
14
|
+
completelyLoaded() {
|
|
15
|
+
this._roomlePlanner.externalObjectsCompletelyLoaded();
|
|
16
|
+
}
|
|
17
|
+
async selectGroup(t) {
|
|
18
|
+
await this._roomlePlanner.selectExternalObject(t, null, e.ROOM);
|
|
19
|
+
}
|
|
20
|
+
async selectRoot(t) {
|
|
21
|
+
await this._roomlePlanner.selectExternalObject(t, null, e.ISOLATION);
|
|
22
|
+
}
|
|
23
|
+
async selectModule(t, n) {
|
|
24
|
+
await this._roomlePlanner.selectExternalObject(t, n, e.ISOLATION);
|
|
25
|
+
}
|
|
26
|
+
openCloseGroup(e, t, n, r) {
|
|
27
|
+
return this._roomlePlanner.openOrCloseGeometryOfExternalObject(e, t ?? null, n, r), Promise.resolve();
|
|
28
|
+
}
|
|
29
|
+
deleteGroup(e) {
|
|
30
|
+
this._roomlePlanner.removeExternalObject(e);
|
|
31
|
+
}
|
|
32
|
+
deleteRootModule(e) {
|
|
33
|
+
this._roomlePlanner.removeExternalObject(e);
|
|
34
|
+
}
|
|
35
|
+
async getPosDataOfAllGroups() {
|
|
36
|
+
return await this._roomlePlanner.getExternalObjectGroups();
|
|
37
|
+
}
|
|
38
|
+
async getRoomInformation() {
|
|
39
|
+
return await this._roomlePlanner.getExternalRoomInformation();
|
|
40
|
+
}
|
|
41
|
+
async saveExternalObjectSnapshot() {
|
|
42
|
+
return this._roomlePlanner.saveExternalObjectSnapshot();
|
|
43
|
+
}
|
|
44
|
+
async saveCurrentPlanSnapshot() {
|
|
45
|
+
return this._roomlePlanner.saveCurrentPlanSnapshot();
|
|
46
|
+
}
|
|
47
|
+
async renderPosDataImage(e) {
|
|
48
|
+
let t = Array.isArray(e) ? e : [e];
|
|
49
|
+
await this._roomlePlanner.renderImagesOfExternalObjectGroup(t);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { t };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=api-CNoIBuvr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-CNoIBuvr.mjs","names":[],"sources":["../../packages/homag-intelligence/src/api.ts"],"sourcesContent":["import type { RoomDesignerRequests } from './glue-logic';\nimport type { MasterData, PosGroup } from './model/oc-scripts-domain.model';\nimport type { RoomlePlannerType } from '../../typings/external-objects';\nimport {\n HI_CONTEXT_ACTION,\n type LoadExternalObjectOptions,\n} from './external-object-api';\n\nexport interface ExternalObjectModuleIdMap {\n originalModuleId: string;\n newModuleId: string;\n}\n\nexport class RoomDesignerApi implements RoomDesignerRequests {\n private _roomlePlanner: RoomlePlannerType;\n\n constructor(roomlePlanner: RoomlePlannerType) {\n this._roomlePlanner = roomlePlanner;\n }\n\n public loadMasterData(masterData: MasterData) {\n this._roomlePlanner.loadExternalObjectMasterData(masterData);\n }\n\n public async loadPosGroups(\n posDataJson: PosGroup | PosGroup[],\n options: LoadExternalObjectOptions,\n ): Promise<void> {\n const posDataArray = Array.isArray(posDataJson)\n ? posDataJson\n : [posDataJson];\n await this._roomlePlanner.loadExternalObjectGroups(posDataArray, options);\n }\n\n completelyLoaded(): void {\n this._roomlePlanner.externalObjectsCompletelyLoaded();\n }\n\n public async selectGroup(groupId: string): Promise<void> {\n await this._roomlePlanner.selectExternalObject(\n groupId,\n null,\n HI_CONTEXT_ACTION.ROOM,\n );\n }\n\n public async selectRoot(rootModuleId: string): Promise<void> {\n await this._roomlePlanner.selectExternalObject(\n rootModuleId,\n null,\n HI_CONTEXT_ACTION.ISOLATION,\n );\n }\n\n public async selectModule(\n rootModuleId: string,\n subModuleId: string,\n ): Promise<void> {\n await this._roomlePlanner.selectExternalObject(\n rootModuleId,\n subModuleId,\n HI_CONTEXT_ACTION.ISOLATION,\n );\n }\n\n public openCloseGroup(\n groupOrRootModuleId: string,\n subModuleId: string | null,\n open: boolean,\n animate: boolean,\n ) {\n this._roomlePlanner.openOrCloseGeometryOfExternalObject(\n groupOrRootModuleId,\n subModuleId ?? null,\n open,\n animate,\n );\n return Promise.resolve();\n }\n\n public deleteGroup(groupId: string) {\n this._roomlePlanner.removeExternalObject(groupId);\n }\n\n public deleteRootModule(rootModuleId: string) {\n this._roomlePlanner.removeExternalObject(rootModuleId);\n }\n\n public async getPosDataOfAllGroups() {\n const groups =\n (await this._roomlePlanner.getExternalObjectGroups()) as PosGroup[];\n return groups;\n }\n\n public async getRoomInformation() {\n const rooms = await this._roomlePlanner.getExternalRoomInformation();\n return rooms;\n }\n\n public async saveExternalObjectSnapshot() {\n return this._roomlePlanner.saveExternalObjectSnapshot();\n }\n\n public async saveCurrentPlanSnapshot() {\n return this._roomlePlanner.saveCurrentPlanSnapshot();\n }\n\n public async renderPosDataImage(posDataJson: object) {\n const posDataArray = Array.isArray(posDataJson)\n ? posDataJson\n : [posDataJson];\n await this._roomlePlanner.renderImagesOfExternalObjectGroup(posDataArray);\n }\n}\n"],"mappings":";;AAaA,IAAa,IAAb,MAA6D;CAG3D,YAAY,GAAkC;AAC5C,OAAK,iBAAiB;;CAGxB,eAAsB,GAAwB;AAC5C,OAAK,eAAe,6BAA6B,EAAW;;CAG9D,MAAa,cACX,GACA,GACe;EACf,IAAM,IAAe,MAAM,QAAQ,EAAY,GAC3C,IACA,CAAC,EAAY;AACjB,QAAM,KAAK,eAAe,yBAAyB,GAAc,EAAQ;;CAG3E,mBAAyB;AACvB,OAAK,eAAe,iCAAiC;;CAGvD,MAAa,YAAY,GAAgC;AACvD,QAAM,KAAK,eAAe,qBACxB,GACA,MACA,EAAkB,KACnB;;CAGH,MAAa,WAAW,GAAqC;AAC3D,QAAM,KAAK,eAAe,qBACxB,GACA,MACA,EAAkB,UACnB;;CAGH,MAAa,aACX,GACA,GACe;AACf,QAAM,KAAK,eAAe,qBACxB,GACA,GACA,EAAkB,UACnB;;CAGH,eACE,GACA,GACA,GACA,GACA;AAOA,SANA,KAAK,eAAe,oCAClB,GACA,KAAe,MACf,GACA,EACD,EACM,QAAQ,SAAS;;CAG1B,YAAmB,GAAiB;AAClC,OAAK,eAAe,qBAAqB,EAAQ;;CAGnD,iBAAwB,GAAsB;AAC5C,OAAK,eAAe,qBAAqB,EAAa;;CAGxD,MAAa,wBAAwB;AAGnC,SADG,MAAM,KAAK,eAAe,yBAAyB;;CAIxD,MAAa,qBAAqB;AAEhC,SADc,MAAM,KAAK,eAAe,4BAA4B;;CAItE,MAAa,6BAA6B;AACxC,SAAO,KAAK,eAAe,4BAA4B;;CAGzD,MAAa,0BAA0B;AACrC,SAAO,KAAK,eAAe,yBAAyB;;CAGtD,MAAa,mBAAmB,GAAqB;EACnD,IAAM,IAAe,MAAM,QAAQ,EAAY,GAC3C,IACA,CAAC,EAAY;AACjB,QAAM,KAAK,eAAe,kCAAkC,EAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var m=(o,e)=>o!=null?typeof o=="string"?o==="true":o===!0:(typeof e=="string"&&(e=parseInt(e,10)),e>=200&&e<300);var h=40,a=class{constructor(){this._queue=[];this._pendingRequests=0}_nextSlot(){if(this._pendingRequests-=1,!this._queue.length)return;let{request:
|
|
1
|
+
(()=>{var m=(o,e)=>o!=null?typeof o=="string"?o==="true":o===!0:(typeof e=="string"&&(e=parseInt(e,10)),e>=200&&e<300);var h=40,a=class{constructor(){this._queue=[];this._pendingRequests=0}_nextSlot(){if(this._pendingRequests-=1,!this._queue.length)return;let e=this._queue.shift();if(!e)return;let{request:t,resolve:r,reject:s}=e;this._fetch(t).then(r,s)}_fetch(e,t={},r={}){return this._pendingRequests+=1,new Promise((s,i)=>{self.fetch(e,t).then(async function(n){this._nextSlot();let l=r.checkResponse?await r.checkResponse(n)!==!1:!0;if(m(n.ok,n.status)&&l)s(...arguments);else{let d=n?.url||"URL unknown";i(new Error(n.statusText||'Http error "'+(n&&n.status?n.status:"unknown")+'", for "'+d+'"'))}}.bind(this),n=>{this._nextSlot(),i(n)})})}fetch(e,t={},r={}){return this._pendingRequests>=h?new Promise((i,n)=>this._queue.push({request:e,resolve:i,reject:n})):this._fetch(e,t,r)}};var _=0;var c=class{constructor(e,t){this._callbacks=e;this.eventListener=t;this.eventListener.addEventListener("message",this,!1)}get eventPoster(){return this._eventPoster&&this._eventPoster.postMessage?this._eventPoster:this.eventListener&&this.eventListener.postMessage?this.eventListener:{postMessage:()=>{}}}hasEventPoster(){return!!this._eventPoster}nextConversationId(){return _++}setEventPoster(e){this._eventPoster=e}handleEvent(e){if(!e||!e.data)return;let[t,r,s]=JSON.parse(e.data);if(!t||t.indexOf("rml")!==0)return;let[i,n]=t.split("."),l=parseInt(n,10);this._callbacks.onCommand(l,parseInt(r,10),s)}};var u=class extends c{constructor(e,t){super(e,t||self)}sendToMainThread(e,t,r){let s=JSON.stringify(["rml."+e,t,r]);!this.hasEventPoster()&&self.ServiceWorkerGlobalScope&&this.eventListener instanceof self.ServiceWorkerGlobalScope?clients.matchAll({includeUncontrolled:!0}).then(i=>{i.forEach(n=>n.postMessage(s))},i=>console.error(i)):this.eventPoster.postMessage(s)}};var p=class{constructor(e){this._networkLayer=e}loadAsset(e){return this._networkLayer.fetch(e).then(t=>t.blob()).then(t=>new Promise(r=>r(URL.createObjectURL(t)))).catch(t=>new Promise((r,s)=>s(t)))}},f=class{constructor(){this._communicationInterface=new u(this)}onCommand(e,t,r){switch(e){case 1:this._loader=new p(new a),this._communicationInterface.sendToMainThread(4,t,[]);break;case 5:if(!this._loader)return;this._loader.loadAsset(r).then(s=>{this._communicationInterface.sendToMainThread(3,t,s)},s=>this._communicationInterface.sendToMainThread(2,t,{message:s.message}))}}};})();
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Rr as e } from "./three.core-CLIofecG.mjs";
|
|
2
|
+
import { n as t, r as n, t as r } from "./decorate-C1QnXPYw.mjs";
|
|
3
|
+
import { n as i } from "./plugin-system-D9K46xJk.mjs";
|
|
4
|
+
//#region packages/configurator-core/public/geometry/banana.glb?no-inline?url
|
|
5
|
+
var a = "" + new URL("banana.glb", import.meta.url).href, o = class extends i {
|
|
6
|
+
setScene(e) {
|
|
7
|
+
this._scene = e, this._staticItemLoader.loadGLB(a).then((e) => {
|
|
8
|
+
this._banana = e.scene, this.updateBounds(null);
|
|
9
|
+
}), console.log("%cBanana 3D model by https://sketchfab.com/daniel132", "color: #ffe135"), console.log("%cBanana source: https://sketchfab.com/3d-models/banana-mark-2-a7fef734bf4544cb8a780a858fa6af97", "color: #ffe135"), console.log("%cLicensed under Creative Commons 4.0: https://creativecommons.org/licenses/by/4.0/", "color: #ffe135");
|
|
10
|
+
}
|
|
11
|
+
updateBounds(t) {
|
|
12
|
+
if (t && (this._bounds = t), this._bounds) {
|
|
13
|
+
if (this._banana) {
|
|
14
|
+
let t = this._bounds.getSize(new e()), n = this._bounds.getCenter(new e()).clone();
|
|
15
|
+
n.x -= t.x / 2 + .18, n.z += t.z / 2 + .05, n.y = 0;
|
|
16
|
+
let r = .1;
|
|
17
|
+
this._banana.scale.copy(new e(r, r, r)), this._banana.rotation.y = .6, this._banana.position.copy(n);
|
|
18
|
+
}
|
|
19
|
+
this._scene.children.includes(this._banana) || this.addToScene();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
clearScene(e, t) {
|
|
23
|
+
super.clearScene(e, t), this.removeFromScene();
|
|
24
|
+
}
|
|
25
|
+
addToScene() {
|
|
26
|
+
!this._scene || !this._banana || this._scene.add(this._banana);
|
|
27
|
+
}
|
|
28
|
+
removeFromScene() {
|
|
29
|
+
!this._scene || !this._banana || this._scene.remove(this._banana);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
r([n, t("design:type", Object)], o.prototype, "_staticItemLoader", void 0);
|
|
33
|
+
//#endregion
|
|
34
|
+
export { o as default };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=banana-for-scale-C_iNmlCT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banana-for-scale-C_iNmlCT.mjs","names":[],"sources":["../../packages/configurator-core/public/geometry/banana.glb?no-inline?url","../../packages/configurator-core/src/webgl/banana-for-scale.ts"],"sourcesContent":["export default \"__VITE_ASSET__SH3JcDOvWNcn2WIvxBnLpg__\"","import inject from '../../../common-core/src/di/inject';\nimport type StaticItemLoader from '../../../common-core/src/webgl/static-item-loader';\nimport { ScenePluginDefaultImplementation } from './plugin-system';\nimport { BANANA_FILE_NAME } from '../static-files/geometries';\nimport type { Box3, Object3D, Scene } from 'three';\nimport { Vector3 } from 'three';\n\nexport default class BananaForScale extends ScenePluginDefaultImplementation {\n private _scene: Scene;\n private _bounds: Box3;\n private _banana: Object3D;\n\n @inject\n private _staticItemLoader: StaticItemLoader;\n\n public setScene(scene: Scene) {\n this._scene = scene;\n\n this._staticItemLoader.loadGLB(BANANA_FILE_NAME).then((glb) => {\n this._banana = glb.scene;\n this.updateBounds(null);\n });\n\n console.log(\n '%c' + 'Banana 3D model by https://sketchfab.com/daniel132',\n 'color: #ffe135',\n );\n console.log(\n '%c' +\n 'Banana source: https://sketchfab.com/3d-models/banana-mark-2-a7fef734bf4544cb8a780a858fa6af97',\n 'color: #ffe135',\n );\n console.log(\n '%c' +\n 'Licensed under Creative Commons 4.0: https://creativecommons.org/licenses/by/4.0/',\n 'color: #ffe135',\n );\n }\n\n public updateBounds(bounds: Box3) {\n if (bounds) {\n this._bounds = bounds;\n }\n if (!this._bounds) {\n return;\n }\n if (this._banana) {\n const size = this._bounds.getSize(new Vector3());\n const center = this._bounds.getCenter(new Vector3());\n const position = center.clone();\n position.x -= size.x / 2 + 0.18;\n position.z += size.z / 2 + 0.05;\n position.y = 0;\n let scale = 0.1;\n this._banana.scale.copy(new Vector3(scale, scale, scale));\n this._banana.rotation.y = 0.6;\n this._banana.position.copy(position);\n }\n if (!this._scene.children.includes(this._banana)) {\n this.addToScene();\n }\n }\n\n public clearScene(scene: Scene, uiScene: Scene): void {\n super.clearScene(scene, uiScene);\n\n this.removeFromScene();\n }\n\n public addToScene(): void {\n if (!this._scene || !this._banana) {\n return;\n }\n this._scene.add(this._banana);\n }\n\n public removeFromScene(): void {\n if (!this._scene || !this._banana) {\n return;\n }\n this._scene.remove(this._banana);\n }\n}\n"],"mappings":";;;;AAAA,IAAA,IAAe,KAAA,IAAA,IAAA,cAAA,OAAA,KAAA,IAAA,CAAA,MCOM,IAArB,cAA4C,EAAiC;CAQ3E,SAAgB,GAAc;AAiB5B,EAhBA,KAAK,SAAS,GAEd,KAAK,kBAAkB,QAAQ,EAAiB,CAAC,MAAM,MAAQ;AAE7D,GADA,KAAK,UAAU,EAAI,OACnB,KAAK,aAAa,KAAK;IACvB,EAEF,QAAQ,IACN,wDACA,iBACD,EACD,QAAQ,IACN,mGAEA,iBACD,EACD,QAAQ,IACN,uFAEA,iBACD;;CAGH,aAAoB,GAAc;AAChC,MAAI,MACF,KAAK,UAAU,IAEZ,KAAK,SAGV;OAAI,KAAK,SAAS;IAChB,IAAM,IAAO,KAAK,QAAQ,QAAQ,IAAI,GAAS,CAAC,EAE1C,IADS,KAAK,QAAQ,UAAU,IAAI,GAAS,CAAC,CAC5B,OAAO;AAG/B,IAFA,EAAS,KAAK,EAAK,IAAI,IAAI,KAC3B,EAAS,KAAK,EAAK,IAAI,IAAI,KAC3B,EAAS,IAAI;IACb,IAAI,IAAQ;AAGZ,IAFA,KAAK,QAAQ,MAAM,KAAK,IAAI,EAAQ,GAAO,GAAO,EAAM,CAAC,EACzD,KAAK,QAAQ,SAAS,IAAI,IAC1B,KAAK,QAAQ,SAAS,KAAK,EAAS;;AAEtC,GAAK,KAAK,OAAO,SAAS,SAAS,KAAK,QAAQ,IAC9C,KAAK,YAAY;;;CAIrB,WAAkB,GAAc,GAAsB;AAGpD,EAFA,MAAM,WAAW,GAAO,EAAQ,EAEhC,KAAK,iBAAiB;;CAGxB,aAA0B;AACpB,GAAC,KAAK,UAAU,CAAC,KAAK,WAG1B,KAAK,OAAO,IAAI,KAAK,QAAQ;;CAG/B,kBAA+B;AACzB,GAAC,KAAK,UAAU,CAAC,KAAK,WAG1B,KAAK,OAAO,OAAO,KAAK,QAAQ;;;GApEjC,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,qBAAA,KAAA,EAAA"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { h as e } from "./three.core-CLIofecG.mjs";
|
|
2
|
+
//#region packages/typings/rapi-types.ts
|
|
3
|
+
var t = /* @__PURE__ */ function(e) {
|
|
4
|
+
return e.RGB = "RGB", e.RGBA = "RGBA", e.XYZ = "XYZ", e.ORM = "ORM", e.EMRGB = "EMRGB", e.CCRG = "CCRG", e.CCXYZ = "CCXYZ", e.SHRGBA = "SHRGBA", e.SPRGBA = "SPRGBA", e.TTRG = "TTRG", e;
|
|
5
|
+
}({}), n = /* @__PURE__ */ function(e) {
|
|
6
|
+
return e[e.UNKNOWN = 0] = "UNKNOWN", e[e.LINK = 1] = "LINK", e[e.TEXT = 2] = "TEXT", e[e.VIDEO = 3] = "VIDEO", e[e.DOWNLOAD = 4] = "DOWNLOAD", e[e.IMAGE = 5] = "IMAGE", e[e.SKETCH = 6] = "SKETCH", e;
|
|
7
|
+
}({}), r = /* @__PURE__ */ function(e) {
|
|
8
|
+
return e.HOVER = "pointer", e.DEFAULT = "default", e.MOVE = "move", e.DRAGGING = "grabbing", e.ROTATE = "ew-resize", e.NODE_HOVER = "crosshair", e.DRAW = "url('https://res.cloudinary.com/roomle/image/upload/v1664957371/pencil_j5vkhm.svg') 3 20, auto", e.DRAW_FALLBACK = "url('https://res.cloudinary.com/roomle/image/upload/v1664957371/pencil_j5vkhm.svg') 0 15, auto", e;
|
|
9
|
+
}({}), i = {
|
|
10
|
+
PRIMARY: 14352384,
|
|
11
|
+
ON_PRIMARY: 16777215,
|
|
12
|
+
DEFAULT_BACKGROUND: 16250871,
|
|
13
|
+
SELECTION: 16777215,
|
|
14
|
+
PREVIEW_DOCKING_COLOR: 266198493
|
|
15
|
+
}, a = {
|
|
16
|
+
SMART: "smart",
|
|
17
|
+
OFF: "off",
|
|
18
|
+
ALWAYS: "always"
|
|
19
|
+
}, o = (e) => {
|
|
20
|
+
document.body.style.cursor = e;
|
|
21
|
+
}, s = (e) => {
|
|
22
|
+
let t = e.headers.get("content-type");
|
|
23
|
+
if (t && t.includes("application/json")) return e.json();
|
|
24
|
+
throw TypeError("No JSON returned");
|
|
25
|
+
}, c = (e = null) => e ? (parseInt(e, 10) ^ Math.random() * 16 >> parseInt(e, 10) / 4).toString(16) : "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c), l = (e, t, n) => {
|
|
26
|
+
u(e, t, { writable: n });
|
|
27
|
+
}, u = (e, t, n) => {
|
|
28
|
+
let r = Object.getOwnPropertyDescriptor(e, t);
|
|
29
|
+
if (!r) throw Error(`Property "${t}" not found on target`);
|
|
30
|
+
for (let e in n) n.hasOwnProperty(e) && (r[e] = n[e]);
|
|
31
|
+
Object.defineProperty(e, t, r);
|
|
32
|
+
}, d = (t) => ({
|
|
33
|
+
id: t,
|
|
34
|
+
name: t,
|
|
35
|
+
externalIdentifier: "test-identifier",
|
|
36
|
+
group: "test-group",
|
|
37
|
+
groupLabel: "test-group-label",
|
|
38
|
+
color: "#" + new e(.5, .5, .5).getHexString(),
|
|
39
|
+
thumbnail: p(t, 15),
|
|
40
|
+
label: "test-label",
|
|
41
|
+
textures: [
|
|
42
|
+
1,
|
|
43
|
+
2,
|
|
44
|
+
3
|
|
45
|
+
],
|
|
46
|
+
shading: {
|
|
47
|
+
alpha: 1,
|
|
48
|
+
metallic: .5,
|
|
49
|
+
basecolor: {
|
|
50
|
+
r: .5,
|
|
51
|
+
g: .5,
|
|
52
|
+
b: .5
|
|
53
|
+
},
|
|
54
|
+
roughness: .5,
|
|
55
|
+
doubleSided: !1,
|
|
56
|
+
alphaCutoff: .5
|
|
57
|
+
},
|
|
58
|
+
active: !0,
|
|
59
|
+
tags: []
|
|
60
|
+
}), f = (e) => {
|
|
61
|
+
let n = e.split("_"), r = parseInt(n[1], 10);
|
|
62
|
+
return {
|
|
63
|
+
mapping: t.RGB,
|
|
64
|
+
id: e,
|
|
65
|
+
material: e,
|
|
66
|
+
image: p(e),
|
|
67
|
+
url: p(e),
|
|
68
|
+
height: r,
|
|
69
|
+
width: r,
|
|
70
|
+
mmHeight: 1,
|
|
71
|
+
mmWidth: 1,
|
|
72
|
+
tileable: !0
|
|
73
|
+
};
|
|
74
|
+
}, p = (e, t) => {
|
|
75
|
+
let n = e.split("_");
|
|
76
|
+
t ||= parseInt(n[1], 10);
|
|
77
|
+
let r = Math.abs(parseFloat(n[2]));
|
|
78
|
+
return "https://loremflickr.com/" + t + "/" + t + "?lock=" + r;
|
|
79
|
+
}, m = (e) => typeof e == "string" || e instanceof String, h = (e, t) => e.reduce((e, n) => {
|
|
80
|
+
if (typeof n != "object") return console.warn("objectArrayToMap only works for arrays of objects"), e;
|
|
81
|
+
let r = n[t];
|
|
82
|
+
return r ? (e.has(r) || e.set(r, n), e) : (console.warn("Object has no key \"" + t.toString() + "\" therefore we do not know where to put it"), e);
|
|
83
|
+
}, /* @__PURE__ */ new Map()), g = (e, t = 16) => {
|
|
84
|
+
let n, r = !1, i = 0, a = null;
|
|
85
|
+
return function(...o) {
|
|
86
|
+
n ||= Date.now(), !r || n + t - Date.now() < 0 ? (e.apply(this, [...arguments]), n = Date.now(), r = !0) : i++, a ||= setInterval(() => {
|
|
87
|
+
i && e.apply(this, [...arguments]), i = 0, a !== null && clearInterval(a), a = null;
|
|
88
|
+
}, t);
|
|
89
|
+
};
|
|
90
|
+
}, _ = (e, t = 16) => {
|
|
91
|
+
let n, r = !1;
|
|
92
|
+
return function(...i) {
|
|
93
|
+
!r || n + t - Date.now() < 0 ? (n = Date.now(), e.apply(this, [...arguments]), r = !0) : n = Date.now();
|
|
94
|
+
};
|
|
95
|
+
}, v = (e, t) => {
|
|
96
|
+
let n;
|
|
97
|
+
return (...r) => {
|
|
98
|
+
clearTimeout(n), n = setTimeout(() => {
|
|
99
|
+
e(...r);
|
|
100
|
+
}, t);
|
|
101
|
+
};
|
|
102
|
+
}, y = (e, t, n) => {
|
|
103
|
+
let r = /* @__PURE__ */ new Map(), i = n || ((...e) => e[0]);
|
|
104
|
+
return function(...n) {
|
|
105
|
+
let a = this, o = i.apply(a, n);
|
|
106
|
+
return new Promise((i, s) => {
|
|
107
|
+
let c = r.get(o);
|
|
108
|
+
c && clearTimeout(c.timer);
|
|
109
|
+
let l = c?.handlers || [];
|
|
110
|
+
l.push({
|
|
111
|
+
resolve: i,
|
|
112
|
+
reject: s
|
|
113
|
+
});
|
|
114
|
+
let u = setTimeout(() => {
|
|
115
|
+
Promise.resolve(e.apply(a, n)).then((e) => {
|
|
116
|
+
l.forEach((t) => t.resolve(e));
|
|
117
|
+
}).catch((e) => {
|
|
118
|
+
l.forEach((t) => t.reject(e));
|
|
119
|
+
}).finally(() => {
|
|
120
|
+
r.delete(o);
|
|
121
|
+
});
|
|
122
|
+
}, t);
|
|
123
|
+
r.set(o, {
|
|
124
|
+
timer: u,
|
|
125
|
+
handlers: l
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
}, b = async (e) => new Promise((t) => setTimeout(t, e)), x = async () => b(0), S = (e, t) => {
|
|
130
|
+
if (t === -1) return e;
|
|
131
|
+
let n = 10 ** t;
|
|
132
|
+
return Math.round(e * n) / n;
|
|
133
|
+
}, C = /* @__PURE__ */ new RegExp(/\/3d\/[0-9]+\//), w = (e) => {
|
|
134
|
+
if (e.assets?.glb?.url) return e.assets.glb.url;
|
|
135
|
+
if (e.threeDimensionalAsset) return e.threeDimensionalAsset;
|
|
136
|
+
let t = e.threeDimensionalAssetWeb;
|
|
137
|
+
return !t || typeof t != "string" ? null : t.match(C) ? t.replace(C, "/3d/glb/").replace(".flash.u3d", ".glb") : t;
|
|
138
|
+
}, T = (e, t) => {
|
|
139
|
+
for (let n in t) try {
|
|
140
|
+
t[n].constructor === Object ? e[n] = T(e[n], t[n]) : e[n] = t[n];
|
|
141
|
+
} catch {
|
|
142
|
+
e[n] = t[n];
|
|
143
|
+
}
|
|
144
|
+
return e;
|
|
145
|
+
}, E = (e, t) => e === void 0 ? t : e, D = (e, t) => {
|
|
146
|
+
let n = e.indexOf(t);
|
|
147
|
+
n > -1 && e.splice(n, 1);
|
|
148
|
+
}, O = (e) => e && JSON.parse(JSON.stringify(e)), k = (e, t) => new Proxy(e, { get(e, n, r) {
|
|
149
|
+
let i = Reflect.get(e, n, r);
|
|
150
|
+
return typeof i == "function" ? function(...e) {
|
|
151
|
+
return console.trace(t, n, e), i.apply(this, e);
|
|
152
|
+
} : i;
|
|
153
|
+
} }), A = (t) => j(t) ? t : typeof t == "string" && (M(t) || N(t)) ? new e(Number(t)) : new e(t), j = (t) => t instanceof e, M = (e) => !!e.match(/^0x[0-9a-f]+$/i), N = (e) => !!e.match(/^[0-9]+$/i), P = (e) => e ? Number("0x" + e.substring(1)) : -1, F = (e, t) => (t.materialId ? e.materialId = t.materialId : t.color ? e.rgbValue = P(t.color) : t.rgbValue ? e.rgbValue = t.rgbValue : t.catalogItemId === void 0 ? t.id ? e.materialId = t.id : console.warn("Can not set material because neither a texture nor a RGB value was found") : e.catalogItemId = t.catalogItemId, e), I = (e, t) => {
|
|
154
|
+
let n = document.createElement("a");
|
|
155
|
+
n.setAttribute("href", t), n.setAttribute("download", e), n.style.display = "none", document.body.appendChild(n), n.click(), document.body.removeChild(n);
|
|
156
|
+
}, L = (e, t) => !(!e || !t || e.targetX === void 0 || t.targetX === void 0 || Math.abs(e.targetX - t.targetX) > .01 || e.targetY === void 0 || t.targetY === void 0 || Math.abs(e.targetY - t.targetY) > .01 || e.targetZ === void 0 || t.targetZ === void 0 || Math.abs(e.targetZ - t.targetZ) > .01 || e.yaw === void 0 || t.yaw === void 0 || Math.abs(e.yaw - t.yaw) > .01 || e.distance === void 0 || t.distance === void 0 || Math.abs(e.distance - t.distance) > .01), R = (e) => {
|
|
157
|
+
let t = 0;
|
|
158
|
+
if (e.length === 0) return t;
|
|
159
|
+
for (let n = 0; n < e.length; n++) {
|
|
160
|
+
let r = e.charCodeAt(n);
|
|
161
|
+
t = (t << 5) - t + r, t |= 0;
|
|
162
|
+
}
|
|
163
|
+
return t;
|
|
164
|
+
}, z = (e, t, n = "id") => {
|
|
165
|
+
let r = /* @__PURE__ */ new Map(), i = e.length;
|
|
166
|
+
for (let t = 0; t < i; t++) r.set(e[t], t);
|
|
167
|
+
let a = Array(i), o = t.length;
|
|
168
|
+
for (let e = 0; e < o; e++) {
|
|
169
|
+
let i = t[e], o = i[n], s = r.get(o);
|
|
170
|
+
s === void 0 ? a.push(i) : a[s] = i;
|
|
171
|
+
}
|
|
172
|
+
return a.filter((e) => e !== void 0);
|
|
173
|
+
}, B = (e, t, n) => Math.max(t, Math.min(n, e)), V = (e = 8) => [...Array(e)].map(() => Math.random().toString(36).charAt(2)).join(""), H = (e) => JSON.parse(JSON.stringify(e)), U = (e) => typeof e == "object" && !!e && !Array.isArray(e), W = (e) => {
|
|
174
|
+
try {
|
|
175
|
+
let t = new URL(e);
|
|
176
|
+
return new URLSearchParams(t.search).get("id");
|
|
177
|
+
} catch {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
}, G = (e) => e.key === "Meta" || e.key === "Control", K = (e, t = !1) => {
|
|
181
|
+
let n = t === !1 ? t : G(e);
|
|
182
|
+
return e.key && (e.metaKey || e.ctrlKey || n);
|
|
183
|
+
};
|
|
184
|
+
//#endregion
|
|
185
|
+
export { z as A, n as B, G as C, x as D, j as E, l as F, g as I, k as L, S as M, o as N, h as O, u as P, c as R, R as S, m as T, t as V, A as _, L as a, E as b, O as c, K as d, v as f, I as g, T as h, F as i, D as j, V as k, d as l, H as m, i as n, _ as o, y as p, a as r, B as s, r as t, f as u, w as v, U as w, s as x, W as y, b as z };
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=common-utils-DMSTohiS.mjs.map
|