@roomle/web-sdk 2.107.0 → 2.108.0-alpha.2
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/ConfiguratorKernel.wasm +0 -0
- package/lib/{PointLightHelper-qhWtXw8x.mjs → PointLightHelper-B2I7wTut.mjs} +2 -2
- package/lib/{PointLightHelper-qhWtXw8x.mjs.map → PointLightHelper-B2I7wTut.mjs.map} +1 -1
- package/lib/{PointLightHelper-BkdQaOKc.js → PointLightHelper-D3E6t-8i.js} +2 -2
- package/lib/{PointLightHelper-BkdQaOKc.js.map → PointLightHelper-D3E6t-8i.js.map} +1 -1
- package/lib/RoomleCore.js +6 -6
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{banana-for-scale-XjIfe69B.js → banana-for-scale-C1mjOPd7.js} +2 -2
- package/lib/{banana-for-scale-XjIfe69B.js.map → banana-for-scale-C1mjOPd7.js.map} +1 -1
- package/lib/{banana-for-scale-CDGM3hdN.mjs → banana-for-scale-JRMsaTFS.mjs} +2 -2
- package/lib/{banana-for-scale-CDGM3hdN.mjs.map → banana-for-scale-JRMsaTFS.mjs.map} +1 -1
- package/lib/{camera-behaviour-BLMduSEn.mjs → camera-behaviour-34SIMYv5.mjs} +79 -75
- package/lib/camera-behaviour-34SIMYv5.mjs.map +1 -0
- package/lib/camera-behaviour-BbuybE-L.js +50 -0
- package/lib/camera-behaviour-BbuybE-L.js.map +1 -0
- package/lib/{component-dimensioning-DvCO0pEp.mjs → component-dimensioning-CnpbO5dl.mjs} +2 -2
- package/lib/{component-dimensioning-DvCO0pEp.mjs.map → component-dimensioning-CnpbO5dl.mjs.map} +1 -1
- package/lib/{component-dimensioning-Do75G-kI.js → component-dimensioning-DhUN7bLl.js} +2 -2
- package/lib/{component-dimensioning-Do75G-kI.js.map → component-dimensioning-DhUN7bLl.js.map} +1 -1
- package/lib/{component-raycast-helper-Dl-pzfg_.js → component-raycast-helper-DeXIJkL8.js} +2 -2
- package/lib/{component-raycast-helper-Dl-pzfg_.js.map → component-raycast-helper-DeXIJkL8.js.map} +1 -1
- package/lib/{component-raycast-helper-CuZdUtrH.mjs → component-raycast-helper-re2AqrDO.mjs} +2 -2
- package/lib/{component-raycast-helper-CuZdUtrH.mjs.map → component-raycast-helper-re2AqrDO.mjs.map} +1 -1
- package/lib/{configurator-CT_ghGbX.mjs → configurator-ChJVAm0n.mjs} +6 -6
- package/lib/{configurator-CT_ghGbX.mjs.map → configurator-ChJVAm0n.mjs.map} +1 -1
- package/lib/{configurator-B01iJTNa.js → configurator-Dq5VZE-F.js} +2 -2
- package/lib/{configurator-B01iJTNa.js.map → configurator-Dq5VZE-F.js.map} +1 -1
- package/lib/configurator-scene-manager-BGGzzMzL.js +2 -0
- package/lib/configurator-scene-manager-BGGzzMzL.js.map +1 -0
- package/lib/{configurator-scene-manager-DbsYS4rm.mjs → configurator-scene-manager-BzuNryR1.mjs} +150 -162
- package/lib/configurator-scene-manager-BzuNryR1.mjs.map +1 -0
- package/lib/configurator.js +1 -1
- package/lib/configurator.nomodule.js +1 -1
- package/lib/{continuous-drawing-helper-DdnnCOqZ.js → continuous-drawing-helper-B7ryXZkY.js} +2 -2
- package/lib/{continuous-drawing-helper-DdnnCOqZ.js.map → continuous-drawing-helper-B7ryXZkY.js.map} +1 -1
- package/lib/{continuous-drawing-helper-DrpQFppG.mjs → continuous-drawing-helper-BBajs4XS.mjs} +2 -2
- package/lib/{continuous-drawing-helper-DrpQFppG.mjs.map → continuous-drawing-helper-BBajs4XS.mjs.map} +1 -1
- package/lib/{default-light-setting-D0Ie_AEw.mjs → default-light-setting-Bbs7cdwp.mjs} +3 -3
- package/lib/{default-light-setting-D0Ie_AEw.mjs.map → default-light-setting-Bbs7cdwp.mjs.map} +1 -1
- package/lib/{default-light-setting-DQxt3v5x.js → default-light-setting-LWokussZ.js} +2 -2
- package/lib/{default-light-setting-DQxt3v5x.js.map → default-light-setting-LWokussZ.js.map} +1 -1
- package/lib/definitions/roomle-sdk.d.ts +2 -2
- package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/light/light-source.d.ts +2 -0
- package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/threejs-utils.d.ts +2 -1
- package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/roomle-component-factory.d.ts +1 -0
- package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/scene-manager.d.ts +1 -1
- package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/callbacks.d.ts +1 -1
- package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/emulator.d.ts +3 -3
- package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/homag-intelligence.d.ts +4 -2
- package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/loader.d.ts +2 -4
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/external-object-api-callbacks.d.ts +10 -9
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/lights/ceiling-light.d.ts +1 -1
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/lights/light-group.d.ts +1 -2
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/roomle-planner-ui-callback.d.ts +2 -2
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/roomle-planner.d.ts +12 -6
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/services/planner-kernel-access.d.ts +3 -3
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/plan-view-model.d.ts +1 -4
- package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/planner-scene-manager.d.ts +5 -1
- package/lib/{glb-viewer-6_OVDzVH.js → glb-viewer-CEbRwVdE.js} +2 -2
- package/lib/{glb-viewer-6_OVDzVH.js.map → glb-viewer-CEbRwVdE.js.map} +1 -1
- package/lib/{glb-viewer-BEWU9zxC.mjs → glb-viewer-CkSOW6nK.mjs} +6 -6
- package/lib/{glb-viewer-BEWU9zxC.mjs.map → glb-viewer-CkSOW6nK.mjs.map} +1 -1
- package/lib/{glb-viewer-camera-behaviour-Cl2bS83k.js → glb-viewer-camera-behaviour-BALOGKur.js} +2 -2
- package/lib/{glb-viewer-camera-behaviour-Cl2bS83k.js.map → glb-viewer-camera-behaviour-BALOGKur.js.map} +1 -1
- package/lib/{glb-viewer-camera-behaviour-DQ2sVbku.mjs → glb-viewer-camera-behaviour-D8Jyv15W.mjs} +2 -2
- package/lib/{glb-viewer-camera-behaviour-DQ2sVbku.mjs.map → glb-viewer-camera-behaviour-D8Jyv15W.mjs.map} +1 -1
- package/lib/glb-viewer.js +1 -1
- package/lib/glb-viewer.nomodule.js +1 -1
- package/lib/homag-intelligence-DDeQ7tUK.mjs +930 -0
- package/lib/homag-intelligence-DDeQ7tUK.mjs.map +1 -0
- package/lib/homag-intelligence-E10Cq4lT.js +2 -0
- package/lib/homag-intelligence-E10Cq4lT.js.map +1 -0
- package/lib/{imos-ix-poc-export-helper-BrpY0OHi.mjs → imos-ix-poc-export-helper-BYHAzxgR.mjs} +2 -2
- package/lib/{imos-ix-poc-export-helper-BrpY0OHi.mjs.map → imos-ix-poc-export-helper-BYHAzxgR.mjs.map} +1 -1
- package/lib/{imos-ix-poc-export-helper-r0pv9sOT.js → imos-ix-poc-export-helper-Cljo4rz4.js} +2 -2
- package/lib/{imos-ix-poc-export-helper-r0pv9sOT.js.map → imos-ix-poc-export-helper-Cljo4rz4.js.map} +1 -1
- package/lib/{main-CMu7hOEO.mjs → main-46Tj9U23.mjs} +2218 -2015
- package/lib/{main-CMu7hOEO.mjs.map → main-46Tj9U23.mjs.map} +1 -1
- package/lib/{main-05wLxbDZ.js → main-BYSxOyxk.js} +340 -149
- package/lib/{main-05wLxbDZ.js.map → main-BYSxOyxk.js.map} +1 -1
- package/lib/{material-viewer-B0MevA_r.mjs → material-viewer-D95iqbil.mjs} +4 -4
- package/lib/{material-viewer-B0MevA_r.mjs.map → material-viewer-D95iqbil.mjs.map} +1 -1
- package/lib/{material-viewer-CLqZXFrn.js → material-viewer-DxGIuzQa.js} +2 -2
- package/lib/{material-viewer-CLqZXFrn.js.map → material-viewer-DxGIuzQa.js.map} +1 -1
- package/lib/material-viewer.js +1 -1
- package/lib/material-viewer.nomodule.js +1 -1
- package/lib/planner-CzxJnj1X.js +159 -0
- package/lib/planner-CzxJnj1X.js.map +1 -0
- package/lib/{planner-B3Bt-cWy.mjs → planner-QTTwDrHO.mjs} +1292 -1983
- package/lib/planner-QTTwDrHO.mjs.map +1 -0
- package/lib/planner.js +1 -1
- package/lib/planner.nomodule.js +1 -1
- package/lib/roomle-sdk.js +7 -7
- package/lib/roomle-sdk.nomodule.js +1 -1
- package/lib/{script-loader-CZjzwkk2.js → script-loader-B9lTTfVL.js} +2 -2
- package/lib/{script-loader-CZjzwkk2.js.map → script-loader-B9lTTfVL.js.map} +1 -1
- package/lib/{script-loader-BzwDLtbS.mjs → script-loader-CzhnA2pH.mjs} +2 -2
- package/lib/{script-loader-BzwDLtbS.mjs.map → script-loader-CzhnA2pH.mjs.map} +1 -1
- package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleCore.js +6 -6
- package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleServiceCore.js +6 -6
- package/lib/static/roomle-core-hsc/RoomleServiceCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/configuratorCoreInterface.d.ts +2 -0
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.d.ts +2 -0
- package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.d.ts +2 -2
- package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.js +1 -1
- package/lib/static/roomle-core-hsc/embind/plannerCoreCallback.js.map +1 -1
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +17 -2
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/package.json +1 -1
- package/lib/static/roomle-core-hsc/plannerCoreCallback.d.ts +2 -2
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js +1 -1
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js.map +1 -1
- package/lib/static/roomle-core-hsc/plannerCoreInterface.d.ts +17 -2
- package/lib/static/roomle-core-hsc/plannerCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +2 -0
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.d.ts +2 -2
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js +1 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +1 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +17 -2
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.js +6 -6
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleServiceCore.js +6 -6
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleServiceCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/{stats-helper-BaTpWjzi.mjs → stats-helper-Bxtuennf.mjs} +2 -2
- package/lib/{stats-helper-BaTpWjzi.mjs.map → stats-helper-Bxtuennf.mjs.map} +1 -1
- package/lib/{stats-helper-DylhlHS_.js → stats-helper-C_qbnagz.js} +2 -2
- package/lib/{stats-helper-DylhlHS_.js.map → stats-helper-C_qbnagz.js.map} +1 -1
- package/lib/{tools-core-BbL-KMAf.mjs → tools-core-B6SWBgo_.mjs} +3 -3
- package/lib/{tools-core-BbL-KMAf.mjs.map → tools-core-B6SWBgo_.mjs.map} +1 -1
- package/lib/{tools-core-BF9kMznR.js → tools-core-P2KNGp9v.js} +2 -2
- package/lib/{tools-core-BF9kMznR.js.map → tools-core-P2KNGp9v.js.map} +1 -1
- package/package.json +1 -1
- package/lib/camera-behaviour-BLMduSEn.mjs.map +0 -1
- package/lib/camera-behaviour-DgLVg_pP.js +0 -50
- package/lib/camera-behaviour-DgLVg_pP.js.map +0 -1
- package/lib/configurator-scene-manager-CRSHxOfd.js +0 -2
- package/lib/configurator-scene-manager-CRSHxOfd.js.map +0 -1
- package/lib/configurator-scene-manager-DbsYS4rm.mjs.map +0 -1
- package/lib/planner-B3Bt-cWy.mjs.map +0 -1
- package/lib/planner-D7lLZxgW.js +0 -155
- package/lib/planner-D7lLZxgW.js.map +0 -1
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/config/base.environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/config/environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/config/settings.json.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/async-guard.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-behaviour-3d.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-behaviour-state.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-control-2d.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-control-3d.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-control.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/camera-type.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/configurator-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/glb-viewer-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/material-viewer-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/planner-2d-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/planner-3d-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/planner-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/cameracontrol/planner-fp-camera-behaviour.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/common-configurator-kernel-callback.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/common-interfaces.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/configurator-kernel-access.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/container.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/context.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/global-definitions.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/inject.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/injectables.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/di/roomle-dependency-injection.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/environment/background-environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/environment/dynamic-environment-setting-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/environment/environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/environment/ground-projected-environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/error-handler.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/form-data-util.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/input/input-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/kernel-access-callback.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/kernel-io.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/life-cycle-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/lightsetting/dynamic-light-setting-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/lightsetting/dynamic-light-setting.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/lightsetting/light-setting.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/logger.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/main.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/network-layer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/rapi-access.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/roomle-sdk.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/scene-settings-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/script-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/cache-holder.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/common-kernel-access.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/data-syncer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/global-callback.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/hdr-environment-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/idb-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/services/memory-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/environment-maps.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/libs.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/light-settings.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/luts.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/roomle-core.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/static-files/three.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/types.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/app-context.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/benchmark.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/browser-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/clipboard-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/common-utils.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/dom-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/enumerable.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/external-objects.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/feature-detection.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/fps-couter.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/global-init-data.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/init-data.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/kernel-utils.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/local-storage-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/local-storage.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/material-creator.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/math-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/parameter-types.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/promise-queue.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/query-params-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/rapi-utils.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/shims.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/single-promise-factory.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/stats-helper.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/string-utils.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/ui-callback.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/url-shortener.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/utils/waiter.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/configurable-construction-plan-object-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/configurator-plan-object-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/configurator-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/helpers/constants.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/kernel-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/view-model/plan-object-view-model.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/wasm-loader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/EnvMapReader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/baked-shadow-plane.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/configurator-context.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/hdr-env-map-reader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/image-renderer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/layer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/mesh-generator.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/environment-definition.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/environment-scene.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/light-source-detection-debug.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/light-source-detection.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/materials/blend-ao-and-shadow-material.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/materials/blend-ao-pass-depth-material.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/materials/illumination-buffer-material.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/materials/normal-depth-material.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/materials/postprocessing-material-plugin.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/objects/shadow-ground-plane.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/outline-renderer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/ao-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/baked-ground-contact-shadow-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/debug-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/gbuffer-render-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/ground-reflection-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/outline-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/pass-utility.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/poisson-denoise-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/render-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/scene-render-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/screen-space-shadow-map-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pass/shadow-and-ao-pass.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/pmrem-environment.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/render-cache.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/render-pass-manager.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/render-utility.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/scene-renderer-gui.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/scene-renderer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/shader-utility.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/shaders/ao-shader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/shaders/poisson-denoise-shader.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/renderer/shading-settings.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/roomle-webgl-renderer-quality-levels.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/roomle-webgl-renderer.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/scene-event-handler.d.ts +0 -0
- /package/lib/definitions/{common-core → web-sdk/packages/common-core}/src/webgl/static-item-loader.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/configurator-debug-api.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/configurator-main.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/configurator.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/input/configurator-input-manager.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/roomle-configurator.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/services/configurator-kernel-access-callback.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/services/configurator-ui-callback.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/services/unit-formatter.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/static-files/fonts.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/static-files/geometries.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/static-files/settings.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/static-files/textures.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/animation/animation-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/animation/animation-value-map.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/animation/drag-insert-animation.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/animation/object-animations.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/async-dependency-loader.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/async-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/component-dimensioning-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/component-dimensioning.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/component-raycast-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/configurator-history.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/dimensioning-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/error-messages.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/event-dispatcher.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/global-definitions.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/imos-ix-poc-export-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/indexeddb-adapter.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/injectables.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/parameter-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/plugin-types.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/raycast-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/selection-handler.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/sort-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/text-with-background.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/utils/ui-intersection-helper.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/banana-for-scale.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/configurator-mesh-generator.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/configurator-scene-event-handler.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/configurator-scene-manager.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/environment/floor-environment.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/lightsetting/default-light-setting.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/lightsetting/hd-light-setting.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/lightsetting/top-image-light-setting.d.ts +0 -0
- /package/lib/definitions/{configurator-core → web-sdk/packages/configurator-core}/src/webgl/plugin-system.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/camera-control/adjustable-camera-control-3d.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/glb-viewer-main.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/glb-viewer.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/input/glb-input-manager.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/roomle-glb-viewer.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/services/glb-render-worker.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/utils/global-definitions.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/utils/injectables.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/webgl/glb-viewer-light-setting.d.ts +0 -0
- /package/lib/definitions/{glb-viewer-core → web-sdk/packages/glb-viewer-core}/src/webgl/glb-viewer-scene-manager.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/api.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/hi-tag-catalog-callbacks.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/model/oc-scripts-domain.model.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/orders.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/rml-plugin.d.ts +0 -0
- /package/lib/definitions/{homag-intelligence → web-sdk/packages/homag-intelligence}/src/util.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/material-viewer-main.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/material-viewer.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/roomle-material-viewer-ui-callback.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/roomle-material-viewer.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/utils/global-definitions.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/utils/injectables.d.ts +0 -0
- /package/lib/definitions/{material-viewer → web-sdk/packages/material-viewer}/src/webgl/material-viewer-scene-manager.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/camera-control/camera-control-first-person.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/external-object-api.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/input/planner-input-manager.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/lights/lamp-light.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/lights/point-lamp-light.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/lights/rect-area-light.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/plan-xml.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/planner-main.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/planner.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/dimensions-helper.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/global-definitions.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/injectables.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/map-to-ui-plan-objects.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/measurements.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/planner-scene-utils.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/utils/planner-selection-handler.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/ceiling-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/construction-plan-object-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/floor-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/measurement-line-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/node-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/static-plan-object-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/wall-attic-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/view-model/wall-plan-element-view-model.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/construction-top-view.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/continuous-drawing-helper.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/draggable-node.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/lightsetting/planner-light-setting.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/paper-background.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/planner-element-highlighter.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/planner-mesh-generator.d.ts +0 -0
- /package/lib/definitions/{planner-core → web-sdk/packages/planner-core}/src/webgl/planner-scene-event-handler.d.ts +0 -0
- /package/lib/definitions/{tools-core → web-sdk/packages/tools-core}/src/roomle-tools-core.d.ts +0 -0
- /package/lib/definitions/{tools-core → web-sdk/packages/tools-core}/src/tools-core.d.ts +0 -0
- /package/lib/definitions/{tools-core → web-sdk/packages/tools-core}/src/utils/global-definitions.d.ts +0 -0
- /package/lib/definitions/{tools-core → web-sdk/packages/tools-core}/src/utils/injectables.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/configurator-kernel-container.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/ems.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/external-objects.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/global-definitions.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/helper.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/kernel.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/planner-kernel-container.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/planner.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/rapi-types.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/shims.d.ts +0 -0
- /package/lib/definitions/{typings → web-sdk/packages/typings}/stats.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/asset-loader.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/asset-loader.worker.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/budgeteer/constants.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/budgeteer.sw.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/communication-interface.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/main-thread-to-worker.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/static-files/workers.d.ts +0 -0
- /package/lib/definitions/{workers → web-sdk/packages/workers}/src/worker-to-main-thread.d.ts +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { V as f, E as nt, a as ot, O as rt, S as at, M as ct, b as Y, B as ht, F as lt } from "./Object3D-QMFk6zqP.mjs";
|
|
2
2
|
import { M as ut, C as pt, B as st, R as ft, F as X } from "./BufferGeometry-Bq9ljP9z.mjs";
|
|
3
|
-
import { V as K } from "./configurator-scene-manager-
|
|
3
|
+
import { V as K } from "./configurator-scene-manager-BzuNryR1.mjs";
|
|
4
4
|
const x = /* @__PURE__ */ new f(), B = /* @__PURE__ */ new f(), k = /* @__PURE__ */ new f(), P = /* @__PURE__ */ new f(), S = /* @__PURE__ */ new f(), T = /* @__PURE__ */ new f(), Z = /* @__PURE__ */ new f(), N = /* @__PURE__ */ new f(), C = /* @__PURE__ */ new f(), E = /* @__PURE__ */ new f(), G = /* @__PURE__ */ new K(), H = /* @__PURE__ */ new K(), J = /* @__PURE__ */ new K();
|
|
5
5
|
class v {
|
|
6
6
|
constructor(t = new f(), e = new f(), i = new f()) {
|
|
@@ -271,4 +271,4 @@ class wt extends dt {
|
|
|
271
271
|
export {
|
|
272
272
|
wt as PointLightHelper
|
|
273
273
|
};
|
|
274
|
-
//# sourceMappingURL=PointLightHelper-
|
|
274
|
+
//# sourceMappingURL=PointLightHelper-B2I7wTut.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointLightHelper-qhWtXw8x.mjs","sources":["../../../../node_modules/three/src/math/Triangle.js","../../../../node_modules/three/src/materials/MeshBasicMaterial.js","../../../../node_modules/three/src/objects/Mesh.js","../../../../node_modules/three/src/geometries/SphereGeometry.js","../../../../node_modules/three/src/helpers/PointLightHelper.js"],"sourcesContent":["import { Vector3 } from './Vector3.js';\nimport { Vector4 } from './Vector4.js';\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nconst _v40 = /*@__PURE__*/ new Vector4();\nconst _v41 = /*@__PURE__*/ new Vector4();\nconst _v42 = /*@__PURE__*/ new Vector4();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0.subVectors( a, b );\n\t\ttarget.cross( _v0 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\ttarget.set( 0, 0, 0 );\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\t// if the triangle is degenerate then we can't contain a point\n\t\tif ( this.getBarycoord( point, a, b, c, _v3 ) === null ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getInterpolation( point, p1, p2, p3, v1, v2, v3, target ) {\n\n\t\tif ( this.getBarycoord( point, p1, p2, p3, _v3 ) === null ) {\n\n\t\t\ttarget.x = 0;\n\t\t\ttarget.y = 0;\n\t\t\tif ( 'z' in target ) target.z = 0;\n\t\t\tif ( 'w' in target ) target.w = 0;\n\t\t\treturn null;\n\n\t\t}\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( v1, _v3.x );\n\t\ttarget.addScaledVector( v2, _v3.y );\n\t\ttarget.addScaledVector( v3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic getInterpolatedAttribute( attr, i1, i2, i3, barycoord, target ) {\n\n\t\t_v40.setScalar( 0 );\n\t\t_v41.setScalar( 0 );\n\t\t_v42.setScalar( 0 );\n\n\t\t_v40.fromBufferAttribute( attr, i1 );\n\t\t_v41.fromBufferAttribute( attr, i2 );\n\t\t_v42.fromBufferAttribute( attr, i3 );\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( _v40, barycoord.x );\n\t\ttarget.addScaledVector( _v41, barycoord.y );\n\t\ttarget.addScaledVector( _v42, barycoord.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0.subVectors( this.c, this.b );\n\t\t_v1.subVectors( this.a, this.b );\n\n\t\treturn _v0.cross( _v1 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetInterpolation( point, v1, v2, v3, target ) {\n\n\t\treturn Triangle.getInterpolation( point, this.a, this.b, this.c, v1, v2, v3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nexport { Triangle };\n","import { Material } from './Material.js';\nimport { MultiplyOperation } from '../constants.js';\nimport { Color } from '../math/Color.js';\nimport { Euler } from '../math/Euler.js';\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.envMapRotation = new Euler();\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.envMapRotation.copy( source.envMapRotation );\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { MeshBasicMaterial };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Triangle } from '../math/Triangle.js';\nimport { BackSide, FrontSide } from '../constants.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _sphereHitAt = /*@__PURE__*/ new Vector3();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _morphA = /*@__PURE__*/ new Vector3();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tgetVertexPosition( index, target ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\n\t\ttarget.fromBufferAttribute( position, index );\n\n\t\tconst morphInfluences = this.morphTargetInfluences;\n\n\t\tif ( morphPosition && morphInfluences ) {\n\n\t\t\t_morphA.set( 0, 0, 0 );\n\n\t\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\t\tconst influence = morphInfluences[ i ];\n\t\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t\t_tempA.fromBufferAttribute( morphAttribute, index );\n\n\t\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA.sub( target ), influence );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\ttarget.add( _morphA );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// test with bounding sphere in world space\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\n\t\t// check distance from ray origin to bounding sphere\n\n\t\t_ray.copy( raycaster.ray ).recast( raycaster.near );\n\n\t\tif ( _sphere.containsPoint( _ray.origin ) === false ) {\n\n\t\t\tif ( _ray.intersectSphere( _sphere, _sphereHitAt ) === null ) return;\n\n\t\t\tif ( _ray.origin.distanceToSquared( _sphereHitAt ) > ( raycaster.far - raycaster.near ) ** 2 ) return;\n\n\t\t}\n\n\t\t// convert ray to local space of mesh\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\t// test with bounding box in local space\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\t// test for intersections with geometry\n\n\t\tthis._computeIntersections( raycaster, intersects, _ray );\n\n\t}\n\n\t_computeIntersections( raycaster, intersects, rayLocalSpace ) {\n\n\t\tlet intersection;\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv1 = geometry.attributes.uv1;\n\t\tconst normal = geometry.attributes.normal;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, ( material.side === FrontSide ), point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, normal, a, b, c ) {\n\n\tobject.getVertexPosition( a, _vA );\n\tobject.getVertexPosition( b, _vB );\n\tobject.getVertexPosition( c, _vC );\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tconst barycoord = new Vector3();\n\t\tTriangle.getBarycoord( _intersectionPoint, _vA, _vB, _vC, barycoord );\n\n\t\tif ( uv ) {\n\n\t\t\tintersection.uv = Triangle.getInterpolatedAttribute( uv, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv1 ) {\n\n\t\t\tintersection.uv1 = Triangle.getInterpolatedAttribute( uv1, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( normal ) {\n\n\t\t\tintersection.normal = Triangle.getInterpolatedAttribute( normal, a, b, c, barycoord, new Vector3() );\n\n\t\t\tif ( intersection.normal.dot( ray.direction ) > 0 ) {\n\n\t\t\t\tintersection.normal.multiplyScalar( - 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA, _vB, _vC, face.normal );\n\n\t\tintersection.face = face;\n\t\tintersection.barycoord = barycoord;\n\n\t}\n\n\treturn intersection;\n\n}\n\nexport { Mesh };\n","import { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { Vector3 } from '../math/Vector3.js';\n\nclass SphereGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SphereGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\twidthSegments = Math.max( 3, Math.floor( widthSegments ) );\n\t\theightSegments = Math.max( 2, Math.floor( heightSegments ) );\n\n\t\tconst thetaEnd = Math.min( thetaStart + thetaLength, Math.PI );\n\n\t\tlet index = 0;\n\t\tconst grid = [];\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let iy = 0; iy <= heightSegments; iy ++ ) {\n\n\t\t\tconst verticesRow = [];\n\n\t\t\tconst v = iy / heightSegments;\n\n\t\t\t// special case for the poles\n\n\t\t\tlet uOffset = 0;\n\n\t\t\tif ( iy === 0 && thetaStart === 0 ) {\n\n\t\t\t\tuOffset = 0.5 / widthSegments;\n\n\t\t\t} else if ( iy === heightSegments && thetaEnd === Math.PI ) {\n\n\t\t\t\tuOffset = - 0.5 / widthSegments;\n\n\t\t\t}\n\n\t\t\tfor ( let ix = 0; ix <= widthSegments; ix ++ ) {\n\n\t\t\t\tconst u = ix / widthSegments;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\t\t\t\tvertex.y = radius * Math.cos( thetaStart + v * thetaLength );\n\t\t\t\tvertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.copy( vertex ).normalize();\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( u + uOffset, 1 - v );\n\n\t\t\t\tverticesRow.push( index ++ );\n\n\t\t\t}\n\n\t\t\tgrid.push( verticesRow );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let iy = 0; iy < heightSegments; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < widthSegments; ix ++ ) {\n\n\t\t\t\tconst a = grid[ iy ][ ix + 1 ];\n\t\t\t\tconst b = grid[ iy ][ ix ];\n\t\t\t\tconst c = grid[ iy + 1 ][ ix ];\n\t\t\t\tconst d = grid[ iy + 1 ][ ix + 1 ];\n\n\t\t\t\tif ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d );\n\t\t\t\tif ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.parameters = Object.assign( {}, source.parameters );\n\n\t\treturn this;\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nexport { SphereGeometry };\n","import { Mesh } from '../objects/Mesh.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { SphereGeometry } from '../geometries/SphereGeometry.js';\n\nclass PointLightHelper extends Mesh {\n\n\tconstructor( light, sphereSize, color ) {\n\n\t\tconst geometry = new SphereGeometry( sphereSize, 4, 2 );\n\t\tconst material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.light = light;\n\n\t\tthis.color = color;\n\n\t\tthis.type = 'PointLightHelper';\n\n\t\tthis.matrix = this.light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\n\t\t/*\n\t// TODO: delete this comment?\n\tconst distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );\n\tconst distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );\n\n\tthis.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );\n\tthis.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );\n\n\tconst d = light.distance;\n\n\tif ( d === 0.0 ) {\n\n\t\tthis.lightDistance.visible = false;\n\n\t} else {\n\n\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t}\n\n\tthis.add( this.lightDistance );\n\t*/\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\t/*\n\t\tconst d = this.light.distance;\n\n\t\tif ( d === 0.0 ) {\n\n\t\t\tthis.lightDistance.visible = false;\n\n\t\t} else {\n\n\t\t\tthis.lightDistance.visible = true;\n\t\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t\t}\n\t\t*/\n\n\t}\n\n}\n\n\nexport { PointLightHelper };\n"],"names":["_v0","Vector3","_v1","_v2","_v3","_vab","_vac","_vbc","_vap","_vbp","_vcp","_v40","Vector4","_v41","_v42","Triangle","a","b","c","target","targetLengthSq","point","dot00","dot01","dot02","dot11","dot12","denom","invDenom","u","v","p1","p2","p3","v1","v2","v3","attr","i1","i2","i3","barycoord","direction","points","i0","attribute","triangle","box","p","w","d1","d2","d3","d4","vc","d5","d6","vb","va","MeshBasicMaterial","Material","parameters","Color","Euler","MultiplyOperation","source","_inverseMatrix","Matrix4","_ray","Ray","_sphere","Sphere","_sphereHitAt","_vA","_vB","_vC","_tempA","_morphA","_intersectionPoint","_intersectionPointWorld","Mesh","Object3D","geometry","BufferGeometry","material","recursive","morphAttributes","keys","morphAttribute","m","ml","name","index","position","morphPosition","morphTargetsRelative","morphInfluences","i","il","influence","raycaster","intersects","matrixWorld","rayLocalSpace","intersection","uv","uv1","normal","groups","drawRange","group","groupMaterial","start","end","j","jl","checkGeometryIntersection","checkIntersection","object","ray","pA","pB","pC","intersect","BackSide","FrontSide","distance","Vector2","face","SphereGeometry","radius","widthSegments","heightSegments","phiStart","phiLength","thetaStart","thetaLength","thetaEnd","grid","vertex","indices","vertices","normals","uvs","iy","verticesRow","uOffset","ix","d","Float32BufferAttribute","data","PointLightHelper","light","sphereSize","color"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
1
|
+
{"version":3,"file":"PointLightHelper-B2I7wTut.mjs","sources":["../../../../node_modules/three/src/math/Triangle.js","../../../../node_modules/three/src/materials/MeshBasicMaterial.js","../../../../node_modules/three/src/objects/Mesh.js","../../../../node_modules/three/src/geometries/SphereGeometry.js","../../../../node_modules/three/src/helpers/PointLightHelper.js"],"sourcesContent":["import { Vector3 } from './Vector3.js';\nimport { Vector4 } from './Vector4.js';\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nconst _v40 = /*@__PURE__*/ new Vector4();\nconst _v41 = /*@__PURE__*/ new Vector4();\nconst _v42 = /*@__PURE__*/ new Vector4();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0.subVectors( a, b );\n\t\ttarget.cross( _v0 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\ttarget.set( 0, 0, 0 );\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\t// if the triangle is degenerate then we can't contain a point\n\t\tif ( this.getBarycoord( point, a, b, c, _v3 ) === null ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getInterpolation( point, p1, p2, p3, v1, v2, v3, target ) {\n\n\t\tif ( this.getBarycoord( point, p1, p2, p3, _v3 ) === null ) {\n\n\t\t\ttarget.x = 0;\n\t\t\ttarget.y = 0;\n\t\t\tif ( 'z' in target ) target.z = 0;\n\t\t\tif ( 'w' in target ) target.w = 0;\n\t\t\treturn null;\n\n\t\t}\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( v1, _v3.x );\n\t\ttarget.addScaledVector( v2, _v3.y );\n\t\ttarget.addScaledVector( v3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic getInterpolatedAttribute( attr, i1, i2, i3, barycoord, target ) {\n\n\t\t_v40.setScalar( 0 );\n\t\t_v41.setScalar( 0 );\n\t\t_v42.setScalar( 0 );\n\n\t\t_v40.fromBufferAttribute( attr, i1 );\n\t\t_v41.fromBufferAttribute( attr, i2 );\n\t\t_v42.fromBufferAttribute( attr, i3 );\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( _v40, barycoord.x );\n\t\ttarget.addScaledVector( _v41, barycoord.y );\n\t\ttarget.addScaledVector( _v42, barycoord.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0.subVectors( this.c, this.b );\n\t\t_v1.subVectors( this.a, this.b );\n\n\t\treturn _v0.cross( _v1 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetInterpolation( point, v1, v2, v3, target ) {\n\n\t\treturn Triangle.getInterpolation( point, this.a, this.b, this.c, v1, v2, v3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nexport { Triangle };\n","import { Material } from './Material.js';\nimport { MultiplyOperation } from '../constants.js';\nimport { Color } from '../math/Color.js';\nimport { Euler } from '../math/Euler.js';\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.envMapRotation = new Euler();\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.envMapRotation.copy( source.envMapRotation );\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { MeshBasicMaterial };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Triangle } from '../math/Triangle.js';\nimport { BackSide, FrontSide } from '../constants.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _sphereHitAt = /*@__PURE__*/ new Vector3();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _morphA = /*@__PURE__*/ new Vector3();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tgetVertexPosition( index, target ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\n\t\ttarget.fromBufferAttribute( position, index );\n\n\t\tconst morphInfluences = this.morphTargetInfluences;\n\n\t\tif ( morphPosition && morphInfluences ) {\n\n\t\t\t_morphA.set( 0, 0, 0 );\n\n\t\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\t\tconst influence = morphInfluences[ i ];\n\t\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t\t_tempA.fromBufferAttribute( morphAttribute, index );\n\n\t\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA.sub( target ), influence );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\ttarget.add( _morphA );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// test with bounding sphere in world space\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\n\t\t// check distance from ray origin to bounding sphere\n\n\t\t_ray.copy( raycaster.ray ).recast( raycaster.near );\n\n\t\tif ( _sphere.containsPoint( _ray.origin ) === false ) {\n\n\t\t\tif ( _ray.intersectSphere( _sphere, _sphereHitAt ) === null ) return;\n\n\t\t\tif ( _ray.origin.distanceToSquared( _sphereHitAt ) > ( raycaster.far - raycaster.near ) ** 2 ) return;\n\n\t\t}\n\n\t\t// convert ray to local space of mesh\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\t// test with bounding box in local space\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\t// test for intersections with geometry\n\n\t\tthis._computeIntersections( raycaster, intersects, _ray );\n\n\t}\n\n\t_computeIntersections( raycaster, intersects, rayLocalSpace ) {\n\n\t\tlet intersection;\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv1 = geometry.attributes.uv1;\n\t\tconst normal = geometry.attributes.normal;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, ( material.side === FrontSide ), point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, normal, a, b, c ) {\n\n\tobject.getVertexPosition( a, _vA );\n\tobject.getVertexPosition( b, _vB );\n\tobject.getVertexPosition( c, _vC );\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tconst barycoord = new Vector3();\n\t\tTriangle.getBarycoord( _intersectionPoint, _vA, _vB, _vC, barycoord );\n\n\t\tif ( uv ) {\n\n\t\t\tintersection.uv = Triangle.getInterpolatedAttribute( uv, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv1 ) {\n\n\t\t\tintersection.uv1 = Triangle.getInterpolatedAttribute( uv1, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( normal ) {\n\n\t\t\tintersection.normal = Triangle.getInterpolatedAttribute( normal, a, b, c, barycoord, new Vector3() );\n\n\t\t\tif ( intersection.normal.dot( ray.direction ) > 0 ) {\n\n\t\t\t\tintersection.normal.multiplyScalar( - 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA, _vB, _vC, face.normal );\n\n\t\tintersection.face = face;\n\t\tintersection.barycoord = barycoord;\n\n\t}\n\n\treturn intersection;\n\n}\n\nexport { Mesh };\n","import { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { Vector3 } from '../math/Vector3.js';\n\nclass SphereGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SphereGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\twidthSegments = Math.max( 3, Math.floor( widthSegments ) );\n\t\theightSegments = Math.max( 2, Math.floor( heightSegments ) );\n\n\t\tconst thetaEnd = Math.min( thetaStart + thetaLength, Math.PI );\n\n\t\tlet index = 0;\n\t\tconst grid = [];\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let iy = 0; iy <= heightSegments; iy ++ ) {\n\n\t\t\tconst verticesRow = [];\n\n\t\t\tconst v = iy / heightSegments;\n\n\t\t\t// special case for the poles\n\n\t\t\tlet uOffset = 0;\n\n\t\t\tif ( iy === 0 && thetaStart === 0 ) {\n\n\t\t\t\tuOffset = 0.5 / widthSegments;\n\n\t\t\t} else if ( iy === heightSegments && thetaEnd === Math.PI ) {\n\n\t\t\t\tuOffset = - 0.5 / widthSegments;\n\n\t\t\t}\n\n\t\t\tfor ( let ix = 0; ix <= widthSegments; ix ++ ) {\n\n\t\t\t\tconst u = ix / widthSegments;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\t\t\t\tvertex.y = radius * Math.cos( thetaStart + v * thetaLength );\n\t\t\t\tvertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.copy( vertex ).normalize();\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( u + uOffset, 1 - v );\n\n\t\t\t\tverticesRow.push( index ++ );\n\n\t\t\t}\n\n\t\t\tgrid.push( verticesRow );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let iy = 0; iy < heightSegments; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < widthSegments; ix ++ ) {\n\n\t\t\t\tconst a = grid[ iy ][ ix + 1 ];\n\t\t\t\tconst b = grid[ iy ][ ix ];\n\t\t\t\tconst c = grid[ iy + 1 ][ ix ];\n\t\t\t\tconst d = grid[ iy + 1 ][ ix + 1 ];\n\n\t\t\t\tif ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d );\n\t\t\t\tif ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.parameters = Object.assign( {}, source.parameters );\n\n\t\treturn this;\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nexport { SphereGeometry };\n","import { Mesh } from '../objects/Mesh.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { SphereGeometry } from '../geometries/SphereGeometry.js';\n\nclass PointLightHelper extends Mesh {\n\n\tconstructor( light, sphereSize, color ) {\n\n\t\tconst geometry = new SphereGeometry( sphereSize, 4, 2 );\n\t\tconst material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.light = light;\n\n\t\tthis.color = color;\n\n\t\tthis.type = 'PointLightHelper';\n\n\t\tthis.matrix = this.light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\n\t\t/*\n\t// TODO: delete this comment?\n\tconst distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );\n\tconst distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );\n\n\tthis.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );\n\tthis.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );\n\n\tconst d = light.distance;\n\n\tif ( d === 0.0 ) {\n\n\t\tthis.lightDistance.visible = false;\n\n\t} else {\n\n\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t}\n\n\tthis.add( this.lightDistance );\n\t*/\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\t/*\n\t\tconst d = this.light.distance;\n\n\t\tif ( d === 0.0 ) {\n\n\t\t\tthis.lightDistance.visible = false;\n\n\t\t} else {\n\n\t\t\tthis.lightDistance.visible = true;\n\t\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t\t}\n\t\t*/\n\n\t}\n\n}\n\n\nexport { PointLightHelper };\n"],"names":["_v0","Vector3","_v1","_v2","_v3","_vab","_vac","_vbc","_vap","_vbp","_vcp","_v40","Vector4","_v41","_v42","Triangle","a","b","c","target","targetLengthSq","point","dot00","dot01","dot02","dot11","dot12","denom","invDenom","u","v","p1","p2","p3","v1","v2","v3","attr","i1","i2","i3","barycoord","direction","points","i0","attribute","triangle","box","p","w","d1","d2","d3","d4","vc","d5","d6","vb","va","MeshBasicMaterial","Material","parameters","Color","Euler","MultiplyOperation","source","_inverseMatrix","Matrix4","_ray","Ray","_sphere","Sphere","_sphereHitAt","_vA","_vB","_vC","_tempA","_morphA","_intersectionPoint","_intersectionPointWorld","Mesh","Object3D","geometry","BufferGeometry","material","recursive","morphAttributes","keys","morphAttribute","m","ml","name","index","position","morphPosition","morphTargetsRelative","morphInfluences","i","il","influence","raycaster","intersects","matrixWorld","rayLocalSpace","intersection","uv","uv1","normal","groups","drawRange","group","groupMaterial","start","end","j","jl","checkGeometryIntersection","checkIntersection","object","ray","pA","pB","pC","intersect","BackSide","FrontSide","distance","Vector2","face","SphereGeometry","radius","widthSegments","heightSegments","phiStart","phiLength","thetaStart","thetaLength","thetaEnd","grid","vertex","indices","vertices","normals","uvs","iy","verticesRow","uOffset","ix","d","Float32BufferAttribute","data","PointLightHelper","light","sphereSize","color"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./Object3D-BBDnGQZV.js","./BufferGeometry-DChPDg5-.js","./configurator-scene-manager-CRSHxOfd.js"],function(dt,bt){"use strict";var f,$,tt,et,it,st,X,nt,ot,rt,ct,k,at,F,R;return{setters:[u=>{f=u.V,$=u.E,tt=u.a,et=u.O,it=u.S,st=u.M,X=u.b,nt=u.B,ot=u.F},u=>{rt=u.M,ct=u.C,k=u.B,at=u.R,F=u.F},u=>{R=u.V}],execute:function(){const u=new f,A=new f,N=new f,B=new f,S=new f,T=new f,ht=new f,G=new f,H=new f,C=new f,E=new R,J=new R,U=new R;class v{constructor(t=new f,e=new f,s=new f){this.a=t,this.b=e,this.c=s}static getNormal(t,e,s,i){i.subVectors(s,e),u.subVectors(t,e),i.cross(u);const n=i.lengthSq();return n>0?i.multiplyScalar(1/Math.sqrt(n)):i.set(0,0,0)}static getBarycoord(t,e,s,i,n){u.subVectors(i,e),A.subVectors(s,e),N.subVectors(t,e);const c=u.dot(u),o=u.dot(A),r=u.dot(N),p=A.dot(A),a=A.dot(N),l=c*p-o*o;if(l===0)return n.set(0,0,0),null;const b=1/l,m=(p*r-o*a)*b,d=(c*a-o*r)*b;return n.set(1-m-d,d,m)}static containsPoint(t,e,s,i){return this.getBarycoord(t,e,s,i,B)===null?!1:B.x>=0&&B.y>=0&&B.x+B.y<=1}static getInterpolation(t,e,s,i,n,c,o,r){return this.getBarycoord(t,e,s,i,B)===null?(r.x=0,r.y=0,"z"in r&&(r.z=0),"w"in r&&(r.w=0),null):(r.setScalar(0),r.addScaledVector(n,B.x),r.addScaledVector(c,B.y),r.addScaledVector(o,B.z),r)}static getInterpolatedAttribute(t,e,s,i,n,c){return E.setScalar(0),J.setScalar(0),U.setScalar(0),E.fromBufferAttribute(t,e),J.fromBufferAttribute(t,s),U.fromBufferAttribute(t,i),c.setScalar(0),c.addScaledVector(E,n.x),c.addScaledVector(J,n.y),c.addScaledVector(U,n.z),c}static isFrontFacing(t,e,s,i){return u.subVectors(s,e),A.subVectors(t,e),u.cross(A).dot(i)<0}set(t,e,s){return this.a.copy(t),this.b.copy(e),this.c.copy(s),this}setFromPointsAndIndices(t,e,s,i){return this.a.copy(t[e]),this.b.copy(t[s]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,s,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,s),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return u.subVectors(this.c,this.b),A.subVectors(this.a,this.b),u.cross(A).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return v.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return v.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,s,i,n){return v.getInterpolation(t,this.a,this.b,this.c,e,s,i,n)}containsPoint(t){return v.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return v.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const s=this.a,i=this.b,n=this.c;let c,o;S.subVectors(i,s),T.subVectors(n,s),G.subVectors(t,s);const r=S.dot(G),p=T.dot(G);if(r<=0&&p<=0)return e.copy(s);H.subVectors(t,i);const a=S.dot(H),l=T.dot(H);if(a>=0&&l<=a)return e.copy(i);const b=r*l-a*p;if(b<=0&&r>=0&&a<=0)return c=r/(r-a),e.copy(s).addScaledVector(S,c);C.subVectors(t,n);const m=S.dot(C),d=T.dot(C);if(d>=0&&m<=d)return e.copy(n);const w=m*p-r*d;if(w<=0&&p>=0&&d<=0)return o=p/(p-d),e.copy(s).addScaledVector(T,o);const h=a*d-m*l;if(h<=0&&l-a>=0&&m-d>=0)return ht.subVectors(n,i),o=(l-a)/(l-a+(m-d)),e.copy(i).addScaledVector(ht,o);const y=1/(h+w+b);return c=w*y,o=b*y,e.copy(s).addScaledVector(S,c).addScaledVector(T,o)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}class lt extends rt{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ct(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new $,this.combine=tt,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const ut=new st,_=new at,j=new it,pt=new f,O=new f,q=new f,z=new f,K=new f,D=new f,ft=new f,L=new f;class mt extends et{constructor(t=new k,e=new lt){super(),this.isMesh=!0,this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}updateMorphTargets(){const e=this.geometry.morphAttributes,s=Object.keys(e);if(s.length>0){const i=e[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,c=i.length;n<c;n++){const o=i[n].name||String(n);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=n}}}}getVertexPosition(t,e){const s=this.geometry,i=s.attributes.position,n=s.morphAttributes.position,c=s.morphTargetsRelative;e.fromBufferAttribute(i,t);const o=this.morphTargetInfluences;if(n&&o){D.set(0,0,0);for(let r=0,p=n.length;r<p;r++){const a=o[r],l=n[r];a!==0&&(K.fromBufferAttribute(l,t),c?D.addScaledVector(K,a):D.addScaledVector(K.sub(e),a))}e.add(D)}return e}raycast(t,e){const s=this.geometry,i=this.material,n=this.matrixWorld;i!==void 0&&(s.boundingSphere===null&&s.computeBoundingSphere(),j.copy(s.boundingSphere),j.applyMatrix4(n),_.copy(t.ray).recast(t.near),!(j.containsPoint(_.origin)===!1&&(_.intersectSphere(j,pt)===null||_.origin.distanceToSquared(pt)>(t.far-t.near)**2))&&(ut.copy(n).invert(),_.copy(t.ray).applyMatrix4(ut),!(s.boundingBox!==null&&_.intersectsBox(s.boundingBox)===!1)&&this._computeIntersections(t,e,_)))}_computeIntersections(t,e,s){let i;const n=this.geometry,c=this.material,o=n.index,r=n.attributes.position,p=n.attributes.uv,a=n.attributes.uv1,l=n.attributes.normal,b=n.groups,m=n.drawRange;if(o!==null)if(Array.isArray(c))for(let d=0,w=b.length;d<w;d++){const h=b[d],y=c[h.materialIndex],g=Math.max(h.start,m.start),x=Math.min(o.count,Math.min(h.start+h.count,m.start+m.count));for(let M=g,P=x;M<P;M+=3){const V=o.getX(M),Y=o.getX(M+1),Z=o.getX(M+2);i=W(this,y,t,s,p,a,l,V,Y,Z),i&&(i.faceIndex=Math.floor(M/3),i.face.materialIndex=h.materialIndex,e.push(i))}}else{const d=Math.max(0,m.start),w=Math.min(o.count,m.start+m.count);for(let h=d,y=w;h<y;h+=3){const g=o.getX(h),x=o.getX(h+1),M=o.getX(h+2);i=W(this,c,t,s,p,a,l,g,x,M),i&&(i.faceIndex=Math.floor(h/3),e.push(i))}}else if(r!==void 0)if(Array.isArray(c))for(let d=0,w=b.length;d<w;d++){const h=b[d],y=c[h.materialIndex],g=Math.max(h.start,m.start),x=Math.min(r.count,Math.min(h.start+h.count,m.start+m.count));for(let M=g,P=x;M<P;M+=3){const V=M,Y=M+1,Z=M+2;i=W(this,y,t,s,p,a,l,V,Y,Z),i&&(i.faceIndex=Math.floor(M/3),i.face.materialIndex=h.materialIndex,e.push(i))}}else{const d=Math.max(0,m.start),w=Math.min(r.count,m.start+m.count);for(let h=d,y=w;h<y;h+=3){const g=h,x=h+1,M=h+2;i=W(this,c,t,s,p,a,l,g,x,M),i&&(i.faceIndex=Math.floor(h/3),e.push(i))}}}}function yt(I,t,e,s,i,n,c,o){let r;if(t.side===nt?r=s.intersectTriangle(c,n,i,!0,o):r=s.intersectTriangle(i,n,c,t.side===ot,o),r===null)return null;L.copy(o),L.applyMatrix4(I.matrixWorld);const p=e.ray.origin.distanceTo(L);return p<e.near||p>e.far?null:{distance:p,point:L.clone(),object:I}}function W(I,t,e,s,i,n,c,o,r,p){I.getVertexPosition(o,O),I.getVertexPosition(r,q),I.getVertexPosition(p,z);const a=yt(I,t,e,s,O,q,z,ft);if(a){const l=new f;v.getBarycoord(ft,O,q,z,l),i&&(a.uv=v.getInterpolatedAttribute(i,o,r,p,l,new X)),n&&(a.uv1=v.getInterpolatedAttribute(n,o,r,p,l,new X)),c&&(a.normal=v.getInterpolatedAttribute(c,o,r,p,l,new f),a.normal.dot(s.direction)>0&&a.normal.multiplyScalar(-1));const b={a:o,b:r,c:p,normal:new f,materialIndex:0};v.getNormal(O,q,z,b.normal),a.face=b,a.barycoord=l}return a}class Q extends k{constructor(t=1,e=32,s=16,i=0,n=Math.PI*2,c=0,o=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:s,phiStart:i,phiLength:n,thetaStart:c,thetaLength:o},e=Math.max(3,Math.floor(e)),s=Math.max(2,Math.floor(s));const r=Math.min(c+o,Math.PI);let p=0;const a=[],l=new f,b=new f,m=[],d=[],w=[],h=[];for(let y=0;y<=s;y++){const g=[],x=y/s;let M=0;y===0&&c===0?M=.5/e:y===s&&r===Math.PI&&(M=-.5/e);for(let P=0;P<=e;P++){const V=P/e;l.x=-t*Math.cos(i+V*n)*Math.sin(c+x*o),l.y=t*Math.cos(c+x*o),l.z=t*Math.sin(i+V*n)*Math.sin(c+x*o),d.push(l.x,l.y,l.z),b.copy(l).normalize(),w.push(b.x,b.y,b.z),h.push(V+M,1-x),g.push(p++)}a.push(g)}for(let y=0;y<s;y++)for(let g=0;g<e;g++){const x=a[y][g+1],M=a[y][g],P=a[y+1][g],V=a[y+1][g+1];(y!==0||c>0)&&m.push(x,M,V),(y!==s-1||r<Math.PI)&&m.push(M,P,V)}this.setIndex(m),this.setAttribute("position",new F(d,3)),this.setAttribute("normal",new F(w,3)),this.setAttribute("uv",new F(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Q(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class Mt extends mt{constructor(t,e,s){const i=new Q(e,4,2),n=new lt({wireframe:!0,fog:!1,toneMapped:!1});super(i,n),this.light=t,this.color=s,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}dt("PointLightHelper",Mt)}}});
|
|
2
|
-
//# sourceMappingURL=PointLightHelper-
|
|
1
|
+
System.register(["./Object3D-BBDnGQZV.js","./BufferGeometry-DChPDg5-.js","./configurator-scene-manager-BGGzzMzL.js"],function(dt,bt){"use strict";var f,$,tt,et,it,st,X,nt,ot,rt,ct,k,at,F,R;return{setters:[u=>{f=u.V,$=u.E,tt=u.a,et=u.O,it=u.S,st=u.M,X=u.b,nt=u.B,ot=u.F},u=>{rt=u.M,ct=u.C,k=u.B,at=u.R,F=u.F},u=>{R=u.V}],execute:function(){const u=new f,A=new f,N=new f,B=new f,S=new f,T=new f,ht=new f,G=new f,H=new f,C=new f,E=new R,J=new R,U=new R;class v{constructor(t=new f,e=new f,s=new f){this.a=t,this.b=e,this.c=s}static getNormal(t,e,s,i){i.subVectors(s,e),u.subVectors(t,e),i.cross(u);const n=i.lengthSq();return n>0?i.multiplyScalar(1/Math.sqrt(n)):i.set(0,0,0)}static getBarycoord(t,e,s,i,n){u.subVectors(i,e),A.subVectors(s,e),N.subVectors(t,e);const c=u.dot(u),o=u.dot(A),r=u.dot(N),p=A.dot(A),a=A.dot(N),l=c*p-o*o;if(l===0)return n.set(0,0,0),null;const b=1/l,m=(p*r-o*a)*b,d=(c*a-o*r)*b;return n.set(1-m-d,d,m)}static containsPoint(t,e,s,i){return this.getBarycoord(t,e,s,i,B)===null?!1:B.x>=0&&B.y>=0&&B.x+B.y<=1}static getInterpolation(t,e,s,i,n,c,o,r){return this.getBarycoord(t,e,s,i,B)===null?(r.x=0,r.y=0,"z"in r&&(r.z=0),"w"in r&&(r.w=0),null):(r.setScalar(0),r.addScaledVector(n,B.x),r.addScaledVector(c,B.y),r.addScaledVector(o,B.z),r)}static getInterpolatedAttribute(t,e,s,i,n,c){return E.setScalar(0),J.setScalar(0),U.setScalar(0),E.fromBufferAttribute(t,e),J.fromBufferAttribute(t,s),U.fromBufferAttribute(t,i),c.setScalar(0),c.addScaledVector(E,n.x),c.addScaledVector(J,n.y),c.addScaledVector(U,n.z),c}static isFrontFacing(t,e,s,i){return u.subVectors(s,e),A.subVectors(t,e),u.cross(A).dot(i)<0}set(t,e,s){return this.a.copy(t),this.b.copy(e),this.c.copy(s),this}setFromPointsAndIndices(t,e,s,i){return this.a.copy(t[e]),this.b.copy(t[s]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,s,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,s),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return u.subVectors(this.c,this.b),A.subVectors(this.a,this.b),u.cross(A).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return v.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return v.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,s,i,n){return v.getInterpolation(t,this.a,this.b,this.c,e,s,i,n)}containsPoint(t){return v.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return v.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const s=this.a,i=this.b,n=this.c;let c,o;S.subVectors(i,s),T.subVectors(n,s),G.subVectors(t,s);const r=S.dot(G),p=T.dot(G);if(r<=0&&p<=0)return e.copy(s);H.subVectors(t,i);const a=S.dot(H),l=T.dot(H);if(a>=0&&l<=a)return e.copy(i);const b=r*l-a*p;if(b<=0&&r>=0&&a<=0)return c=r/(r-a),e.copy(s).addScaledVector(S,c);C.subVectors(t,n);const m=S.dot(C),d=T.dot(C);if(d>=0&&m<=d)return e.copy(n);const w=m*p-r*d;if(w<=0&&p>=0&&d<=0)return o=p/(p-d),e.copy(s).addScaledVector(T,o);const h=a*d-m*l;if(h<=0&&l-a>=0&&m-d>=0)return ht.subVectors(n,i),o=(l-a)/(l-a+(m-d)),e.copy(i).addScaledVector(ht,o);const y=1/(h+w+b);return c=w*y,o=b*y,e.copy(s).addScaledVector(S,c).addScaledVector(T,o)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}class lt extends rt{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ct(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new $,this.combine=tt,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const ut=new st,_=new at,j=new it,pt=new f,O=new f,q=new f,z=new f,K=new f,D=new f,ft=new f,L=new f;class mt extends et{constructor(t=new k,e=new lt){super(),this.isMesh=!0,this.type="Mesh",this.geometry=t,this.material=e,this.updateMorphTargets()}copy(t,e){return super.copy(t,e),t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this.material=Array.isArray(t.material)?t.material.slice():t.material,this.geometry=t.geometry,this}updateMorphTargets(){const e=this.geometry.morphAttributes,s=Object.keys(e);if(s.length>0){const i=e[s[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,c=i.length;n<c;n++){const o=i[n].name||String(n);this.morphTargetInfluences.push(0),this.morphTargetDictionary[o]=n}}}}getVertexPosition(t,e){const s=this.geometry,i=s.attributes.position,n=s.morphAttributes.position,c=s.morphTargetsRelative;e.fromBufferAttribute(i,t);const o=this.morphTargetInfluences;if(n&&o){D.set(0,0,0);for(let r=0,p=n.length;r<p;r++){const a=o[r],l=n[r];a!==0&&(K.fromBufferAttribute(l,t),c?D.addScaledVector(K,a):D.addScaledVector(K.sub(e),a))}e.add(D)}return e}raycast(t,e){const s=this.geometry,i=this.material,n=this.matrixWorld;i!==void 0&&(s.boundingSphere===null&&s.computeBoundingSphere(),j.copy(s.boundingSphere),j.applyMatrix4(n),_.copy(t.ray).recast(t.near),!(j.containsPoint(_.origin)===!1&&(_.intersectSphere(j,pt)===null||_.origin.distanceToSquared(pt)>(t.far-t.near)**2))&&(ut.copy(n).invert(),_.copy(t.ray).applyMatrix4(ut),!(s.boundingBox!==null&&_.intersectsBox(s.boundingBox)===!1)&&this._computeIntersections(t,e,_)))}_computeIntersections(t,e,s){let i;const n=this.geometry,c=this.material,o=n.index,r=n.attributes.position,p=n.attributes.uv,a=n.attributes.uv1,l=n.attributes.normal,b=n.groups,m=n.drawRange;if(o!==null)if(Array.isArray(c))for(let d=0,w=b.length;d<w;d++){const h=b[d],y=c[h.materialIndex],g=Math.max(h.start,m.start),x=Math.min(o.count,Math.min(h.start+h.count,m.start+m.count));for(let M=g,P=x;M<P;M+=3){const V=o.getX(M),Y=o.getX(M+1),Z=o.getX(M+2);i=W(this,y,t,s,p,a,l,V,Y,Z),i&&(i.faceIndex=Math.floor(M/3),i.face.materialIndex=h.materialIndex,e.push(i))}}else{const d=Math.max(0,m.start),w=Math.min(o.count,m.start+m.count);for(let h=d,y=w;h<y;h+=3){const g=o.getX(h),x=o.getX(h+1),M=o.getX(h+2);i=W(this,c,t,s,p,a,l,g,x,M),i&&(i.faceIndex=Math.floor(h/3),e.push(i))}}else if(r!==void 0)if(Array.isArray(c))for(let d=0,w=b.length;d<w;d++){const h=b[d],y=c[h.materialIndex],g=Math.max(h.start,m.start),x=Math.min(r.count,Math.min(h.start+h.count,m.start+m.count));for(let M=g,P=x;M<P;M+=3){const V=M,Y=M+1,Z=M+2;i=W(this,y,t,s,p,a,l,V,Y,Z),i&&(i.faceIndex=Math.floor(M/3),i.face.materialIndex=h.materialIndex,e.push(i))}}else{const d=Math.max(0,m.start),w=Math.min(r.count,m.start+m.count);for(let h=d,y=w;h<y;h+=3){const g=h,x=h+1,M=h+2;i=W(this,c,t,s,p,a,l,g,x,M),i&&(i.faceIndex=Math.floor(h/3),e.push(i))}}}}function yt(I,t,e,s,i,n,c,o){let r;if(t.side===nt?r=s.intersectTriangle(c,n,i,!0,o):r=s.intersectTriangle(i,n,c,t.side===ot,o),r===null)return null;L.copy(o),L.applyMatrix4(I.matrixWorld);const p=e.ray.origin.distanceTo(L);return p<e.near||p>e.far?null:{distance:p,point:L.clone(),object:I}}function W(I,t,e,s,i,n,c,o,r,p){I.getVertexPosition(o,O),I.getVertexPosition(r,q),I.getVertexPosition(p,z);const a=yt(I,t,e,s,O,q,z,ft);if(a){const l=new f;v.getBarycoord(ft,O,q,z,l),i&&(a.uv=v.getInterpolatedAttribute(i,o,r,p,l,new X)),n&&(a.uv1=v.getInterpolatedAttribute(n,o,r,p,l,new X)),c&&(a.normal=v.getInterpolatedAttribute(c,o,r,p,l,new f),a.normal.dot(s.direction)>0&&a.normal.multiplyScalar(-1));const b={a:o,b:r,c:p,normal:new f,materialIndex:0};v.getNormal(O,q,z,b.normal),a.face=b,a.barycoord=l}return a}class Q extends k{constructor(t=1,e=32,s=16,i=0,n=Math.PI*2,c=0,o=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:s,phiStart:i,phiLength:n,thetaStart:c,thetaLength:o},e=Math.max(3,Math.floor(e)),s=Math.max(2,Math.floor(s));const r=Math.min(c+o,Math.PI);let p=0;const a=[],l=new f,b=new f,m=[],d=[],w=[],h=[];for(let y=0;y<=s;y++){const g=[],x=y/s;let M=0;y===0&&c===0?M=.5/e:y===s&&r===Math.PI&&(M=-.5/e);for(let P=0;P<=e;P++){const V=P/e;l.x=-t*Math.cos(i+V*n)*Math.sin(c+x*o),l.y=t*Math.cos(c+x*o),l.z=t*Math.sin(i+V*n)*Math.sin(c+x*o),d.push(l.x,l.y,l.z),b.copy(l).normalize(),w.push(b.x,b.y,b.z),h.push(V+M,1-x),g.push(p++)}a.push(g)}for(let y=0;y<s;y++)for(let g=0;g<e;g++){const x=a[y][g+1],M=a[y][g],P=a[y+1][g],V=a[y+1][g+1];(y!==0||c>0)&&m.push(x,M,V),(y!==s-1||r<Math.PI)&&m.push(M,P,V)}this.setIndex(m),this.setAttribute("position",new F(d,3)),this.setAttribute("normal",new F(w,3)),this.setAttribute("uv",new F(h,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new Q(t.radius,t.widthSegments,t.heightSegments,t.phiStart,t.phiLength,t.thetaStart,t.thetaLength)}}class Mt extends mt{constructor(t,e,s){const i=new Q(e,4,2),n=new lt({wireframe:!0,fog:!1,toneMapped:!1});super(i,n),this.light=t,this.color=s,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}dt("PointLightHelper",Mt)}}});
|
|
2
|
+
//# sourceMappingURL=PointLightHelper-D3E6t-8i.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointLightHelper-BkdQaOKc.js","sources":["../../../../node_modules/three/src/math/Triangle.js","../../../../node_modules/three/src/materials/MeshBasicMaterial.js","../../../../node_modules/three/src/objects/Mesh.js","../../../../node_modules/three/src/geometries/SphereGeometry.js","../../../../node_modules/three/src/helpers/PointLightHelper.js"],"sourcesContent":["import { Vector3 } from './Vector3.js';\nimport { Vector4 } from './Vector4.js';\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nconst _v40 = /*@__PURE__*/ new Vector4();\nconst _v41 = /*@__PURE__*/ new Vector4();\nconst _v42 = /*@__PURE__*/ new Vector4();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0.subVectors( a, b );\n\t\ttarget.cross( _v0 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\ttarget.set( 0, 0, 0 );\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\t// if the triangle is degenerate then we can't contain a point\n\t\tif ( this.getBarycoord( point, a, b, c, _v3 ) === null ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getInterpolation( point, p1, p2, p3, v1, v2, v3, target ) {\n\n\t\tif ( this.getBarycoord( point, p1, p2, p3, _v3 ) === null ) {\n\n\t\t\ttarget.x = 0;\n\t\t\ttarget.y = 0;\n\t\t\tif ( 'z' in target ) target.z = 0;\n\t\t\tif ( 'w' in target ) target.w = 0;\n\t\t\treturn null;\n\n\t\t}\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( v1, _v3.x );\n\t\ttarget.addScaledVector( v2, _v3.y );\n\t\ttarget.addScaledVector( v3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic getInterpolatedAttribute( attr, i1, i2, i3, barycoord, target ) {\n\n\t\t_v40.setScalar( 0 );\n\t\t_v41.setScalar( 0 );\n\t\t_v42.setScalar( 0 );\n\n\t\t_v40.fromBufferAttribute( attr, i1 );\n\t\t_v41.fromBufferAttribute( attr, i2 );\n\t\t_v42.fromBufferAttribute( attr, i3 );\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( _v40, barycoord.x );\n\t\ttarget.addScaledVector( _v41, barycoord.y );\n\t\ttarget.addScaledVector( _v42, barycoord.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0.subVectors( this.c, this.b );\n\t\t_v1.subVectors( this.a, this.b );\n\n\t\treturn _v0.cross( _v1 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetInterpolation( point, v1, v2, v3, target ) {\n\n\t\treturn Triangle.getInterpolation( point, this.a, this.b, this.c, v1, v2, v3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nexport { Triangle };\n","import { Material } from './Material.js';\nimport { MultiplyOperation } from '../constants.js';\nimport { Color } from '../math/Color.js';\nimport { Euler } from '../math/Euler.js';\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.envMapRotation = new Euler();\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.envMapRotation.copy( source.envMapRotation );\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { MeshBasicMaterial };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Triangle } from '../math/Triangle.js';\nimport { BackSide, FrontSide } from '../constants.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _sphereHitAt = /*@__PURE__*/ new Vector3();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _morphA = /*@__PURE__*/ new Vector3();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tgetVertexPosition( index, target ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\n\t\ttarget.fromBufferAttribute( position, index );\n\n\t\tconst morphInfluences = this.morphTargetInfluences;\n\n\t\tif ( morphPosition && morphInfluences ) {\n\n\t\t\t_morphA.set( 0, 0, 0 );\n\n\t\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\t\tconst influence = morphInfluences[ i ];\n\t\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t\t_tempA.fromBufferAttribute( morphAttribute, index );\n\n\t\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA.sub( target ), influence );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\ttarget.add( _morphA );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// test with bounding sphere in world space\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\n\t\t// check distance from ray origin to bounding sphere\n\n\t\t_ray.copy( raycaster.ray ).recast( raycaster.near );\n\n\t\tif ( _sphere.containsPoint( _ray.origin ) === false ) {\n\n\t\t\tif ( _ray.intersectSphere( _sphere, _sphereHitAt ) === null ) return;\n\n\t\t\tif ( _ray.origin.distanceToSquared( _sphereHitAt ) > ( raycaster.far - raycaster.near ) ** 2 ) return;\n\n\t\t}\n\n\t\t// convert ray to local space of mesh\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\t// test with bounding box in local space\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\t// test for intersections with geometry\n\n\t\tthis._computeIntersections( raycaster, intersects, _ray );\n\n\t}\n\n\t_computeIntersections( raycaster, intersects, rayLocalSpace ) {\n\n\t\tlet intersection;\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv1 = geometry.attributes.uv1;\n\t\tconst normal = geometry.attributes.normal;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, ( material.side === FrontSide ), point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, normal, a, b, c ) {\n\n\tobject.getVertexPosition( a, _vA );\n\tobject.getVertexPosition( b, _vB );\n\tobject.getVertexPosition( c, _vC );\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tconst barycoord = new Vector3();\n\t\tTriangle.getBarycoord( _intersectionPoint, _vA, _vB, _vC, barycoord );\n\n\t\tif ( uv ) {\n\n\t\t\tintersection.uv = Triangle.getInterpolatedAttribute( uv, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv1 ) {\n\n\t\t\tintersection.uv1 = Triangle.getInterpolatedAttribute( uv1, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( normal ) {\n\n\t\t\tintersection.normal = Triangle.getInterpolatedAttribute( normal, a, b, c, barycoord, new Vector3() );\n\n\t\t\tif ( intersection.normal.dot( ray.direction ) > 0 ) {\n\n\t\t\t\tintersection.normal.multiplyScalar( - 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA, _vB, _vC, face.normal );\n\n\t\tintersection.face = face;\n\t\tintersection.barycoord = barycoord;\n\n\t}\n\n\treturn intersection;\n\n}\n\nexport { Mesh };\n","import { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { Vector3 } from '../math/Vector3.js';\n\nclass SphereGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SphereGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\twidthSegments = Math.max( 3, Math.floor( widthSegments ) );\n\t\theightSegments = Math.max( 2, Math.floor( heightSegments ) );\n\n\t\tconst thetaEnd = Math.min( thetaStart + thetaLength, Math.PI );\n\n\t\tlet index = 0;\n\t\tconst grid = [];\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let iy = 0; iy <= heightSegments; iy ++ ) {\n\n\t\t\tconst verticesRow = [];\n\n\t\t\tconst v = iy / heightSegments;\n\n\t\t\t// special case for the poles\n\n\t\t\tlet uOffset = 0;\n\n\t\t\tif ( iy === 0 && thetaStart === 0 ) {\n\n\t\t\t\tuOffset = 0.5 / widthSegments;\n\n\t\t\t} else if ( iy === heightSegments && thetaEnd === Math.PI ) {\n\n\t\t\t\tuOffset = - 0.5 / widthSegments;\n\n\t\t\t}\n\n\t\t\tfor ( let ix = 0; ix <= widthSegments; ix ++ ) {\n\n\t\t\t\tconst u = ix / widthSegments;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\t\t\t\tvertex.y = radius * Math.cos( thetaStart + v * thetaLength );\n\t\t\t\tvertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.copy( vertex ).normalize();\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( u + uOffset, 1 - v );\n\n\t\t\t\tverticesRow.push( index ++ );\n\n\t\t\t}\n\n\t\t\tgrid.push( verticesRow );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let iy = 0; iy < heightSegments; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < widthSegments; ix ++ ) {\n\n\t\t\t\tconst a = grid[ iy ][ ix + 1 ];\n\t\t\t\tconst b = grid[ iy ][ ix ];\n\t\t\t\tconst c = grid[ iy + 1 ][ ix ];\n\t\t\t\tconst d = grid[ iy + 1 ][ ix + 1 ];\n\n\t\t\t\tif ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d );\n\t\t\t\tif ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.parameters = Object.assign( {}, source.parameters );\n\n\t\treturn this;\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nexport { SphereGeometry };\n","import { Mesh } from '../objects/Mesh.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { SphereGeometry } from '../geometries/SphereGeometry.js';\n\nclass PointLightHelper extends Mesh {\n\n\tconstructor( light, sphereSize, color ) {\n\n\t\tconst geometry = new SphereGeometry( sphereSize, 4, 2 );\n\t\tconst material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.light = light;\n\n\t\tthis.color = color;\n\n\t\tthis.type = 'PointLightHelper';\n\n\t\tthis.matrix = this.light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\n\t\t/*\n\t// TODO: delete this comment?\n\tconst distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );\n\tconst distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );\n\n\tthis.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );\n\tthis.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );\n\n\tconst d = light.distance;\n\n\tif ( d === 0.0 ) {\n\n\t\tthis.lightDistance.visible = false;\n\n\t} else {\n\n\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t}\n\n\tthis.add( this.lightDistance );\n\t*/\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\t/*\n\t\tconst d = this.light.distance;\n\n\t\tif ( d === 0.0 ) {\n\n\t\t\tthis.lightDistance.visible = false;\n\n\t\t} else {\n\n\t\t\tthis.lightDistance.visible = true;\n\t\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t\t}\n\t\t*/\n\n\t}\n\n}\n\n\nexport { PointLightHelper };\n"],"names":["_v0","Vector3","_v1","_v2","_v3","_vab","_vac","_vbc","_vap","_vbp","_vcp","_v40","Vector4","_v41","_v42","Triangle","a","b","c","target","targetLengthSq","point","dot00","dot01","dot02","dot11","dot12","denom","invDenom","u","v","p1","p2","p3","v1","v2","v3","attr","i1","i2","i3","barycoord","direction","points","i0","attribute","triangle","box","p","w","d1","d2","d3","d4","vc","d5","d6","vb","va","MeshBasicMaterial","Material","parameters","Color","Euler","MultiplyOperation","source","_inverseMatrix","Matrix4","_ray","Ray","_sphere","Sphere","_sphereHitAt","_vA","_vB","_vC","_tempA","_morphA","_intersectionPoint","_intersectionPointWorld","Mesh","Object3D","geometry","BufferGeometry","material","recursive","morphAttributes","keys","morphAttribute","m","ml","name","index","position","morphPosition","morphTargetsRelative","morphInfluences","i","il","influence","raycaster","intersects","matrixWorld","rayLocalSpace","intersection","uv","uv1","normal","groups","drawRange","group","groupMaterial","start","end","j","jl","checkGeometryIntersection","checkIntersection","object","ray","pA","pB","pC","intersect","BackSide","FrontSide","distance","Vector2","face","SphereGeometry","radius","widthSegments","heightSegments","phiStart","phiLength","thetaStart","thetaLength","thetaEnd","grid","vertex","indices","vertices","normals","uvs","iy","verticesRow","uOffset","ix","d","Float32BufferAttribute","data","PointLightHelper","light","sphereSize","color","exports"],"mappings":"mVAGA,MAAMA,EAAoB,IAAIC,EACxBC,EAAoB,IAAID,EACxBE,EAAoB,IAAIF,EACxBG,EAAoB,IAAIH,EAExBI,EAAqB,IAAIJ,EACzBK,EAAqB,IAAIL,EACzBM,GAAqB,IAAIN,EACzBO,EAAqB,IAAIP,EACzBQ,EAAqB,IAAIR,EACzBS,EAAqB,IAAIT,EAEzBU,EAAqB,IAAIC,EACzBC,EAAqB,IAAID,EACzBE,EAAqB,IAAIF,EAE/B,MAAMG,CAAS,CAEd,YAAaC,EAAI,IAAIf,EAAWgB,EAAI,IAAIhB,EAAWiB,EAAI,IAAIjB,EAAY,CAEtE,KAAK,EAAIe,EACT,KAAK,EAAIC,EACT,KAAK,EAAIC,CAEV,CAEA,OAAO,UAAWF,EAAGC,EAAGC,EAAGC,EAAS,CAEnCA,EAAO,WAAYD,EAAGD,CAAC,EACvBjB,EAAI,WAAYgB,EAAGC,CAAC,EACpBE,EAAO,MAAOnB,CAAG,EAEjB,MAAMoB,EAAiBD,EAAO,SAAQ,EACtC,OAAKC,EAAiB,EAEdD,EAAO,eAAgB,EAAI,KAAK,KAAMC,EAAgB,EAIvDD,EAAO,IAAK,EAAG,EAAG,CAAC,CAE3B,CAIA,OAAO,aAAcE,EAAOL,EAAGC,EAAGC,EAAGC,EAAS,CAE7CnB,EAAI,WAAYkB,EAAGF,CAAC,EACpBd,EAAI,WAAYe,EAAGD,CAAC,EACpBb,EAAI,WAAYkB,EAAOL,CAAC,EAExB,MAAMM,EAAQtB,EAAI,IAAKA,CAAG,EACpBuB,EAAQvB,EAAI,IAAKE,CAAG,EACpBsB,EAAQxB,EAAI,IAAKG,CAAG,EACpBsB,EAAQvB,EAAI,IAAKA,CAAG,EACpBwB,EAAQxB,EAAI,IAAKC,CAAG,EAEpBwB,EAAUL,EAAQG,EAAQF,EAAQA,EAGxC,GAAKI,IAAU,EAEd,OAAAR,EAAO,IAAK,EAAG,EAAG,CAAC,EACZ,KAIR,MAAMS,EAAW,EAAID,EACfE,GAAMJ,EAAQD,EAAQD,EAAQG,GAAUE,EACxCE,GAAMR,EAAQI,EAAQH,EAAQC,GAAUI,EAG9C,OAAOT,EAAO,IAAK,EAAIU,EAAIC,EAAGA,EAAGD,CAAC,CAEnC,CAEA,OAAO,cAAeR,EAAOL,EAAGC,EAAGC,EAAI,CAGtC,OAAK,KAAK,aAAcG,EAAOL,EAAGC,EAAGC,EAAGd,CAAG,IAAO,KAE1C,GAICA,EAAI,GAAK,GAASA,EAAI,GAAK,GAAWA,EAAI,EAAIA,EAAI,GAAO,CAEnE,CAEA,OAAO,iBAAkBiB,EAAOU,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIjB,EAAS,CAEhE,OAAK,KAAK,aAAcE,EAAOU,EAAIC,EAAIC,EAAI7B,CAAG,IAAO,MAEpDe,EAAO,EAAI,EACXA,EAAO,EAAI,EACN,MAAOA,IAASA,EAAO,EAAI,GAC3B,MAAOA,IAASA,EAAO,EAAI,GACzB,OAIRA,EAAO,UAAW,CAAC,EACnBA,EAAO,gBAAiBe,EAAI9B,EAAI,CAAC,EACjCe,EAAO,gBAAiBgB,EAAI/B,EAAI,CAAC,EACjCe,EAAO,gBAAiBiB,EAAIhC,EAAI,CAAC,EAE1Be,EAER,CAEA,OAAO,yBAA0BkB,EAAMC,EAAIC,EAAIC,EAAIC,EAAWtB,EAAS,CAEtE,OAAAR,EAAK,UAAW,CAAC,EACjBE,EAAK,UAAW,CAAC,EACjBC,EAAK,UAAW,CAAC,EAEjBH,EAAK,oBAAqB0B,EAAMC,CAAE,EAClCzB,EAAK,oBAAqBwB,EAAME,CAAE,EAClCzB,EAAK,oBAAqBuB,EAAMG,CAAE,EAElCrB,EAAO,UAAW,CAAC,EACnBA,EAAO,gBAAiBR,EAAM8B,EAAU,CAAC,EACzCtB,EAAO,gBAAiBN,EAAM4B,EAAU,CAAC,EACzCtB,EAAO,gBAAiBL,EAAM2B,EAAU,CAAC,EAElCtB,CAER,CAEA,OAAO,cAAeH,EAAGC,EAAGC,EAAGwB,EAAY,CAE1C,OAAA1C,EAAI,WAAYkB,EAAGD,CAAC,EACpBf,EAAI,WAAYc,EAAGC,CAAC,EAGXjB,EAAI,MAAOE,CAAG,EAAG,IAAKwC,CAAS,EAAK,CAE9C,CAEA,IAAK1B,EAAGC,EAAGC,EAAI,CAEd,YAAK,EAAE,KAAMF,CAAC,EACd,KAAK,EAAE,KAAMC,CAAC,EACd,KAAK,EAAE,KAAMC,CAAC,EAEP,IAER,CAEA,wBAAyByB,EAAQC,EAAIN,EAAIC,EAAK,CAE7C,YAAK,EAAE,KAAMI,EAAQC,CAAE,CAAE,EACzB,KAAK,EAAE,KAAMD,EAAQL,CAAE,CAAE,EACzB,KAAK,EAAE,KAAMK,EAAQJ,CAAE,CAAE,EAElB,IAER,CAEA,2BAA4BM,EAAWD,EAAIN,EAAIC,EAAK,CAEnD,YAAK,EAAE,oBAAqBM,EAAWD,CAAE,EACzC,KAAK,EAAE,oBAAqBC,EAAWP,CAAE,EACzC,KAAK,EAAE,oBAAqBO,EAAWN,CAAE,EAElC,IAER,CAEA,OAAQ,CAEP,OAAO,IAAI,KAAK,cAAc,KAAM,IAAI,CAEzC,CAEA,KAAMO,EAAW,CAEhB,YAAK,EAAE,KAAMA,EAAS,CAAC,EACvB,KAAK,EAAE,KAAMA,EAAS,CAAC,EACvB,KAAK,EAAE,KAAMA,EAAS,CAAC,EAEhB,IAER,CAEA,SAAU,CAET,OAAA9C,EAAI,WAAY,KAAK,EAAG,KAAK,CAAC,EAC9BE,EAAI,WAAY,KAAK,EAAG,KAAK,CAAC,EAEvBF,EAAI,MAAOE,CAAG,EAAG,OAAM,EAAK,EAEpC,CAEA,YAAaiB,EAAS,CAErB,OAAOA,EAAO,WAAY,KAAK,EAAG,KAAK,CAAC,EAAG,IAAK,KAAK,CAAC,EAAG,eAAgB,EAAI,CAAC,CAE/E,CAEA,UAAWA,EAAS,CAEnB,OAAOJ,EAAS,UAAW,KAAK,EAAG,KAAK,EAAG,KAAK,EAAGI,CAAM,CAE1D,CAEA,SAAUA,EAAS,CAElB,OAAOA,EAAO,sBAAuB,KAAK,EAAG,KAAK,EAAG,KAAK,CAAC,CAE5D,CAEA,aAAcE,EAAOF,EAAS,CAE7B,OAAOJ,EAAS,aAAcM,EAAO,KAAK,EAAG,KAAK,EAAG,KAAK,EAAGF,CAAM,CAEpE,CAEA,iBAAkBE,EAAOa,EAAIC,EAAIC,EAAIjB,EAAS,CAE7C,OAAOJ,EAAS,iBAAkBM,EAAO,KAAK,EAAG,KAAK,EAAG,KAAK,EAAGa,EAAIC,EAAIC,EAAIjB,CAAM,CAEpF,CAEA,cAAeE,EAAQ,CAEtB,OAAON,EAAS,cAAeM,EAAO,KAAK,EAAG,KAAK,EAAG,KAAK,CAAC,CAE7D,CAEA,cAAeqB,EAAY,CAE1B,OAAO3B,EAAS,cAAe,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG2B,CAAS,CAEjE,CAEA,cAAeK,EAAM,CAEpB,OAAOA,EAAI,mBAAoB,IAAI,CAEpC,CAEA,oBAAqBC,EAAG7B,EAAS,CAEhC,MAAMH,EAAI,KAAK,EAAGC,EAAI,KAAK,EAAGC,EAAI,KAAK,EACvC,IAAIY,EAAGmB,EAQP5C,EAAK,WAAYY,EAAGD,CAAC,EACrBV,EAAK,WAAYY,EAAGF,CAAC,EACrBR,EAAK,WAAYwC,EAAGhC,CAAC,EACrB,MAAMkC,EAAK7C,EAAK,IAAKG,CAAI,EACnB2C,EAAK7C,EAAK,IAAKE,CAAI,EACzB,GAAK0C,GAAM,GAAKC,GAAM,EAGrB,OAAOhC,EAAO,KAAMH,CAAC,EAItBP,EAAK,WAAYuC,EAAG/B,CAAC,EACrB,MAAMmC,EAAK/C,EAAK,IAAKI,CAAI,EACnB4C,EAAK/C,EAAK,IAAKG,CAAI,EACzB,GAAK2C,GAAM,GAAKC,GAAMD,EAGrB,OAAOjC,EAAO,KAAMF,CAAC,EAItB,MAAMqC,EAAKJ,EAAKG,EAAKD,EAAKD,EAC1B,GAAKG,GAAM,GAAKJ,GAAM,GAAKE,GAAM,EAEhC,OAAAtB,EAAIoB,GAAOA,EAAKE,GAETjC,EAAO,KAAMH,CAAC,EAAG,gBAAiBX,EAAMyB,CAAC,EAIjDpB,EAAK,WAAYsC,EAAG9B,CAAC,EACrB,MAAMqC,EAAKlD,EAAK,IAAKK,CAAI,EACnB8C,EAAKlD,EAAK,IAAKI,CAAI,EACzB,GAAK8C,GAAM,GAAKD,GAAMC,EAGrB,OAAOrC,EAAO,KAAMD,CAAC,EAItB,MAAMuC,EAAKF,EAAKJ,EAAKD,EAAKM,EAC1B,GAAKC,GAAM,GAAKN,GAAM,GAAKK,GAAM,EAEhC,OAAAP,EAAIE,GAAOA,EAAKK,GAETrC,EAAO,KAAMH,CAAC,EAAG,gBAAiBV,EAAM2C,CAAC,EAIjD,MAAMS,EAAKN,EAAKI,EAAKD,EAAKF,EAC1B,GAAKK,GAAM,GAAOL,EAAKD,GAAQ,GAAOG,EAAKC,GAAQ,EAElD,OAAAjD,GAAK,WAAYW,EAAGD,CAAC,EACrBgC,GAAMI,EAAKD,IAAWC,EAAKD,GAASG,EAAKC,IAElCrC,EAAO,KAAMF,CAAC,EAAG,gBAAiBV,GAAM0C,GAKhD,MAAMtB,EAAQ,GAAM+B,EAAKD,EAAKH,GAE9B,OAAAxB,EAAI2B,EAAK9B,EACTsB,EAAIK,EAAK3B,EAEFR,EAAO,KAAMH,CAAC,EAAG,gBAAiBX,EAAMyB,GAAI,gBAAiBxB,EAAM2C,CAAC,CAE5E,CAEA,OAAQH,EAAW,CAElB,OAAOA,EAAS,EAAE,OAAQ,KAAK,CAAC,GAAMA,EAAS,EAAE,OAAQ,KAAK,CAAC,GAAMA,EAAS,EAAE,OAAQ,KAAK,CAAC,CAE/F,CAED,CCvUA,MAAMa,WAA0BC,EAAS,CAExC,YAAaC,EAAa,CAEzB,MAAK,EAEL,KAAK,oBAAsB,GAE3B,KAAK,KAAO,oBAEZ,KAAK,MAAQ,IAAIC,GAAO,QAAQ,EAEhC,KAAK,IAAM,KAEX,KAAK,SAAW,KAChB,KAAK,kBAAoB,EAEzB,KAAK,MAAQ,KACb,KAAK,eAAiB,EAEtB,KAAK,YAAc,KAEnB,KAAK,SAAW,KAEhB,KAAK,OAAS,KACd,KAAK,eAAiB,IAAIC,EAC1B,KAAK,QAAUC,GACf,KAAK,aAAe,EACpB,KAAK,gBAAkB,IAEvB,KAAK,UAAY,GACjB,KAAK,mBAAqB,EAC1B,KAAK,iBAAmB,QACxB,KAAK,kBAAoB,QAEzB,KAAK,IAAM,GAEX,KAAK,UAAWH,CAAU,CAE3B,CAEA,KAAMI,EAAS,CAEd,aAAM,KAAMA,CAAM,EAElB,KAAK,MAAM,KAAMA,EAAO,KAAK,EAE7B,KAAK,IAAMA,EAAO,IAElB,KAAK,SAAWA,EAAO,SACvB,KAAK,kBAAoBA,EAAO,kBAEhC,KAAK,MAAQA,EAAO,MACpB,KAAK,eAAiBA,EAAO,eAE7B,KAAK,YAAcA,EAAO,YAE1B,KAAK,SAAWA,EAAO,SAEvB,KAAK,OAASA,EAAO,OACrB,KAAK,eAAe,KAAMA,EAAO,cAAc,EAC/C,KAAK,QAAUA,EAAO,QACtB,KAAK,aAAeA,EAAO,aAC3B,KAAK,gBAAkBA,EAAO,gBAE9B,KAAK,UAAYA,EAAO,UACxB,KAAK,mBAAqBA,EAAO,mBACjC,KAAK,iBAAmBA,EAAO,iBAC/B,KAAK,kBAAoBA,EAAO,kBAEhC,KAAK,IAAMA,EAAO,IAEX,IAER,CAED,CCtEA,MAAMC,GAA+B,IAAIC,GACnCC,EAAqB,IAAIC,GACzBC,EAAwB,IAAIC,GAC5BC,GAA6B,IAAIvE,EAEjCwE,EAAoB,IAAIxE,EACxByE,EAAoB,IAAIzE,EACxB0E,EAAoB,IAAI1E,EAExB2E,EAAuB,IAAI3E,EAC3B4E,EAAwB,IAAI5E,EAE5B6E,GAAmC,IAAI7E,EACvC8E,EAAwC,IAAI9E,EAElD,MAAM+E,WAAaC,EAAS,CAE3B,YAAaC,EAAW,IAAIC,EAAkBC,EAAW,IAAIzB,GAAsB,CAElF,MAAK,EAEL,KAAK,OAAS,GAEd,KAAK,KAAO,OAEZ,KAAK,SAAWuB,EAChB,KAAK,SAAWE,EAEhB,KAAK,mBAAkB,CAExB,CAEA,KAAMnB,EAAQoB,EAAY,CAEzB,aAAM,KAAMpB,EAAQoB,CAAS,EAExBpB,EAAO,wBAA0B,SAErC,KAAK,sBAAwBA,EAAO,sBAAsB,MAAK,GAI3DA,EAAO,wBAA0B,SAErC,KAAK,sBAAwB,OAAO,OAAQ,CAAA,EAAIA,EAAO,qBAAqB,GAI7E,KAAK,SAAW,MAAM,QAASA,EAAO,UAAaA,EAAO,SAAS,MAAK,EAAKA,EAAO,SACpF,KAAK,SAAWA,EAAO,SAEhB,IAER,CAEA,oBAAqB,CAIpB,MAAMqB,EAFW,KAAK,SAEW,gBAC3BC,EAAO,OAAO,KAAMD,CAAe,EAEzC,GAAKC,EAAK,OAAS,EAAI,CAEtB,MAAMC,EAAiBF,EAAiBC,EAAM,CAAC,CAAE,EAEjD,GAAKC,IAAmB,OAAY,CAEnC,KAAK,sBAAwB,CAAA,EAC7B,KAAK,sBAAwB,CAAA,EAE7B,QAAUC,EAAI,EAAGC,EAAKF,EAAe,OAAQC,EAAIC,EAAID,IAAO,CAE3D,MAAME,EAAOH,EAAgBC,CAAC,EAAG,MAAQ,OAAQA,CAAC,EAElD,KAAK,sBAAsB,KAAM,CAAC,EAClC,KAAK,sBAAuBE,CAAI,EAAKF,CAEtC,CAED,CAED,CAED,CAEA,kBAAmBG,EAAOzE,EAAS,CAElC,MAAM+D,EAAW,KAAK,SAChBW,EAAWX,EAAS,WAAW,SAC/BY,EAAgBZ,EAAS,gBAAgB,SACzCa,EAAuBb,EAAS,qBAEtC/D,EAAO,oBAAqB0E,EAAUD,CAAK,EAE3C,MAAMI,EAAkB,KAAK,sBAE7B,GAAKF,GAAiBE,EAAkB,CAEvCnB,EAAQ,IAAK,EAAG,EAAG,CAAC,EAEpB,QAAUoB,EAAI,EAAGC,EAAKJ,EAAc,OAAQG,EAAIC,EAAID,IAAO,CAE1D,MAAME,EAAYH,EAAiBC,CAAC,EAC9BT,EAAiBM,EAAeG,CAAC,EAElCE,IAAc,IAEnBvB,EAAO,oBAAqBY,EAAgBI,CAAK,EAE5CG,EAEJlB,EAAQ,gBAAiBD,EAAQuB,CAAS,EAI1CtB,EAAQ,gBAAiBD,EAAO,IAAKzD,CAAM,EAAIgF,CAAS,EAI1D,CAEAhF,EAAO,IAAK0D,CAAO,CAEpB,CAEA,OAAO1D,CAER,CAEA,QAASiF,EAAWC,EAAa,CAEhC,MAAMnB,EAAW,KAAK,SAChBE,EAAW,KAAK,SAChBkB,EAAc,KAAK,YAEpBlB,IAAa,SAIbF,EAAS,iBAAmB,MAAOA,EAAS,sBAAqB,EAEtEZ,EAAQ,KAAMY,EAAS,cAAc,EACrCZ,EAAQ,aAAcgC,CAAW,EAIjClC,EAAK,KAAMgC,EAAU,GAAG,EAAG,OAAQA,EAAU,IAAI,EAE5C,EAAA9B,EAAQ,cAAeF,EAAK,MAAM,IAAO,KAExCA,EAAK,gBAAiBE,EAASE,EAAY,IAAO,MAElDJ,EAAK,OAAO,kBAAmBI,EAAY,GAAO4B,EAAU,IAAMA,EAAU,OAAU,MAM5FlC,GAAe,KAAMoC,CAAW,EAAG,OAAM,EACzClC,EAAK,KAAMgC,EAAU,GAAG,EAAG,aAAclC,EAAc,EAIlD,EAAAgB,EAAS,cAAgB,MAExBd,EAAK,cAAec,EAAS,WAAW,IAAO,KAMrD,KAAK,sBAAuBkB,EAAWC,EAAYjC,CAAI,GAExD,CAEA,sBAAuBgC,EAAWC,EAAYE,EAAgB,CAE7D,IAAIC,EAEJ,MAAMtB,EAAW,KAAK,SAChBE,EAAW,KAAK,SAEhBQ,EAAQV,EAAS,MACjBW,EAAWX,EAAS,WAAW,SAC/BuB,EAAKvB,EAAS,WAAW,GACzBwB,EAAMxB,EAAS,WAAW,IAC1ByB,EAASzB,EAAS,WAAW,OAC7B0B,EAAS1B,EAAS,OAClB2B,EAAY3B,EAAS,UAE3B,GAAKU,IAAU,KAId,GAAK,MAAM,QAASR,GAEnB,QAAUa,EAAI,EAAGC,EAAKU,EAAO,OAAQX,EAAIC,EAAID,IAAO,CAEnD,MAAMa,EAAQF,EAAQX,CAAC,EACjBc,EAAgB3B,EAAU0B,EAAM,aAAa,EAE7CE,EAAQ,KAAK,IAAKF,EAAM,MAAOD,EAAU,KAAK,EAC9CI,EAAM,KAAK,IAAKrB,EAAM,MAAO,KAAK,IAAOkB,EAAM,MAAQA,EAAM,MAAWD,EAAU,MAAQA,EAAU,MAAS,EAEnH,QAAUK,EAAIF,EAAOG,EAAKF,EAAKC,EAAIC,EAAID,GAAK,EAAI,CAE/C,MAAMlG,EAAI4E,EAAM,KAAMsB,CAAC,EACjBjG,EAAI2E,EAAM,KAAMsB,EAAI,CAAC,EACrBhG,EAAI0E,EAAM,KAAMsB,EAAI,CAAC,EAE3BV,EAAeY,EAA2B,KAAML,EAAeX,EAAWG,EAAeE,EAAIC,EAAKC,EAAQ3F,EAAGC,EAAGC,CAAC,EAE5GsF,IAEJA,EAAa,UAAY,KAAK,MAAOU,EAAI,CAAC,EAC1CV,EAAa,KAAK,cAAgBM,EAAM,cACxCT,EAAW,KAAMG,CAAY,EAI/B,CAED,KAEM,CAEN,MAAMQ,EAAQ,KAAK,IAAK,EAAGH,EAAU,KAAK,EACpCI,EAAM,KAAK,IAAKrB,EAAM,MAASiB,EAAU,MAAQA,EAAU,KAAK,EAEtE,QAAUZ,EAAIe,EAAOd,EAAKe,EAAKhB,EAAIC,EAAID,GAAK,EAAI,CAE/C,MAAMjF,EAAI4E,EAAM,KAAMK,CAAC,EACjBhF,EAAI2E,EAAM,KAAMK,EAAI,CAAC,EACrB/E,EAAI0E,EAAM,KAAMK,EAAI,CAAC,EAE3BO,EAAeY,EAA2B,KAAMhC,EAAUgB,EAAWG,EAAeE,EAAIC,EAAKC,EAAQ3F,EAAGC,EAAGC,CAAC,EAEvGsF,IAEJA,EAAa,UAAY,KAAK,MAAOP,EAAI,CAAC,EAC1CI,EAAW,KAAMG,CAAY,EAI/B,CAED,SAEWX,IAAa,OAIxB,GAAK,MAAM,QAAST,GAEnB,QAAUa,EAAI,EAAGC,EAAKU,EAAO,OAAQX,EAAIC,EAAID,IAAO,CAEnD,MAAMa,EAAQF,EAAQX,CAAC,EACjBc,EAAgB3B,EAAU0B,EAAM,aAAa,EAE7CE,EAAQ,KAAK,IAAKF,EAAM,MAAOD,EAAU,KAAK,EAC9CI,EAAM,KAAK,IAAKpB,EAAS,MAAO,KAAK,IAAOiB,EAAM,MAAQA,EAAM,MAAWD,EAAU,MAAQA,EAAU,MAAS,EAEtH,QAAUK,EAAIF,EAAOG,EAAKF,EAAKC,EAAIC,EAAID,GAAK,EAAI,CAE/C,MAAMlG,EAAIkG,EACJjG,EAAIiG,EAAI,EACRhG,EAAIgG,EAAI,EAEdV,EAAeY,EAA2B,KAAML,EAAeX,EAAWG,EAAeE,EAAIC,EAAKC,EAAQ3F,EAAGC,EAAGC,CAAC,EAE5GsF,IAEJA,EAAa,UAAY,KAAK,MAAOU,EAAI,CAAC,EAC1CV,EAAa,KAAK,cAAgBM,EAAM,cACxCT,EAAW,KAAMG,CAAY,EAI/B,CAED,KAEM,CAEN,MAAMQ,EAAQ,KAAK,IAAK,EAAGH,EAAU,KAAK,EACpCI,EAAM,KAAK,IAAKpB,EAAS,MAASgB,EAAU,MAAQA,EAAU,KAAK,EAEzE,QAAUZ,EAAIe,EAAOd,EAAKe,EAAKhB,EAAIC,EAAID,GAAK,EAAI,CAE/C,MAAMjF,EAAIiF,EACJhF,EAAIgF,EAAI,EACR/E,EAAI+E,EAAI,EAEdO,EAAeY,EAA2B,KAAMhC,EAAUgB,EAAWG,EAAeE,EAAIC,EAAKC,EAAQ3F,EAAGC,EAAGC,CAAC,EAEvGsF,IAEJA,EAAa,UAAY,KAAK,MAAOP,EAAI,CAAC,EAC1CI,EAAW,KAAMG,CAAY,EAI/B,CAED,CAIF,CAED,CAEA,SAASa,GAAmBC,EAAQlC,EAAUgB,EAAWmB,EAAKC,EAAIC,EAAIC,EAAIrG,EAAQ,CAEjF,IAAIsG,EAYJ,GAVKvC,EAAS,OAASwC,GAEtBD,EAAYJ,EAAI,kBAAmBG,EAAID,EAAID,EAAI,GAAMnG,CAAK,EAI1DsG,EAAYJ,EAAI,kBAAmBC,EAAIC,EAAIC,EAAMtC,EAAS,OAASyC,GAAaxG,CAAK,EAIjFsG,IAAc,KAAO,OAAO,KAEjC5C,EAAwB,KAAM1D,CAAK,EACnC0D,EAAwB,aAAcuC,EAAO,WAAW,EAExD,MAAMQ,EAAW1B,EAAU,IAAI,OAAO,WAAYrB,CAAuB,EAEzE,OAAK+C,EAAW1B,EAAU,MAAQ0B,EAAW1B,EAAU,IAAa,KAE7D,CACN,SAAU0B,EACV,MAAO/C,EAAwB,MAAK,EACpC,OAAQuC,CACV,CAEA,CAEA,SAASF,EAA2BE,EAAQlC,EAAUgB,EAAWmB,EAAKd,EAAIC,EAAKC,EAAQ3F,EAAGC,EAAGC,EAAI,CAEhGoG,EAAO,kBAAmBtG,EAAGyD,CAAG,EAChC6C,EAAO,kBAAmBrG,EAAGyD,CAAG,EAChC4C,EAAO,kBAAmBpG,EAAGyD,CAAG,EAEhC,MAAM6B,EAAea,GAAmBC,EAAQlC,EAAUgB,EAAWmB,EAAK9C,EAAKC,EAAKC,EAAKG,EAAkB,EAE3G,GAAK0B,EAAe,CAEnB,MAAM/D,EAAY,IAAIxC,EACtBc,EAAS,aAAc+D,GAAoBL,EAAKC,EAAKC,EAAKlC,CAAS,EAE9DgE,IAEJD,EAAa,GAAKzF,EAAS,yBAA0B0F,EAAIzF,EAAGC,EAAGC,EAAGuB,EAAW,IAAIsF,CAAS,GAItFrB,IAEJF,EAAa,IAAMzF,EAAS,yBAA0B2F,EAAK1F,EAAGC,EAAGC,EAAGuB,EAAW,IAAIsF,CAAS,GAIxFpB,IAEJH,EAAa,OAASzF,EAAS,yBAA0B4F,EAAQ3F,EAAGC,EAAGC,EAAGuB,EAAW,IAAIxC,CAAS,EAE7FuG,EAAa,OAAO,IAAKe,EAAI,SAAS,EAAK,GAE/Cf,EAAa,OAAO,eAAgB,EAAG,GAMzC,MAAMwB,EAAO,CACZ,EAAGhH,EACH,EAAGC,EACH,EAAGC,EACH,OAAQ,IAAIjB,EACZ,cAAe,CAClB,EAEEc,EAAS,UAAW0D,EAAKC,EAAKC,EAAKqD,EAAK,MAAM,EAE9CxB,EAAa,KAAOwB,EACpBxB,EAAa,UAAY/D,CAE1B,CAEA,OAAO+D,CAER,CCrZA,MAAMyB,UAAuB9C,CAAe,CAE3C,YAAa+C,EAAS,EAAGC,EAAgB,GAAIC,EAAiB,GAAIC,EAAW,EAAGC,EAAY,KAAK,GAAK,EAAGC,EAAa,EAAGC,EAAc,KAAK,GAAK,CAEhJ,MAAK,EAEL,KAAK,KAAO,iBAEZ,KAAK,WAAa,CACjB,OAAQN,EACR,cAAeC,EACf,eAAgBC,EAChB,SAAUC,EACV,UAAWC,EACX,WAAYC,EACZ,YAAaC,CAChB,EAEEL,EAAgB,KAAK,IAAK,EAAG,KAAK,MAAOA,EAAe,EACxDC,EAAiB,KAAK,IAAK,EAAG,KAAK,MAAOA,EAAgB,EAE1D,MAAMK,EAAW,KAAK,IAAKF,EAAaC,EAAa,KAAK,EAAE,EAE5D,IAAI5C,EAAQ,EACZ,MAAM8C,EAAO,CAAA,EAEPC,EAAS,IAAI1I,EACb0G,EAAS,IAAI1G,EAIb2I,EAAU,CAAA,EACVC,EAAW,CAAA,EACXC,EAAU,CAAA,EACVC,EAAM,CAAA,EAIZ,QAAUC,EAAK,EAAGA,GAAMZ,EAAgBY,IAAQ,CAE/C,MAAMC,EAAc,CAAA,EAEdnH,EAAIkH,EAAKZ,EAIf,IAAIc,EAAU,EAETF,IAAO,GAAKT,IAAe,EAE/BW,EAAU,GAAMf,EAELa,IAAOZ,GAAkBK,IAAa,KAAK,KAEtDS,EAAU,IAAQf,GAInB,QAAUgB,EAAK,EAAGA,GAAMhB,EAAegB,IAAQ,CAE9C,MAAMtH,EAAIsH,EAAKhB,EAIfQ,EAAO,EAAI,CAAET,EAAS,KAAK,IAAKG,EAAWxG,EAAIyG,CAAS,EAAK,KAAK,IAAKC,EAAazG,EAAI0G,CAAW,EACnGG,EAAO,EAAIT,EAAS,KAAK,IAAKK,EAAazG,EAAI0G,CAAW,EAC1DG,EAAO,EAAIT,EAAS,KAAK,IAAKG,EAAWxG,EAAIyG,CAAS,EAAK,KAAK,IAAKC,EAAazG,EAAI0G,CAAW,EAEjGK,EAAS,KAAMF,EAAO,EAAGA,EAAO,EAAGA,EAAO,CAAC,EAI3ChC,EAAO,KAAMgC,CAAM,EAAG,UAAS,EAC/BG,EAAQ,KAAMnC,EAAO,EAAGA,EAAO,EAAGA,EAAO,CAAC,EAI1CoC,EAAI,KAAMlH,EAAIqH,EAAS,EAAIpH,CAAC,EAE5BmH,EAAY,KAAMrD,GAAQ,CAE3B,CAEA8C,EAAK,KAAMO,CAAW,CAEvB,CAIA,QAAUD,EAAK,EAAGA,EAAKZ,EAAgBY,IAEtC,QAAUG,EAAK,EAAGA,EAAKhB,EAAegB,IAAQ,CAE7C,MAAMnI,EAAI0H,EAAMM,CAAE,EAAIG,EAAK,CAAC,EACtBlI,EAAIyH,EAAMM,CAAE,EAAIG,CAAE,EAClBjI,EAAIwH,EAAMM,EAAK,CAAC,EAAIG,CAAE,EACtBC,EAAIV,EAAMM,EAAK,CAAC,EAAIG,EAAK,CAAC,GAE3BH,IAAO,GAAKT,EAAa,IAAIK,EAAQ,KAAM5H,EAAGC,EAAGmI,CAAC,GAClDJ,IAAOZ,EAAiB,GAAKK,EAAW,KAAK,KAAKG,EAAQ,KAAM3H,EAAGC,EAAGkI,CAAC,CAE7E,CAMD,KAAK,SAAUR,CAAO,EACtB,KAAK,aAAc,WAAY,IAAIS,EAAwBR,EAAU,EAAG,EACxE,KAAK,aAAc,SAAU,IAAIQ,EAAwBP,EAAS,EAAG,EACrE,KAAK,aAAc,KAAM,IAAIO,EAAwBN,EAAK,EAAG,CAE9D,CAEA,KAAM9E,EAAS,CAEd,aAAM,KAAMA,CAAM,EAElB,KAAK,WAAa,OAAO,OAAQ,CAAA,EAAIA,EAAO,UAAU,EAE/C,IAER,CAEA,OAAO,SAAUqF,EAAO,CAEvB,OAAO,IAAIrB,EAAgBqB,EAAK,OAAQA,EAAK,cAAeA,EAAK,eAAgBA,EAAK,SAAUA,EAAK,UAAWA,EAAK,WAAYA,EAAK,WAAW,CAElJ,CAED,CClIA,MAAMC,WAAyBvE,EAAK,CAEnC,YAAawE,EAAOC,EAAYC,EAAQ,CAEvC,MAAMxE,EAAW,IAAI+C,EAAgBwB,EAAY,EAAG,CAAC,EAC/CrE,EAAW,IAAIzB,GAAmB,CAAE,UAAW,GAAM,IAAK,GAAO,WAAY,GAAO,EAE1F,MAAOuB,EAAUE,CAAQ,EAEzB,KAAK,MAAQoE,EAEb,KAAK,MAAQE,EAEb,KAAK,KAAO,mBAEZ,KAAK,OAAS,KAAK,MAAM,YACzB,KAAK,iBAAmB,GAExB,KAAK,OAAM,CA0BZ,CAEA,SAAU,CAET,KAAK,SAAS,QAAO,EACrB,KAAK,SAAS,QAAO,CAEtB,CAEA,QAAS,CAER,KAAK,MAAM,kBAAmB,GAAM,EAAK,EAEpC,KAAK,QAAU,OAEnB,KAAK,SAAS,MAAM,IAAK,KAAK,KAAK,EAInC,KAAK,SAAS,MAAM,KAAM,KAAK,MAAM,KAAK,CAmB5C,CAED,CAAAC,GAAA,mBAAAJ,EAAA","x_google_ignoreList":[0,1,2,3,4]}
|
|
1
|
+
{"version":3,"file":"PointLightHelper-D3E6t-8i.js","sources":["../../../../node_modules/three/src/math/Triangle.js","../../../../node_modules/three/src/materials/MeshBasicMaterial.js","../../../../node_modules/three/src/objects/Mesh.js","../../../../node_modules/three/src/geometries/SphereGeometry.js","../../../../node_modules/three/src/helpers/PointLightHelper.js"],"sourcesContent":["import { Vector3 } from './Vector3.js';\nimport { Vector4 } from './Vector4.js';\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\nconst _v3 = /*@__PURE__*/ new Vector3();\n\nconst _vab = /*@__PURE__*/ new Vector3();\nconst _vac = /*@__PURE__*/ new Vector3();\nconst _vbc = /*@__PURE__*/ new Vector3();\nconst _vap = /*@__PURE__*/ new Vector3();\nconst _vbp = /*@__PURE__*/ new Vector3();\nconst _vcp = /*@__PURE__*/ new Vector3();\n\nconst _v40 = /*@__PURE__*/ new Vector4();\nconst _v41 = /*@__PURE__*/ new Vector4();\nconst _v42 = /*@__PURE__*/ new Vector4();\n\nclass Triangle {\n\n\tconstructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) {\n\n\t\tthis.a = a;\n\t\tthis.b = b;\n\t\tthis.c = c;\n\n\t}\n\n\tstatic getNormal( a, b, c, target ) {\n\n\t\ttarget.subVectors( c, b );\n\t\t_v0.subVectors( a, b );\n\t\ttarget.cross( _v0 );\n\n\t\tconst targetLengthSq = target.lengthSq();\n\t\tif ( targetLengthSq > 0 ) {\n\n\t\t\treturn target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) );\n\n\t\t}\n\n\t\treturn target.set( 0, 0, 0 );\n\n\t}\n\n\t// static/instance method to calculate barycentric coordinates\n\t// based on: http://www.blackpawn.com/texts/pointinpoly/default.html\n\tstatic getBarycoord( point, a, b, c, target ) {\n\n\t\t_v0.subVectors( c, a );\n\t\t_v1.subVectors( b, a );\n\t\t_v2.subVectors( point, a );\n\n\t\tconst dot00 = _v0.dot( _v0 );\n\t\tconst dot01 = _v0.dot( _v1 );\n\t\tconst dot02 = _v0.dot( _v2 );\n\t\tconst dot11 = _v1.dot( _v1 );\n\t\tconst dot12 = _v1.dot( _v2 );\n\n\t\tconst denom = ( dot00 * dot11 - dot01 * dot01 );\n\n\t\t// collinear or singular triangle\n\t\tif ( denom === 0 ) {\n\n\t\t\ttarget.set( 0, 0, 0 );\n\t\t\treturn null;\n\n\t\t}\n\n\t\tconst invDenom = 1 / denom;\n\t\tconst u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom;\n\t\tconst v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom;\n\n\t\t// barycentric coordinates must always sum to 1\n\t\treturn target.set( 1 - u - v, v, u );\n\n\t}\n\n\tstatic containsPoint( point, a, b, c ) {\n\n\t\t// if the triangle is degenerate then we can't contain a point\n\t\tif ( this.getBarycoord( point, a, b, c, _v3 ) === null ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\treturn ( _v3.x >= 0 ) && ( _v3.y >= 0 ) && ( ( _v3.x + _v3.y ) <= 1 );\n\n\t}\n\n\tstatic getInterpolation( point, p1, p2, p3, v1, v2, v3, target ) {\n\n\t\tif ( this.getBarycoord( point, p1, p2, p3, _v3 ) === null ) {\n\n\t\t\ttarget.x = 0;\n\t\t\ttarget.y = 0;\n\t\t\tif ( 'z' in target ) target.z = 0;\n\t\t\tif ( 'w' in target ) target.w = 0;\n\t\t\treturn null;\n\n\t\t}\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( v1, _v3.x );\n\t\ttarget.addScaledVector( v2, _v3.y );\n\t\ttarget.addScaledVector( v3, _v3.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic getInterpolatedAttribute( attr, i1, i2, i3, barycoord, target ) {\n\n\t\t_v40.setScalar( 0 );\n\t\t_v41.setScalar( 0 );\n\t\t_v42.setScalar( 0 );\n\n\t\t_v40.fromBufferAttribute( attr, i1 );\n\t\t_v41.fromBufferAttribute( attr, i2 );\n\t\t_v42.fromBufferAttribute( attr, i3 );\n\n\t\ttarget.setScalar( 0 );\n\t\ttarget.addScaledVector( _v40, barycoord.x );\n\t\ttarget.addScaledVector( _v41, barycoord.y );\n\t\ttarget.addScaledVector( _v42, barycoord.z );\n\n\t\treturn target;\n\n\t}\n\n\tstatic isFrontFacing( a, b, c, direction ) {\n\n\t\t_v0.subVectors( c, b );\n\t\t_v1.subVectors( a, b );\n\n\t\t// strictly front facing\n\t\treturn ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false;\n\n\t}\n\n\tset( a, b, c ) {\n\n\t\tthis.a.copy( a );\n\t\tthis.b.copy( b );\n\t\tthis.c.copy( c );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPointsAndIndices( points, i0, i1, i2 ) {\n\n\t\tthis.a.copy( points[ i0 ] );\n\t\tthis.b.copy( points[ i1 ] );\n\t\tthis.c.copy( points[ i2 ] );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAttributeAndIndices( attribute, i0, i1, i2 ) {\n\n\t\tthis.a.fromBufferAttribute( attribute, i0 );\n\t\tthis.b.fromBufferAttribute( attribute, i1 );\n\t\tthis.c.fromBufferAttribute( attribute, i2 );\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( triangle ) {\n\n\t\tthis.a.copy( triangle.a );\n\t\tthis.b.copy( triangle.b );\n\t\tthis.c.copy( triangle.c );\n\n\t\treturn this;\n\n\t}\n\n\tgetArea() {\n\n\t\t_v0.subVectors( this.c, this.b );\n\t\t_v1.subVectors( this.a, this.b );\n\n\t\treturn _v0.cross( _v1 ).length() * 0.5;\n\n\t}\n\n\tgetMidpoint( target ) {\n\n\t\treturn target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );\n\n\t}\n\n\tgetNormal( target ) {\n\n\t\treturn Triangle.getNormal( this.a, this.b, this.c, target );\n\n\t}\n\n\tgetPlane( target ) {\n\n\t\treturn target.setFromCoplanarPoints( this.a, this.b, this.c );\n\n\t}\n\n\tgetBarycoord( point, target ) {\n\n\t\treturn Triangle.getBarycoord( point, this.a, this.b, this.c, target );\n\n\t}\n\n\tgetInterpolation( point, v1, v2, v3, target ) {\n\n\t\treturn Triangle.getInterpolation( point, this.a, this.b, this.c, v1, v2, v3, target );\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn Triangle.containsPoint( point, this.a, this.b, this.c );\n\n\t}\n\n\tisFrontFacing( direction ) {\n\n\t\treturn Triangle.isFrontFacing( this.a, this.b, this.c, direction );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsTriangle( this );\n\n\t}\n\n\tclosestPointToPoint( p, target ) {\n\n\t\tconst a = this.a, b = this.b, c = this.c;\n\t\tlet v, w;\n\n\t\t// algorithm thanks to Real-Time Collision Detection by Christer Ericson,\n\t\t// published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc.,\n\t\t// under the accompanying license; see chapter 5.1.5 for detailed explanation.\n\t\t// basically, we're distinguishing which of the voronoi regions of the triangle\n\t\t// the point lies in with the minimum amount of redundant computation.\n\n\t\t_vab.subVectors( b, a );\n\t\t_vac.subVectors( c, a );\n\t\t_vap.subVectors( p, a );\n\t\tconst d1 = _vab.dot( _vap );\n\t\tconst d2 = _vac.dot( _vap );\n\t\tif ( d1 <= 0 && d2 <= 0 ) {\n\n\t\t\t// vertex region of A; barycentric coords (1, 0, 0)\n\t\t\treturn target.copy( a );\n\n\t\t}\n\n\t\t_vbp.subVectors( p, b );\n\t\tconst d3 = _vab.dot( _vbp );\n\t\tconst d4 = _vac.dot( _vbp );\n\t\tif ( d3 >= 0 && d4 <= d3 ) {\n\n\t\t\t// vertex region of B; barycentric coords (0, 1, 0)\n\t\t\treturn target.copy( b );\n\n\t\t}\n\n\t\tconst vc = d1 * d4 - d3 * d2;\n\t\tif ( vc <= 0 && d1 >= 0 && d3 <= 0 ) {\n\n\t\t\tv = d1 / ( d1 - d3 );\n\t\t\t// edge region of AB; barycentric coords (1-v, v, 0)\n\t\t\treturn target.copy( a ).addScaledVector( _vab, v );\n\n\t\t}\n\n\t\t_vcp.subVectors( p, c );\n\t\tconst d5 = _vab.dot( _vcp );\n\t\tconst d6 = _vac.dot( _vcp );\n\t\tif ( d6 >= 0 && d5 <= d6 ) {\n\n\t\t\t// vertex region of C; barycentric coords (0, 0, 1)\n\t\t\treturn target.copy( c );\n\n\t\t}\n\n\t\tconst vb = d5 * d2 - d1 * d6;\n\t\tif ( vb <= 0 && d2 >= 0 && d6 <= 0 ) {\n\n\t\t\tw = d2 / ( d2 - d6 );\n\t\t\t// edge region of AC; barycentric coords (1-w, 0, w)\n\t\t\treturn target.copy( a ).addScaledVector( _vac, w );\n\n\t\t}\n\n\t\tconst va = d3 * d6 - d5 * d4;\n\t\tif ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) {\n\n\t\t\t_vbc.subVectors( c, b );\n\t\t\tw = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) );\n\t\t\t// edge region of BC; barycentric coords (0, 1-w, w)\n\t\t\treturn target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC\n\n\t\t}\n\n\t\t// face region\n\t\tconst denom = 1 / ( va + vb + vc );\n\t\t// u = va * denom\n\t\tv = vb * denom;\n\t\tw = vc * denom;\n\n\t\treturn target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w );\n\n\t}\n\n\tequals( triangle ) {\n\n\t\treturn triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c );\n\n\t}\n\n}\n\nexport { Triangle };\n","import { Material } from './Material.js';\nimport { MultiplyOperation } from '../constants.js';\nimport { Color } from '../math/Color.js';\nimport { Euler } from '../math/Euler.js';\n\nclass MeshBasicMaterial extends Material {\n\n\tconstructor( parameters ) {\n\n\t\tsuper();\n\n\t\tthis.isMeshBasicMaterial = true;\n\n\t\tthis.type = 'MeshBasicMaterial';\n\n\t\tthis.color = new Color( 0xffffff ); // emissive\n\n\t\tthis.map = null;\n\n\t\tthis.lightMap = null;\n\t\tthis.lightMapIntensity = 1.0;\n\n\t\tthis.aoMap = null;\n\t\tthis.aoMapIntensity = 1.0;\n\n\t\tthis.specularMap = null;\n\n\t\tthis.alphaMap = null;\n\n\t\tthis.envMap = null;\n\t\tthis.envMapRotation = new Euler();\n\t\tthis.combine = MultiplyOperation;\n\t\tthis.reflectivity = 1;\n\t\tthis.refractionRatio = 0.98;\n\n\t\tthis.wireframe = false;\n\t\tthis.wireframeLinewidth = 1;\n\t\tthis.wireframeLinecap = 'round';\n\t\tthis.wireframeLinejoin = 'round';\n\n\t\tthis.fog = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.color.copy( source.color );\n\n\t\tthis.map = source.map;\n\n\t\tthis.lightMap = source.lightMap;\n\t\tthis.lightMapIntensity = source.lightMapIntensity;\n\n\t\tthis.aoMap = source.aoMap;\n\t\tthis.aoMapIntensity = source.aoMapIntensity;\n\n\t\tthis.specularMap = source.specularMap;\n\n\t\tthis.alphaMap = source.alphaMap;\n\n\t\tthis.envMap = source.envMap;\n\t\tthis.envMapRotation.copy( source.envMapRotation );\n\t\tthis.combine = source.combine;\n\t\tthis.reflectivity = source.reflectivity;\n\t\tthis.refractionRatio = source.refractionRatio;\n\n\t\tthis.wireframe = source.wireframe;\n\t\tthis.wireframeLinewidth = source.wireframeLinewidth;\n\t\tthis.wireframeLinecap = source.wireframeLinecap;\n\t\tthis.wireframeLinejoin = source.wireframeLinejoin;\n\n\t\tthis.fog = source.fog;\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { MeshBasicMaterial };\n","import { Vector3 } from '../math/Vector3.js';\nimport { Vector2 } from '../math/Vector2.js';\nimport { Sphere } from '../math/Sphere.js';\nimport { Ray } from '../math/Ray.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { Object3D } from '../core/Object3D.js';\nimport { Triangle } from '../math/Triangle.js';\nimport { BackSide, FrontSide } from '../constants.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { BufferGeometry } from '../core/BufferGeometry.js';\n\nconst _inverseMatrix = /*@__PURE__*/ new Matrix4();\nconst _ray = /*@__PURE__*/ new Ray();\nconst _sphere = /*@__PURE__*/ new Sphere();\nconst _sphereHitAt = /*@__PURE__*/ new Vector3();\n\nconst _vA = /*@__PURE__*/ new Vector3();\nconst _vB = /*@__PURE__*/ new Vector3();\nconst _vC = /*@__PURE__*/ new Vector3();\n\nconst _tempA = /*@__PURE__*/ new Vector3();\nconst _morphA = /*@__PURE__*/ new Vector3();\n\nconst _intersectionPoint = /*@__PURE__*/ new Vector3();\nconst _intersectionPointWorld = /*@__PURE__*/ new Vector3();\n\nclass Mesh extends Object3D {\n\n\tconstructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) {\n\n\t\tsuper();\n\n\t\tthis.isMesh = true;\n\n\t\tthis.type = 'Mesh';\n\n\t\tthis.geometry = geometry;\n\t\tthis.material = material;\n\n\t\tthis.updateMorphTargets();\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tif ( source.morphTargetInfluences !== undefined ) {\n\n\t\t\tthis.morphTargetInfluences = source.morphTargetInfluences.slice();\n\n\t\t}\n\n\t\tif ( source.morphTargetDictionary !== undefined ) {\n\n\t\t\tthis.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary );\n\n\t\t}\n\n\t\tthis.material = Array.isArray( source.material ) ? source.material.slice() : source.material;\n\t\tthis.geometry = source.geometry;\n\n\t\treturn this;\n\n\t}\n\n\tupdateMorphTargets() {\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst morphAttributes = geometry.morphAttributes;\n\t\tconst keys = Object.keys( morphAttributes );\n\n\t\tif ( keys.length > 0 ) {\n\n\t\t\tconst morphAttribute = morphAttributes[ keys[ 0 ] ];\n\n\t\t\tif ( morphAttribute !== undefined ) {\n\n\t\t\t\tthis.morphTargetInfluences = [];\n\t\t\t\tthis.morphTargetDictionary = {};\n\n\t\t\t\tfor ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) {\n\n\t\t\t\t\tconst name = morphAttribute[ m ].name || String( m );\n\n\t\t\t\t\tthis.morphTargetInfluences.push( 0 );\n\t\t\t\t\tthis.morphTargetDictionary[ name ] = m;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tgetVertexPosition( index, target ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst position = geometry.attributes.position;\n\t\tconst morphPosition = geometry.morphAttributes.position;\n\t\tconst morphTargetsRelative = geometry.morphTargetsRelative;\n\n\t\ttarget.fromBufferAttribute( position, index );\n\n\t\tconst morphInfluences = this.morphTargetInfluences;\n\n\t\tif ( morphPosition && morphInfluences ) {\n\n\t\t\t_morphA.set( 0, 0, 0 );\n\n\t\t\tfor ( let i = 0, il = morphPosition.length; i < il; i ++ ) {\n\n\t\t\t\tconst influence = morphInfluences[ i ];\n\t\t\t\tconst morphAttribute = morphPosition[ i ];\n\n\t\t\t\tif ( influence === 0 ) continue;\n\n\t\t\t\t_tempA.fromBufferAttribute( morphAttribute, index );\n\n\t\t\t\tif ( morphTargetsRelative ) {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA, influence );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t_morphA.addScaledVector( _tempA.sub( target ), influence );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\ttarget.add( _morphA );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\traycast( raycaster, intersects ) {\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\t\tconst matrixWorld = this.matrixWorld;\n\n\t\tif ( material === undefined ) return;\n\n\t\t// test with bounding sphere in world space\n\n\t\tif ( geometry.boundingSphere === null ) geometry.computeBoundingSphere();\n\n\t\t_sphere.copy( geometry.boundingSphere );\n\t\t_sphere.applyMatrix4( matrixWorld );\n\n\t\t// check distance from ray origin to bounding sphere\n\n\t\t_ray.copy( raycaster.ray ).recast( raycaster.near );\n\n\t\tif ( _sphere.containsPoint( _ray.origin ) === false ) {\n\n\t\t\tif ( _ray.intersectSphere( _sphere, _sphereHitAt ) === null ) return;\n\n\t\t\tif ( _ray.origin.distanceToSquared( _sphereHitAt ) > ( raycaster.far - raycaster.near ) ** 2 ) return;\n\n\t\t}\n\n\t\t// convert ray to local space of mesh\n\n\t\t_inverseMatrix.copy( matrixWorld ).invert();\n\t\t_ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix );\n\n\t\t// test with bounding box in local space\n\n\t\tif ( geometry.boundingBox !== null ) {\n\n\t\t\tif ( _ray.intersectsBox( geometry.boundingBox ) === false ) return;\n\n\t\t}\n\n\t\t// test for intersections with geometry\n\n\t\tthis._computeIntersections( raycaster, intersects, _ray );\n\n\t}\n\n\t_computeIntersections( raycaster, intersects, rayLocalSpace ) {\n\n\t\tlet intersection;\n\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\n\t\tconst index = geometry.index;\n\t\tconst position = geometry.attributes.position;\n\t\tconst uv = geometry.attributes.uv;\n\t\tconst uv1 = geometry.attributes.uv1;\n\t\tconst normal = geometry.attributes.normal;\n\t\tconst groups = geometry.groups;\n\t\tconst drawRange = geometry.drawRange;\n\n\t\tif ( index !== null ) {\n\n\t\t\t// indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = index.getX( j );\n\t\t\t\t\t\tconst b = index.getX( j + 1 );\n\t\t\t\t\t\tconst c = index.getX( j + 2 );\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( index.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = index.getX( i );\n\t\t\t\t\tconst b = index.getX( i + 1 );\n\t\t\t\t\tconst c = index.getX( i + 2 );\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( position !== undefined ) {\n\n\t\t\t// non-indexed buffer geometry\n\n\t\t\tif ( Array.isArray( material ) ) {\n\n\t\t\t\tfor ( let i = 0, il = groups.length; i < il; i ++ ) {\n\n\t\t\t\t\tconst group = groups[ i ];\n\t\t\t\t\tconst groupMaterial = material[ group.materialIndex ];\n\n\t\t\t\t\tconst start = Math.max( group.start, drawRange.start );\n\t\t\t\t\tconst end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) );\n\n\t\t\t\t\tfor ( let j = start, jl = end; j < jl; j += 3 ) {\n\n\t\t\t\t\t\tconst a = j;\n\t\t\t\t\t\tconst b = j + 1;\n\t\t\t\t\t\tconst c = j + 2;\n\n\t\t\t\t\t\tintersection = checkGeometryIntersection( this, groupMaterial, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\t\tintersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\t\tintersection.face.materialIndex = group.materialIndex;\n\t\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tconst start = Math.max( 0, drawRange.start );\n\t\t\t\tconst end = Math.min( position.count, ( drawRange.start + drawRange.count ) );\n\n\t\t\t\tfor ( let i = start, il = end; i < il; i += 3 ) {\n\n\t\t\t\t\tconst a = i;\n\t\t\t\t\tconst b = i + 1;\n\t\t\t\t\tconst c = i + 2;\n\n\t\t\t\t\tintersection = checkGeometryIntersection( this, material, raycaster, rayLocalSpace, uv, uv1, normal, a, b, c );\n\n\t\t\t\t\tif ( intersection ) {\n\n\t\t\t\t\t\tintersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics\n\t\t\t\t\t\tintersects.push( intersection );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\nfunction checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) {\n\n\tlet intersect;\n\n\tif ( material.side === BackSide ) {\n\n\t\tintersect = ray.intersectTriangle( pC, pB, pA, true, point );\n\n\t} else {\n\n\t\tintersect = ray.intersectTriangle( pA, pB, pC, ( material.side === FrontSide ), point );\n\n\t}\n\n\tif ( intersect === null ) return null;\n\n\t_intersectionPointWorld.copy( point );\n\t_intersectionPointWorld.applyMatrix4( object.matrixWorld );\n\n\tconst distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld );\n\n\tif ( distance < raycaster.near || distance > raycaster.far ) return null;\n\n\treturn {\n\t\tdistance: distance,\n\t\tpoint: _intersectionPointWorld.clone(),\n\t\tobject: object\n\t};\n\n}\n\nfunction checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, normal, a, b, c ) {\n\n\tobject.getVertexPosition( a, _vA );\n\tobject.getVertexPosition( b, _vB );\n\tobject.getVertexPosition( c, _vC );\n\n\tconst intersection = checkIntersection( object, material, raycaster, ray, _vA, _vB, _vC, _intersectionPoint );\n\n\tif ( intersection ) {\n\n\t\tconst barycoord = new Vector3();\n\t\tTriangle.getBarycoord( _intersectionPoint, _vA, _vB, _vC, barycoord );\n\n\t\tif ( uv ) {\n\n\t\t\tintersection.uv = Triangle.getInterpolatedAttribute( uv, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( uv1 ) {\n\n\t\t\tintersection.uv1 = Triangle.getInterpolatedAttribute( uv1, a, b, c, barycoord, new Vector2() );\n\n\t\t}\n\n\t\tif ( normal ) {\n\n\t\t\tintersection.normal = Triangle.getInterpolatedAttribute( normal, a, b, c, barycoord, new Vector3() );\n\n\t\t\tif ( intersection.normal.dot( ray.direction ) > 0 ) {\n\n\t\t\t\tintersection.normal.multiplyScalar( - 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst face = {\n\t\t\ta: a,\n\t\t\tb: b,\n\t\t\tc: c,\n\t\t\tnormal: new Vector3(),\n\t\t\tmaterialIndex: 0\n\t\t};\n\n\t\tTriangle.getNormal( _vA, _vB, _vC, face.normal );\n\n\t\tintersection.face = face;\n\t\tintersection.barycoord = barycoord;\n\n\t}\n\n\treturn intersection;\n\n}\n\nexport { Mesh };\n","import { BufferGeometry } from '../core/BufferGeometry.js';\nimport { Float32BufferAttribute } from '../core/BufferAttribute.js';\nimport { Vector3 } from '../math/Vector3.js';\n\nclass SphereGeometry extends BufferGeometry {\n\n\tconstructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {\n\n\t\tsuper();\n\n\t\tthis.type = 'SphereGeometry';\n\n\t\tthis.parameters = {\n\t\t\tradius: radius,\n\t\t\twidthSegments: widthSegments,\n\t\t\theightSegments: heightSegments,\n\t\t\tphiStart: phiStart,\n\t\t\tphiLength: phiLength,\n\t\t\tthetaStart: thetaStart,\n\t\t\tthetaLength: thetaLength\n\t\t};\n\n\t\twidthSegments = Math.max( 3, Math.floor( widthSegments ) );\n\t\theightSegments = Math.max( 2, Math.floor( heightSegments ) );\n\n\t\tconst thetaEnd = Math.min( thetaStart + thetaLength, Math.PI );\n\n\t\tlet index = 0;\n\t\tconst grid = [];\n\n\t\tconst vertex = new Vector3();\n\t\tconst normal = new Vector3();\n\n\t\t// buffers\n\n\t\tconst indices = [];\n\t\tconst vertices = [];\n\t\tconst normals = [];\n\t\tconst uvs = [];\n\n\t\t// generate vertices, normals and uvs\n\n\t\tfor ( let iy = 0; iy <= heightSegments; iy ++ ) {\n\n\t\t\tconst verticesRow = [];\n\n\t\t\tconst v = iy / heightSegments;\n\n\t\t\t// special case for the poles\n\n\t\t\tlet uOffset = 0;\n\n\t\t\tif ( iy === 0 && thetaStart === 0 ) {\n\n\t\t\t\tuOffset = 0.5 / widthSegments;\n\n\t\t\t} else if ( iy === heightSegments && thetaEnd === Math.PI ) {\n\n\t\t\t\tuOffset = - 0.5 / widthSegments;\n\n\t\t\t}\n\n\t\t\tfor ( let ix = 0; ix <= widthSegments; ix ++ ) {\n\n\t\t\t\tconst u = ix / widthSegments;\n\n\t\t\t\t// vertex\n\n\t\t\t\tvertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\t\t\t\tvertex.y = radius * Math.cos( thetaStart + v * thetaLength );\n\t\t\t\tvertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength );\n\n\t\t\t\tvertices.push( vertex.x, vertex.y, vertex.z );\n\n\t\t\t\t// normal\n\n\t\t\t\tnormal.copy( vertex ).normalize();\n\t\t\t\tnormals.push( normal.x, normal.y, normal.z );\n\n\t\t\t\t// uv\n\n\t\t\t\tuvs.push( u + uOffset, 1 - v );\n\n\t\t\t\tverticesRow.push( index ++ );\n\n\t\t\t}\n\n\t\t\tgrid.push( verticesRow );\n\n\t\t}\n\n\t\t// indices\n\n\t\tfor ( let iy = 0; iy < heightSegments; iy ++ ) {\n\n\t\t\tfor ( let ix = 0; ix < widthSegments; ix ++ ) {\n\n\t\t\t\tconst a = grid[ iy ][ ix + 1 ];\n\t\t\t\tconst b = grid[ iy ][ ix ];\n\t\t\t\tconst c = grid[ iy + 1 ][ ix ];\n\t\t\t\tconst d = grid[ iy + 1 ][ ix + 1 ];\n\n\t\t\t\tif ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d );\n\t\t\t\tif ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// build geometry\n\n\t\tthis.setIndex( indices );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) );\n\t\tthis.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\tcopy( source ) {\n\n\t\tsuper.copy( source );\n\n\t\tthis.parameters = Object.assign( {}, source.parameters );\n\n\t\treturn this;\n\n\t}\n\n\tstatic fromJSON( data ) {\n\n\t\treturn new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength );\n\n\t}\n\n}\n\nexport { SphereGeometry };\n","import { Mesh } from '../objects/Mesh.js';\nimport { MeshBasicMaterial } from '../materials/MeshBasicMaterial.js';\nimport { SphereGeometry } from '../geometries/SphereGeometry.js';\n\nclass PointLightHelper extends Mesh {\n\n\tconstructor( light, sphereSize, color ) {\n\n\t\tconst geometry = new SphereGeometry( sphereSize, 4, 2 );\n\t\tconst material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } );\n\n\t\tsuper( geometry, material );\n\n\t\tthis.light = light;\n\n\t\tthis.color = color;\n\n\t\tthis.type = 'PointLightHelper';\n\n\t\tthis.matrix = this.light.matrixWorld;\n\t\tthis.matrixAutoUpdate = false;\n\n\t\tthis.update();\n\n\n\t\t/*\n\t// TODO: delete this comment?\n\tconst distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 );\n\tconst distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } );\n\n\tthis.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial );\n\tthis.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial );\n\n\tconst d = light.distance;\n\n\tif ( d === 0.0 ) {\n\n\t\tthis.lightDistance.visible = false;\n\n\t} else {\n\n\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t}\n\n\tthis.add( this.lightDistance );\n\t*/\n\n\t}\n\n\tdispose() {\n\n\t\tthis.geometry.dispose();\n\t\tthis.material.dispose();\n\n\t}\n\n\tupdate() {\n\n\t\tthis.light.updateWorldMatrix( true, false );\n\n\t\tif ( this.color !== undefined ) {\n\n\t\t\tthis.material.color.set( this.color );\n\n\t\t} else {\n\n\t\t\tthis.material.color.copy( this.light.color );\n\n\t\t}\n\n\t\t/*\n\t\tconst d = this.light.distance;\n\n\t\tif ( d === 0.0 ) {\n\n\t\t\tthis.lightDistance.visible = false;\n\n\t\t} else {\n\n\t\t\tthis.lightDistance.visible = true;\n\t\t\tthis.lightDistance.scale.set( d, d, d );\n\n\t\t}\n\t\t*/\n\n\t}\n\n}\n\n\nexport { PointLightHelper };\n"],"names":["_v0","Vector3","_v1","_v2","_v3","_vab","_vac","_vbc","_vap","_vbp","_vcp","_v40","Vector4","_v41","_v42","Triangle","a","b","c","target","targetLengthSq","point","dot00","dot01","dot02","dot11","dot12","denom","invDenom","u","v","p1","p2","p3","v1","v2","v3","attr","i1","i2","i3","barycoord","direction","points","i0","attribute","triangle","box","p","w","d1","d2","d3","d4","vc","d5","d6","vb","va","MeshBasicMaterial","Material","parameters","Color","Euler","MultiplyOperation","source","_inverseMatrix","Matrix4","_ray","Ray","_sphere","Sphere","_sphereHitAt","_vA","_vB","_vC","_tempA","_morphA","_intersectionPoint","_intersectionPointWorld","Mesh","Object3D","geometry","BufferGeometry","material","recursive","morphAttributes","keys","morphAttribute","m","ml","name","index","position","morphPosition","morphTargetsRelative","morphInfluences","i","il","influence","raycaster","intersects","matrixWorld","rayLocalSpace","intersection","uv","uv1","normal","groups","drawRange","group","groupMaterial","start","end","j","jl","checkGeometryIntersection","checkIntersection","object","ray","pA","pB","pC","intersect","BackSide","FrontSide","distance","Vector2","face","SphereGeometry","radius","widthSegments","heightSegments","phiStart","phiLength","thetaStart","thetaLength","thetaEnd","grid","vertex","indices","vertices","normals","uvs","iy","verticesRow","uOffset","ix","d","Float32BufferAttribute","data","PointLightHelper","light","sphereSize","color","exports"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
package/lib/RoomleCore.js
CHANGED
|
@@ -48,19 +48,19 @@ X.push(0,1,void 0,1,null,1,!0,1,!1,1);l.count_emval_handles=()=>X.length/2-5-yb.
|
|
|
48
48
|
var kc={G:()=>Aa(""),X:a=>{var b=Ka[a];delete Ka[a];var c=b.Ia,d=b.xa,e=b.Ka,f=e.map(h=>h.Ta).concat(e.map(h=>h.$a));P([a],f,h=>{var g={};e.forEach((k,m)=>{var n=h[m],q=k.Ra,r=k.Sa,t=h[m+e.length],u=k.Za,A=k.ab;g[k.Oa]={read:H=>n.fromWireType(q(r,H)),write:(H,L)=>{var B=[];u(A,H,t.toWireType(B,L));I(B)}}});return[{name:b.name,fromWireType:k=>{var m={},n;for(n in g)m[n]=g[n].read(k);d(k);return m},toWireType:(k,m)=>{for(var n in g)if(!(n in m))throw new TypeError(`Missing field: "${n}"`);var q=c();
|
|
49
49
|
for(n in g)g[n].write(q,m[n]);null!==k&&k.push(d,q);return q},wa:8,readValueFromPointer:J,ua:d}]})},C:()=>{},S:(a,b,c,d)=>{b=Q(b);O(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},wa:8,readValueFromPointer:function(e){return this.fromWireType(y[e])},ua:null})},d:(a,b,c,d,e,f,h,g,k,m,n,q,r)=>{n=Q(n);f=U(e,f);g&&=U(h,g);m&&=U(k,m);r=U(q,r);var t=db(n);cb(t,function(){W(`Cannot construct ${n} due to unbound types`,[d])});P([a,b,c],d?[d]:[],u=>{u=u[0];if(d){var A=
|
|
50
50
|
u.oa;var H=A.ya}else H=ab.prototype;u=S(n,function(...Ra){if(Object.getPrototypeOf(this)!==L)throw new R("Use 'new' to construct "+n);if(void 0===B.Aa)throw new R(n+" has no accessible constructor");var Bb=B.Aa[Ra.length];if(void 0===Bb)throw new R(`Tried to invoke ctor of ${n} with invalid number of parameters (${Ra.length}) - expected (${Object.keys(B.Aa).toString()}) parameters instead!`);return Bb.apply(this,Ra)});var L=Object.create(H,{constructor:{value:u}});u.prototype=L;var B=new eb(n,u,L,
|
|
51
|
-
r,A,f,g,m);if(B.ta){var M;(M=B.ta).Ea??(M.Ea=[]);B.ta.Ea.push(B)}A=new kb(n,B,!0,!1,!1);M=new kb(n+"*",B,!1,!1,!1);H=new kb(n+" const*",B,!1,!0,!1);Va[a]={pointerType:M,Ma:H};lb(t,u);return[A,M,H]})},
|
|
51
|
+
r,A,f,g,m);if(B.ta){var M;(M=B.ta).Ea??(M.Ea=[]);B.ta.Ea.push(B)}A=new kb(n,B,!0,!1,!1);M=new kb(n+"*",B,!1,!1,!1);H=new kb(n+" const*",B,!1,!0,!1);Va[a]={pointerType:M,Ma:H};lb(t,u);return[A,M,H]})},n:(a,b,c,d,e,f,h,g)=>{var k=vb(c,d);b=Q(b);b=wb(b);f=U(e,f);P([],[a],m=>{function n(){W(`Cannot call ${q} due to unbound types`,k)}m=m[0];var q=`${m.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var r=m.oa.constructor;void 0===r[b]?(n.za=c-1,r[b]=n):(bb(r,b,q),r[b].ra[c-1]=n);P([],k,t=>{t=
|
|
52
52
|
[t[0],null].concat(t.slice(1));t=ub(q,t,null,f,h,g);void 0===r[b].ra?(t.za=c-1,r[b]=t):r[b].ra[c-1]=t;if(m.oa.Ea)for(const u of m.oa.Ea)u.constructor.hasOwnProperty(b)||(u.constructor[b]=t);return[]});return[]})},O:(a,b,c,d,e,f,h,g)=>{b=Q(b);f=U(e,f);P([],[a],k=>{k=k[0];var m=`${k.name}.${b}`,n={get(){W(`Cannot access ${m} due to unbound types`,[c])},enumerable:!0,configurable:!0};n.set=g?()=>{W(`Cannot access ${m} due to unbound types`,[c])}:()=>{throw new R(`${m} is a read-only property`);};Object.defineProperty(k.oa.constructor,
|
|
53
|
-
b,n);P([],[c],q=>{q=q[0];var r={get(){return q.fromWireType(f(d))},enumerable:!0};g&&(g=U(h,g),r.set=t=>{var u=[];g(d,q.toWireType(u,t));I(u)});Object.defineProperty(k.oa.constructor,b,r);return[]});return[]})},
|
|
53
|
+
b,n);P([],[c],q=>{q=q[0];var r={get(){return q.fromWireType(f(d))},enumerable:!0};g&&(g=U(h,g),r.set=t=>{var u=[];g(d,q.toWireType(u,t));I(u)});Object.defineProperty(k.oa.constructor,b,r);return[]});return[]})},e:(a,b,c,d,e,f)=>{var h=vb(b,c);e=U(d,e);P([],[a],g=>{g=g[0];var k=`constructor ${g.name}`;void 0===g.oa.Aa&&(g.oa.Aa=[]);if(void 0!==g.oa.Aa[b-1])throw new R(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${g.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
|
|
54
54
|
g.oa.Aa[b-1]=()=>{W(`Cannot construct ${g.name} due to unbound types`,h)};P([],h,m=>{m.splice(1,0,null);g.oa.Aa[b-1]=ub(k,m,null,e,f);return[]});return[]})},a:(a,b,c,d,e,f,h,g,k)=>{var m=vb(c,d);b=Q(b);b=wb(b);f=U(e,f);P([],[a],n=>{function q(){W(`Cannot call ${r} due to unbound types`,m)}n=n[0];var r=`${n.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);g&&n.oa.Xa.push(b);var t=n.oa.ya,u=t[b];void 0===u||void 0===u.ra&&u.className!==n.name&&u.za===c-2?(q.za=c-2,q.className=n.name,t[b]=
|
|
55
|
-
q):(bb(t,b,r),t[b].ra[c-2]=q);P([],m,A=>{A=ub(r,A,n,f,h,k);void 0===t[b].ra?(A.za=c-2,t[b]=A):t[b].ra[c-2]=A;return[]});return[]})},
|
|
56
|
-
xb(this,n,q+" getter");return u.fromWireType(e(f,L))},enumerable:!0};if(k){k=U(g,k);var H=t[1];A.set=function(L){var B=xb(this,n,q+" setter"),M=[];k(m,B,H.toWireType(M,L));I(M)}}Object.defineProperty(n.oa.ya,b,A);return[]});return[]})},P:a=>O(a,Ab),
|
|
55
|
+
q):(bb(t,b,r),t[b].ra[c-2]=q);P([],m,A=>{A=ub(r,A,n,f,h,k);void 0===t[b].ra?(A.za=c-2,t[b]=A):t[b].ra[c-2]=A;return[]});return[]})},f:(a,b,c,d,e,f,h,g,k,m)=>{b=Q(b);e=U(d,e);P([],[a],n=>{n=n[0];var q=`${n.name}.${b}`,r={get(){W(`Cannot access ${q} due to unbound types`,[c,h])},enumerable:!0,configurable:!0};r.set=k?()=>W(`Cannot access ${q} due to unbound types`,[c,h]):()=>{throw new R(q+" is a read-only property");};Object.defineProperty(n.oa.ya,b,r);P([],k?[c,h]:[c],t=>{var u=t[0],A={get(){var L=
|
|
56
|
+
xb(this,n,q+" getter");return u.fromWireType(e(f,L))},enumerable:!0};if(k){k=U(g,k);var H=t[1];A.set=function(L){var B=xb(this,n,q+" setter"),M=[];k(m,B,H.toWireType(M,L));I(M)}}Object.defineProperty(n.oa.ya,b,A);return[]});return[]})},P:a=>O(a,Ab),o:(a,b,c,d)=>{function e(){}b=Q(b);e.values={};O(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:(f,h)=>h.value,wa:8,readValueFromPointer:Cb(b,c,d),ua:null});cb(b,e)},c:(a,b,c)=>{var d=Db(a,"enum");b=Q(b);
|
|
57
57
|
a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:S(`${d.name}_${b}`,function(){})}});a.values[c]=d;a[b]=d},x:(a,b,c)=>{b=Q(b);O(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,wa:8,readValueFromPointer:Eb(b,c),ua:null})},q:(a,b,c,d,e,f,h)=>{var g=vb(b,c);a=Q(a);a=wb(a);e=U(d,e);cb(a,function(){W(`Cannot call ${a} due to unbound types`,g)},b-1);P([],g,k=>{k=[k[0],null].concat(k.slice(1));lb(a,ub(a,k,null,e,f,h),b-1);return[]})},s:(a,b,c,d,e)=>{b=Q(b);-1===
|
|
58
58
|
e&&(e=4294967295);e=g=>g;if(0===d){var f=32-8*c;e=g=>g<<f>>>f}var h=b.includes("unsigned")?function(g,k){return k>>>0}:function(g,k){return k};O(a,{name:b,fromWireType:e,toWireType:h,wa:8,readValueFromPointer:Fb(b,c,0!==d),ua:null})},p:(a,b,c)=>{function d(f){return new e(x.buffer,E[f+4>>2],E[f>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=Q(c);O(a,{name:c,fromWireType:d,wa:8,readValueFromPointer:d},{Ua:!0})},k:a=>{O(a,Gb)},l:(a,b,c,
|
|
59
59
|
d,e,f,h,g,k,m,n,q)=>{c=Q(c);f=U(e,f);g=U(h,g);m=U(k,m);q=U(n,q);P([a],[b],r=>{r=r[0];return[new kb(c,r.oa,!1,!1,!0,r,d,f,g,m,q)]})},Q:(a,b)=>{b=Q(b);O(a,{name:b,fromWireType:function(c){for(var d=E[c>>2],e=c+4,f,h=e,g=0;g<=d;++g){var k=e+g;if(g==d||0==y[k])h=h?Jb(y,h,k-h):"",void 0===f?f=h:(f+=String.fromCharCode(0),f+=h),h=k+1}V(c);return f},toWireType:function(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e,f="string"==typeof d;if(!(f||d instanceof Uint8Array||d instanceof Uint8ClampedArray||
|
|
60
60
|
d instanceof Int8Array))throw new R("Cannot pass non-string to std::string");if(f)for(var h=e=0;h<d.length;++h){var g=d.charCodeAt(h);127>=g?e++:2047>=g?e+=2:55296<=g&&57343>=g?(e+=4,++h):e+=3}else e=d.length;h=ic(4+e+1);g=h+4;E[h>>2]=e;if(f)Hb(d,g,e+1);else if(f)for(f=0;f<e;++f){var k=d.charCodeAt(f);if(255<k)throw V(g),new R("String has UTF-16 code units that do not fit in 8 bits");y[g+f]=k}else for(f=0;f<e;++f)y[g+f]=d[f];null!==c&&c.push(V,h);return h},wa:8,readValueFromPointer:J,ua(c){V(c)}})},
|
|
61
61
|
v:(a,b,c)=>{c=Q(c);if(2===b){var d=Lb;var e=Mb;var f=Nb;var h=g=>C[g>>1]}else 4===b&&(d=Ob,e=Pb,f=Qb,h=g=>E[g>>2]);O(a,{name:c,fromWireType:g=>{for(var k=E[g>>2],m,n=g+4,q=0;q<=k;++q){var r=g+4+q*b;if(q==k||0==h(r))n=d(n,r-n),void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=r+b}V(g);return m},toWireType:(g,k)=>{if("string"!=typeof k)throw new R(`Cannot pass non-string to C++ string type ${c}`);var m=f(k),n=ic(4+m+b);E[n>>2]=m/b;e(k,n+4,m+b);null!==g&&g.push(V,n);return n},wa:8,readValueFromPointer:J,
|
|
62
|
-
ua(g){V(g)}})},
|
|
63
|
-
|
|
62
|
+
ua(g){V(g)}})},g:(a,b,c,d,e,f)=>{Ka[a]={name:Q(b),Ia:U(c,d),xa:U(e,f),Ka:[]}},b:(a,b,c,d,e,f,h,g,k,m)=>{Ka[a].Ka.push({Oa:Q(b),Ta:c,Ra:U(d,e),Sa:f,$a:h,Za:U(g,k),ab:m})},T:(a,b)=>{b=Q(b);O(a,{Va:!0,name:b,wa:0,fromWireType:()=>{},toWireType:()=>{}})},E:()=>{Ja=!1;Rb=0},t:(a,b,c)=>{a=Y(a);b=Db(b,"emval::as");return Sb(b,c,a)},y:(a,b,c,d)=>{a=Tb[a];b=Y(b);return a(null,b,c,d)},i:(a,b,c,d,e)=>{a=Tb[a];b=Y(b);c=Vb(c);return a(b,b[c],d,e)},Z:zb,R:a=>{if(0===a)return T(Wb());a=Vb(a);return T(Wb()[a])},
|
|
63
|
+
h:(a,b,c)=>{b=Yb(a,b);var d=b.shift();a--;var e="return function (obj, func, destructorsRef, args) {\n",f=0,h=[];0===c&&h.push("obj");for(var g=["retType"],k=[d],m=0;m<a;++m)h.push("arg"+m),g.push("argType"+m),k.push(b[m]),e+=` var arg${m} = argType${m}.readValueFromPointer(args${f?"+"+f:""});\n`,f+=b[m].wa;e+=` var rv = ${1===c?"new func":"func.call"}(${h.join(", ")});\n`;d.Va||(g.push("emval_returnValue"),k.push(Sb),e+=" return emval_returnValue(retType, destructorsRef, rv);\n");g.push(e+"};\n");
|
|
64
64
|
a=tb(g)(...k);c=`methodCaller<(${b.map(n=>n.name).join(", ")}) => ${d.name}>`;return Xb(S(c,a))},U:a=>{a=Vb(a);return T(l[a])},r:(a,b)=>{a=Y(a);b=Y(b);return T(a[b])},w:a=>{9<a&&(X[a+1]+=1)},V:(a,b)=>{a=Y(a);b=Y(b);return a instanceof b},u:a=>{a=Y(a);return"string"==typeof a},_:()=>T([]),z:a=>T(Vb(a)),W:()=>T({}),A:a=>{var b=Y(a);I(b);zb(a)},m:(a,b,c)=>{a=Y(a);b=Y(b);c=Y(c);a[b]=c},Y:(a,b)=>{a=Y(a);b=Y(b);return a===b},j:(a,b)=>{a=Db(a,"_emval_take_value");a=a.readValueFromPointer(b);return T(a)},
|
|
65
65
|
F:(a,b)=>{Zb[a]&&(clearTimeout(Zb[a].id),delete Zb[a]);if(!b)return 0;var c=setTimeout(()=>{delete Zb[a];bc(()=>jc(a,performance.now()))},b);Zb[a]={id:c,cb:b};return 0},I:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();E[a>>2]=60*Math.max(f,e);D[b>>2]=Number(f!=e);b=h=>{var g=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(g/60)).padStart(2,"0")}${String(g%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(Hb(a,c,17),Hb(b,
|
|
66
66
|
d,17)):(Hb(a,d,17),Hb(b,c,17))},H:a=>{var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(d);ta();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},J:(a,b)=>{var c=0;ec().forEach((d,e)=>{var f=b+c;e=E[a+4*e>>2]=f;for(f=0;f<d.length;++f)x[e++]=d.charCodeAt(f);x[e]=0;c+=d.length+1});return 0},K:(a,b)=>{var c=ec();E[a>>2]=
|
package/lib/RoomleCore.wasm
CHANGED
|
Binary file
|
package/lib/RoomleToolsCore.wasm
CHANGED
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./main-
|
|
2
|
-
//# sourceMappingURL=banana-for-scale-
|
|
1
|
+
System.register(["./main-BYSxOyxk.js"],function(f,_){"use strict";var i,c,r;return{setters:[s=>{i=s.S,c=s.V,r=s.j}],execute:function(){const s=""+new URL("banana.glb",_.meta.url).href;var d=Object.defineProperty,u=(o,n,t,b)=>{for(var e=void 0,a=o.length-1,l;a>=0;a--)(l=o[a])&&(e=l(n,t,e)||e);return e&&d(n,t,e),e};class h extends i{setScene(n){this._scene=n,this._staticItemLoader.loadGLB(s).then(t=>{this._banana=t.scene,this.updateBounds(null)}),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")}updateBounds(n){if(n&&(this._bounds=n),!!this._bounds){if(this._banana){const t=this._bounds.getSize(new c),e=this._bounds.getCenter(new c).clone();e.x-=t.x/2+.18,e.z+=t.z/2+.05,e.y=0;let a=.1;this._banana.scale.copy(new c(a,a,a)),this._banana.rotation.y=.6,this._banana.position.copy(e)}this._scene.children.includes(this._banana)||this.addToScene()}}clearScene(n,t){super.clearScene(n,t),this.removeFromScene()}addToScene(){!this._scene||!this._banana||this._scene.add(this._banana)}removeFromScene(){!this._scene||!this._banana||this._scene.remove(this._banana)}}f("default",h),u([r],h.prototype,"_staticItemLoader")}}});
|
|
2
|
+
//# sourceMappingURL=banana-for-scale-C1mjOPd7.js.map
|