@shopware-ag/dive 2.0.1-beta.0 → 2.0.1-beta.10
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/build/chunks/AssetCache-C-7MpNrK.cjs +1 -0
- package/build/chunks/AssetCache-CZV5A70i.mjs +79 -0
- package/build/chunks/AssetExporter-DsbC2rqv.cjs +164 -0
- package/build/{src/modules/asset/exporter/AssetExporter.mjs → chunks/AssetExporter-brT7ogoM.mjs} +22 -21
- package/build/chunks/AssetLoader-BZlqXTbf.cjs +4 -0
- package/build/chunks/AssetLoader-Dnh5tbUZ.mjs +2341 -0
- package/build/chunks/FileTypes-DMybIHHj.mjs +1109 -0
- package/build/chunks/FileTypes-PEcAgRZ8.cjs +30 -0
- package/build/chunks/MathUtils-CBW56ZuG.cjs +1 -0
- package/build/chunks/MathUtils-CFGjHuVF.mjs +159 -0
- package/build/chunks/OrbitController-D-WNei2f.mjs +940 -0
- package/build/chunks/OrbitController-rMX8EHvJ.cjs +1 -0
- package/build/chunks/PerspectiveCamera-CONx93im.cjs +1 -0
- package/build/chunks/PerspectiveCamera-DUiWJJIj.mjs +38 -0
- package/build/chunks/PovSchema-Co9FznEz.cjs +1 -0
- package/build/chunks/PovSchema-DWWvr_ED.mjs +10 -0
- package/build/chunks/SelectTool-BVxDEcnM.cjs +1 -0
- package/build/chunks/{SelectTool-mTRiZYaC.mjs → SelectTool-D5QfT5rr.mjs} +59 -54
- package/build/chunks/draco_decoder-Bh9flJPu.cjs +1 -0
- package/build/chunks/draco_decoder-CEzwqP9o.mjs +38 -0
- package/build/chunks/draco_decoder-DtHHc5d0.mjs +4 -0
- package/build/chunks/draco_decoder-DvYjcLz_.cjs +35 -0
- package/build/chunks/draco_wasm_wrapper-FoEVV9af.cjs +118 -0
- package/build/chunks/draco_wasm_wrapper-yQy2VLhb.mjs +121 -0
- package/build/chunks/fflate.module-DHdJvhNh.cjs +6 -0
- package/build/chunks/fflate.module-xyO_T3Zm.mjs +602 -0
- package/build/chunks/findInterface-C6mrvf_t.cjs +1 -0
- package/build/chunks/findInterface-DbJ5qzbc.mjs +11 -0
- package/build/chunks/isFileTypeSupported-BSpswPHU.mjs +12 -0
- package/build/chunks/isFileTypeSupported-CrEqYiv9.cjs +1 -0
- package/build/chunks/network-error-BONfHWQq.mjs +14 -0
- package/build/chunks/network-error-CdDXil5g.cjs +1 -0
- package/build/chunks/package-Bf92jAR_.cjs +1 -0
- package/build/chunks/package-ZPbjnXun.mjs +39 -0
- package/build/chunks/parse-error-DfOPyLWM.mjs +14 -0
- package/build/chunks/parse-error-Dy_EE4rL.cjs +1 -0
- package/build/dive.cjs +1 -30
- package/build/dive.mjs +665 -1622
- package/build/plugins/animation/index.cjs +1 -0
- package/build/plugins/animation/index.d.ts +2 -0
- package/build/plugins/animation/index.mjs +126 -0
- package/build/plugins/ar/index.cjs +1 -0
- package/build/plugins/ar/index.d.ts +2 -0
- package/build/plugins/ar/index.mjs +207 -0
- package/build/plugins/assetcache/index.cjs +1 -0
- package/build/plugins/assetcache/index.d.ts +2 -0
- package/build/plugins/assetcache/index.mjs +5 -0
- package/build/plugins/assetconverter/index.d.ts +2 -0
- package/build/plugins/assetexporter/index.cjs +1 -0
- package/build/plugins/assetexporter/index.d.ts +2 -0
- package/build/plugins/assetexporter/index.mjs +4 -0
- package/build/plugins/assetloader/index.cjs +1 -0
- package/build/plugins/assetloader/index.d.ts +2 -0
- package/build/plugins/assetloader/index.mjs +6 -0
- package/build/plugins/axiscamera/index.cjs +1 -0
- package/build/plugins/axiscamera/index.d.ts +2 -0
- package/build/plugins/axiscamera/index.mjs +4 -0
- package/build/plugins/mediacreator/index.cjs +1 -0
- package/build/plugins/mediacreator/index.d.ts +2 -0
- package/build/{src/modules/mediacreator/MediaCreator.mjs → plugins/mediacreator/index.mjs} +4 -4
- package/build/plugins/orbitcontroller/index.cjs +1 -0
- package/build/plugins/orbitcontroller/index.d.ts +2 -0
- package/build/plugins/orbitcontroller/index.mjs +5 -0
- package/build/plugins/state/index.cjs +27 -0
- package/build/plugins/state/index.d.ts +2 -0
- package/build/plugins/state/index.mjs +4265 -0
- package/build/plugins/systeminfo/index.cjs +1 -0
- package/build/plugins/systeminfo/index.d.ts +2 -0
- package/build/{chunks/SystemInfo-DPAQG-S5.mjs → plugins/systeminfo/index.mjs} +48 -51
- package/build/plugins/toolbox/index.cjs +1 -0
- package/build/plugins/toolbox/index.d.ts +2 -0
- package/build/{src/modules/toolbox/Toolbox.mjs → plugins/toolbox/index.mjs} +23 -17
- package/build/src/components/floor/Floor.d.ts +2 -2
- package/build/src/components/gizmo/Gizmo.d.ts +1 -1
- package/build/src/components/gizmo/handles/AxisHandle.d.ts +1 -1
- package/build/src/components/gizmo/handles/RadialHandle.d.ts +1 -1
- package/build/src/components/gizmo/handles/ScaleHandle.d.ts +1 -1
- package/build/src/components/gizmo/rotate/RotateGizmo.d.ts +2 -2
- package/build/src/components/gizmo/scale/ScaleGizmo.d.ts +2 -2
- package/build/src/components/gizmo/translate/TranslateGizmo.d.ts +2 -2
- package/build/src/components/grid/Grid.d.ts +1 -1
- package/build/src/components/group/Group.d.ts +4 -4
- package/build/src/components/light/AmbientLight.d.ts +3 -3
- package/build/src/components/light/PointLight.d.ts +3 -3
- package/build/src/components/light/SceneLight.d.ts +3 -3
- package/build/src/components/model/Model.d.ts +8 -5
- package/build/src/components/node/Node.d.ts +8 -8
- package/build/src/components/primitive/Primitive.d.ts +5 -5
- package/build/src/components/root/Root.d.ts +19 -31
- package/build/src/core/Dive.d.ts +8 -7
- package/build/src/engine/Engine.d.ts +2 -6
- package/build/src/engine/clock/Clock.d.ts +1 -0
- package/build/src/engine/index.d.ts +6 -0
- package/build/src/engine/renderer/Renderer.d.ts +47 -7
- package/build/src/engine/scene/Scene.d.ts +4 -22
- package/build/src/engine/scene/xrroot/XRRoot.d.ts +2 -2
- package/build/src/engine/scene/xrroot/xrlightroot/XRLightRoot.d.ts +2 -2
- package/build/src/error/file-content/file-content-error.d.ts +4 -0
- package/build/src/error/index.d.ts +4 -0
- package/build/src/error/network/network-error.d.ts +1 -1
- package/build/src/error/parse/parse-error.d.ts +2 -1
- package/build/src/events/dispatcher/EventDispatcher.d.ts +6 -0
- package/build/src/events/index.d.ts +1 -0
- package/build/src/helpers/deepClone/deepClone.d.ts +34 -0
- package/build/src/helpers/index.d.ts +5 -4
- package/build/src/index.d.ts +5 -5
- package/build/src/interfaces/Draggable.d.ts +1 -1
- package/build/src/plugins/animation/index.d.ts +2 -0
- package/build/src/{modules/animation → plugins/animation/src}/animator/Animator.d.ts +2 -3
- package/build/src/plugins/animation/src/index.d.ts +3 -0
- package/build/src/plugins/animation/src/system/AnimationSystem.d.ts +23 -0
- package/build/src/plugins/ar/index.d.ts +4 -0
- package/build/src/plugins/ar/src/ARSystem.d.ts +24 -0
- package/build/src/plugins/ar/src/arquicklook/ARQuickLook.d.ts +15 -0
- package/build/src/plugins/ar/src/error/ar-errors.d.ts +24 -0
- package/build/src/{modules/ar → plugins/ar/src}/sceneviewer/SceneViewer.d.ts +10 -0
- package/build/src/{modules/ar → plugins/ar/src}/webxr/WebXR.d.ts +4 -4
- package/build/src/{modules/ar → plugins/ar/src}/webxr/controller/WebXRController.d.ts +5 -5
- package/build/src/{modules/ar → plugins/ar/src}/webxr/crosshair/WebXRCrosshair.d.ts +2 -2
- package/build/src/{modules/ar → plugins/ar/src}/webxr/origin/WebXROrigin.d.ts +4 -4
- package/build/src/{modules/ar → plugins/ar/src}/webxr/overlay/Overlay.d.ts +2 -2
- package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/WebXRRaycaster.d.ts +8 -8
- package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/ar/WebXRRaycasterAR.d.ts +4 -4
- package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/three/WebXRRaycasterTHREE.d.ts +4 -4
- package/build/src/{modules/ar → plugins/ar/src}/webxr/touchscreencontrols/WebXRTouchscreenControls.d.ts +3 -3
- package/build/src/plugins/assetcache/index.d.ts +1 -0
- package/build/src/plugins/assetcache/src/cache/AssetCache.d.ts +12 -0
- package/build/src/plugins/assetcache/src/chunk/Chunk.d.ts +16 -0
- package/build/src/plugins/assetcache/src/index.d.ts +2 -0
- package/build/src/plugins/assetconverter/index.d.ts +1 -0
- package/build/src/plugins/assetconverter/src/AssetConverter.d.ts +13 -0
- package/build/src/plugins/assetexporter/index.d.ts +1 -0
- package/build/src/{modules/asset/exporter → plugins/assetexporter/src}/AssetExporter.d.ts +0 -17
- package/build/src/plugins/assetloader/index.d.ts +3 -0
- package/build/src/plugins/assetloader/src/draco/DracoLoader.d.ts +10 -0
- package/build/src/plugins/assetloader/src/loader/AssetLoader.d.ts +14 -0
- package/build/src/plugins/axiscamera/index.d.ts +1 -0
- package/build/src/{modules/axiscamera → plugins/axiscamera/src}/AxisCamera.d.ts +3 -6
- package/build/src/plugins/mediacreator/index.d.ts +1 -0
- package/build/src/plugins/mediacreator/src/MediaCreator.d.ts +15 -0
- package/build/src/plugins/orbitcontroller/index.d.ts +1 -0
- package/build/src/{modules/controller/orbit → plugins/orbitcontroller/src}/OrbitController.d.ts +3 -3
- package/build/src/plugins/state/index.d.ts +4 -0
- package/build/src/{modules/state → plugins/state/src}/State.d.ts +4 -27
- package/build/src/{modules/state → plugins/state/src}/actions/action.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/ar/launchar.d.ts +2 -2
- package/build/src/{modules/state → plugins/state/src}/actions/camera/computeencompassingview.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/getcameratransform.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/lockcamera.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/movecamera.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/setcameralayer.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/setcameratransform.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/camera/zoomcamera.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/media/generatemedia.d.ts +1 -1
- package/build/src/plugins/state/src/actions/object/addobject.d.ts +9 -0
- package/build/src/{modules/state → plugins/state/src}/actions/object/deleteobject.d.ts +4 -3
- package/build/src/{modules/state → plugins/state/src}/actions/object/deselectobject.d.ts +4 -3
- package/build/src/{modules/state → plugins/state/src}/actions/object/dropit.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/object/getallobjects.d.ts +3 -2
- package/build/src/{modules/state → plugins/state/src}/actions/object/getobjects.d.ts +3 -2
- package/build/src/{modules/state → plugins/state/src}/actions/object/modelloaded.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/object/placeonfloor.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/object/selectobject.d.ts +4 -3
- package/build/src/{modules/state → plugins/state/src}/actions/object/setparent.d.ts +6 -5
- package/build/src/{modules/state → plugins/state/src}/actions/object/updateobject.d.ts +4 -3
- package/build/src/{modules/state → plugins/state/src}/actions/renderer/startrender.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/scene/exportscene.d.ts +4 -4
- package/build/src/{modules/state → plugins/state/src}/actions/scene/getallscenedata.d.ts +3 -3
- package/build/src/{modules/state → plugins/state/src}/actions/scene/setbackground.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/scene/updatescene.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmomode.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmoscalelinked.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmovisible.d.ts +1 -1
- package/build/src/{modules/state → plugins/state/src}/actions/toolbox/usetool.d.ts +2 -2
- package/build/src/plugins/state/types/ActionTypes.d.ts +17 -0
- package/build/src/{types/SceneType.d.ts → plugins/state/types/StateExportFileType.d.ts} +1 -1
- package/build/src/plugins/state/types/StateSceneData.d.ts +19 -0
- package/build/src/plugins/state/types/index.d.ts +1 -0
- package/build/src/plugins/systeminfo/index.d.ts +2 -0
- package/build/src/{modules/systeminfo → plugins/systeminfo/src}/SystemInfo.d.ts +22 -32
- package/build/src/plugins/toolbox/index.d.ts +4 -0
- package/build/src/{modules/toolbox → plugins/toolbox/src}/BaseTool.d.ts +4 -6
- package/build/src/{modules/toolbox → plugins/toolbox/src}/Toolbox.d.ts +8 -17
- package/build/src/{modules/toolbox → plugins/toolbox/src}/select/SelectTool.d.ts +7 -11
- package/build/src/{modules/toolbox → plugins/toolbox/src}/transform/TransformTool.d.ts +6 -10
- package/build/src/types/components/DIVELight.d.ts +4 -0
- package/build/src/types/components/DIVESceneObject.d.ts +6 -0
- package/build/src/types/components/index.d.ts +2 -0
- package/build/src/types/index.d.ts +2 -5
- package/build/src/types/schema/BaseEntitySchema.d.ts +8 -0
- package/build/src/types/schema/EntitySchema.d.ts +11 -0
- package/build/src/types/schema/EntityTypeSchema.d.ts +1 -0
- package/build/src/types/schema/GeometrySchema.d.ts +7 -0
- package/build/src/types/schema/GeometryTypeSchema.d.ts +1 -0
- package/build/src/types/schema/GroupSchema.d.ts +11 -0
- package/build/src/types/schema/LightSchema.d.ts +28 -0
- package/build/src/{modules/state/types/COMMaterial.d.ts → types/schema/MaterialSchema.d.ts} +1 -1
- package/build/src/types/schema/ModelSchema.d.ts +14 -0
- package/build/src/types/schema/PovSchema.d.ts +10 -0
- package/build/src/types/schema/PrimitiveSchema.d.ts +14 -0
- package/build/src/types/schema/index.d.ts +11 -0
- package/package.json +60 -41
- package/build/chunks/FileTypes-BjZ0rrIV.cjs +0 -1
- package/build/chunks/FileTypes-qgYnI0Jg.mjs +0 -30
- package/build/chunks/ModuleRegistry-NyNtjHb2.cjs +0 -1
- package/build/chunks/ModuleRegistry-RSub8W0G.mjs +0 -13
- package/build/chunks/PerspectiveCamera-BByyG5R4.cjs +0 -1
- package/build/chunks/PerspectiveCamera-sm4_81KJ.mjs +0 -34
- package/build/chunks/SelectTool-BRKko7uz.cjs +0 -1
- package/build/chunks/SystemInfo-oX-NNneO.cjs +0 -1
- package/build/chunks/VisibilityLayerMask-BI7jPKdx.cjs +0 -1
- package/build/chunks/VisibilityLayerMask-CXgt1fJc.mjs +0 -8
- package/build/chunks/findInterface-BEdL2iUQ.cjs +0 -1
- package/build/chunks/findInterface-OrXgmwxj.mjs +0 -18
- package/build/chunks/index-C_uFFwT2.mjs +0 -5
- package/build/chunks/index-DAwIH9xh.cjs +0 -1
- package/build/chunks/package-BFpY3sIj.cjs +0 -1
- package/build/chunks/package-BvoZkrge.mjs +0 -39
- package/build/chunks/parse-error-2f5qpXP5.cjs +0 -6
- package/build/chunks/parse-error-DRBVHL9E.mjs +0 -614
- package/build/src/error/ar-compatibility/ar-compatibility-error.d.ts +0 -12
- package/build/src/modules/ModuleRegistry.d.ts +0 -19
- package/build/src/modules/animation/AnimationSystem.cjs +0 -1
- package/build/src/modules/animation/AnimationSystem.d.ts +0 -36
- package/build/src/modules/animation/AnimationSystem.mjs +0 -95
- package/build/src/modules/ar/ARSystem.cjs +0 -1
- package/build/src/modules/ar/ARSystem.d.ts +0 -71
- package/build/src/modules/ar/ARSystem.mjs +0 -163
- package/build/src/modules/ar/arquicklook/ARQuickLook.d.ts +0 -7
- package/build/src/modules/asset/converter/AssetConverter.d.ts +0 -30
- package/build/src/modules/asset/exporter/AssetExporter.cjs +0 -164
- package/build/src/modules/asset/loader/AssetLoader.cjs +0 -2
- package/build/src/modules/asset/loader/AssetLoader.d.ts +0 -29
- package/build/src/modules/asset/loader/AssetLoader.mjs +0 -1919
- package/build/src/modules/events/EventExecutor.d.ts +0 -5
- package/build/src/modules/mediacreator/MediaCreator.cjs +0 -1
- package/build/src/modules/mediacreator/MediaCreator.d.ts +0 -44
- package/build/src/modules/state/State.cjs +0 -27
- package/build/src/modules/state/State.mjs +0 -4271
- package/build/src/modules/state/actions/object/addobject.d.ts +0 -8
- package/build/src/modules/state/types/ActionTypes.d.ts +0 -18
- package/build/src/modules/state/types/COMBaseEntity.d.ts +0 -8
- package/build/src/modules/state/types/COMEntity.d.ts +0 -6
- package/build/src/modules/state/types/COMEntityType.d.ts +0 -1
- package/build/src/modules/state/types/COMGeometry.d.ts +0 -7
- package/build/src/modules/state/types/COMGeometryType.d.ts +0 -1
- package/build/src/modules/state/types/COMGroup.d.ts +0 -10
- package/build/src/modules/state/types/COMLight.d.ts +0 -12
- package/build/src/modules/state/types/COMModel.d.ts +0 -13
- package/build/src/modules/state/types/COMPov.d.ts +0 -9
- package/build/src/modules/state/types/COMPrimitive.d.ts +0 -13
- package/build/src/modules/state/types/index.d.ts +0 -11
- package/build/src/modules/systeminfo/SystemInfo.cjs +0 -1
- package/build/src/modules/systeminfo/SystemInfo.mjs +0 -5
- package/build/src/modules/toolbox/Toolbox.cjs +0 -1
- package/build/src/types/SceneData.d.ts +0 -19
- package/build/src/types/SceneObjects.d.ts +0 -7
- package/build/src/types/UUID.d.ts +0 -1
- /package/build/{src/modules/asset/converter/AssetConverter.cjs → plugins/assetconverter/index.cjs} +0 -0
- /package/build/{src/modules/asset/converter/AssetConverter.mjs → plugins/assetconverter/index.mjs} +0 -0
- /package/build/src/{modules/animation → plugins/animation/src}/types/AnimatorParameters.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/ActionRegistry.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/ar/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/camera/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/media/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/object/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/renderer/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/scene/index.d.ts +0 -0
- /package/build/src/{modules/state → plugins/state/src}/actions/toolbox/index.d.ts +0 -0
- /package/build/src/{types/info → plugins/systeminfo/types}/index.d.ts +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const e = "@shopware-ag/dive", i = "2.0.1-beta.10", s = "Shopware Spatial Framework", t = "module", n = "build/dive.cjs", r = "build/dive.mjs", d = "build/dive.d.ts", o = { ".": { types: "./build/dive.d.ts", import: "./build/dive.mjs", require: "./build/dive.cjs" }, "./animation": { types: "./build/plugins/animation/index.d.ts", import: "./build/plugins/animation/index.mjs", require: "./build/plugins/animation/index.cjs" }, "./ar": { types: "./build/plugins/ar/index.d.ts", import: "./build/plugins/ar/index.mjs", require: "./build/plugins/ar/index.cjs" }, "./assetcache": { types: "./build/plugins/assetcache/index.d.ts", import: "./build/plugins/assetcache/index.mjs", require: "./build/plugins/assetcache/index.cjs" }, "./assetconverter": { types: "./build/plugins/assetconverter/index.d.ts", import: "./build/plugins/assetconverter/index.mjs", require: "./build/plugins/assetconverter/index.cjs" }, "./assetexporter": { types: "./build/plugins/assetexporter/index.d.ts", import: "./build/plugins/assetexporter/index.mjs", require: "./build/plugins/assetexporter/index.cjs" }, "./assetloader": { types: "./build/plugins/assetloader/index.d.ts", import: "./build/plugins/assetloader/index.mjs", require: "./build/plugins/assetloader/index.cjs" }, "./axiscamera": { types: "./build/plugins/axiscamera/index.d.ts", import: "./build/plugins/axiscamera/index.mjs", require: "./build/plugins/axiscamera/index.cjs" }, "./mediacreator": { types: "./build/plugins/mediacreator/index.d.ts", import: "./build/plugins/mediacreator/index.mjs", require: "./build/plugins/mediacreator/index.cjs" }, "./orbitcontroller": { types: "./build/plugins/orbitcontroller/index.d.ts", import: "./build/plugins/orbitcontroller/index.mjs", require: "./build/plugins/orbitcontroller/index.cjs" }, "./state": { types: "./build/plugins/state/index.d.ts", import: "./build/plugins/state/index.mjs", require: "./build/plugins/state/index.cjs" }, "./systeminfo": { types: "./build/plugins/systeminfo/index.d.ts", import: "./build/plugins/systeminfo/index.mjs", require: "./build/plugins/systeminfo/index.cjs" }, "./toolbox": { types: "./build/plugins/toolbox/index.d.ts", import: "./build/plugins/toolbox/index.mjs", require: "./build/plugins/toolbox/index.cjs" } }, l = ["build", "LICENSE", "package.json"], a = ["dive", "shopware", "sw6", "three", "three.js", "3d", "typescript"], u = "git@github.com:shopware/dive.git", p = "ffrank <f.frank@shopware.com>", c = "MIT", b = ["> 1%, not dead, not ie 11, not op_mini all"], g = { three: "^0.163.0", "@tweenjs/tween.js": "^23.1.1", "three-spritetext": "^1.8.2", lodash: "^4.17.21" }, m = { "@eslint/js": "^9.1.1", "@testing-library/jest-dom": "^6.6.3", "@types/jest": "^29.5.12", "@types/lodash": "^4.17.12", "@types/node": "^20.12.7", "@types/three": "^0.163.0", "@vitest/coverage-v8": "3.1.2", acorn: "^8.14.1", "acorn-walk": "^8.3.4", eslint: "^9.1.1", glob: "^11.0.1", globals: "^15.0.0", jsdom: "^26.1.0", "log-update": "^6.1.0", "magic-string": "^0.30.17", prettier: "^3.3.3", "prettier-plugin-multiline-arrays": "^3.0.6", "rollup-plugin-copy": "^3.5.0", "ts-jest": "^29.1.2", "ts-morph": "^25.0.1", "ts-node": "^10.9.2", tsc: "^2.0.4", tsx: "^4.19.4", typescript: "^5.8.2", "typescript-eslint": "^7.7.1", vite: "^6.2.1", "vite-plugin-dts": "^4.5.3", "vite-plugin-wasm": "^3.4.1", "vite-tsconfig-paths": "^5.1.4", vitest: "^3.1.2" }, x = { "validate-build-paths": "NODE_OPTIONS='--loader ts-node/esm' ts-node ci/build/validate-build-paths.ts", build: "vite build", dev: "vite build --watch", lint: "eslint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", unit: "vitest --run", coverage: "vitest --coverage --run", docs: "yarn docs:actions && yarn docs:modules", "docs:actions": "tsx docs/generators/generate-actions-docs.ts", "docs:modules": "tsx docs/generators/generate-modules-docs.ts", ci: "yarn && yarn lint && yarn prettier:check && yarn coverage && yarn build" }, y = {
|
|
2
|
+
name: e,
|
|
3
|
+
version: i,
|
|
4
|
+
description: s,
|
|
5
|
+
type: t,
|
|
6
|
+
main: n,
|
|
7
|
+
module: r,
|
|
8
|
+
types: d,
|
|
9
|
+
exports: o,
|
|
10
|
+
files: l,
|
|
11
|
+
keywords: a,
|
|
12
|
+
repository: u,
|
|
13
|
+
author: p,
|
|
14
|
+
license: c,
|
|
15
|
+
browserslist: b,
|
|
16
|
+
dependencies: g,
|
|
17
|
+
devDependencies: m,
|
|
18
|
+
scripts: x
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
p as author,
|
|
22
|
+
b as browserslist,
|
|
23
|
+
y as default,
|
|
24
|
+
g as dependencies,
|
|
25
|
+
s as description,
|
|
26
|
+
m as devDependencies,
|
|
27
|
+
o as exports,
|
|
28
|
+
l as files,
|
|
29
|
+
a as keywords,
|
|
30
|
+
c as license,
|
|
31
|
+
n as main,
|
|
32
|
+
r as module,
|
|
33
|
+
e as name,
|
|
34
|
+
u as repository,
|
|
35
|
+
x as scripts,
|
|
36
|
+
t as type,
|
|
37
|
+
d as types,
|
|
38
|
+
i as version
|
|
39
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class t extends Error {
|
|
2
|
+
constructor(r, e) {
|
|
3
|
+
super(r), this.requestedFileType = e, this.name = "FileTypeError";
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
class a extends Error {
|
|
7
|
+
constructor(r, e) {
|
|
8
|
+
super(`Failed to parse array buffer from ${r}`), this.uri = r, this.cause = e, this.name = "ParseError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
t as F,
|
|
13
|
+
a as P
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";class t extends Error{constructor(r,e){super(r),this.requestedFileType=e,this.name="FileTypeError"}}class o extends Error{constructor(r,e){super(`Failed to parse array buffer from ${r}`),this.uri=r,this.cause=e,this.name="ParseError"}}exports.FileTypeError=t;exports.ParseError=o;
|
package/build/dive.cjs
CHANGED
|
@@ -1,30 +1 @@
|
|
|
1
|
-
"use strict";var ct=Object.defineProperty;var lt=(l,n,t)=>n in l?ct(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t;var c=(l,n,t)=>lt(l,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("three"),ae=require("three-spritetext"),b=require("./chunks/VisibilityLayerMask-BI7jPKdx.cjs"),C=require("./chunks/findInterface-BEdL2iUQ.cjs"),E=require("./chunks/ModuleRegistry-NyNtjHb2.cjs"),ke=require("./chunks/PerspectiveCamera-BByyG5R4.cjs"),Q=require("./chunks/FileTypes-BjZ0rrIV.cjs"),je=require("./chunks/index-DAwIH9xh.cjs"),Re={type:"change"},ce={type:"start"},ve={type:"end"},q=new s.Ray,Ve=new s.Plane,ht=Math.cos(70*s.MathUtils.DEG2RAD);class dt extends s.EventDispatcher{constructor(n,t){super(),this.object=n,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new s.Vector3,this.cursor=new s.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:s.MOUSE.ROTATE,MIDDLE:s.MOUSE.DOLLY,RIGHT:s.MOUSE.PAN},this.touches={ONE:s.TOUCH.ROTATE,TWO:s.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return h.phi},this.getAzimuthalAngle=function(){return h.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(i){i.addEventListener("keydown",re),this._domElementKeyEvents=i},this.stopListenToKeyEvents=function(){this._domElementKeyEvents.removeEventListener("keydown",re),this._domElementKeyEvents=null},this.saveState=function(){e.target0.copy(e.target),e.position0.copy(e.object.position),e.zoom0=e.object.zoom},this.reset=function(){e.target.copy(e.target0),e.object.position.copy(e.position0),e.object.zoom=e.zoom0,e.object.updateProjectionMatrix(),e.dispatchEvent(Re),e.update(),r=o.NONE},this.update=function(){const i=new s.Vector3,a=new s.Quaternion().setFromUnitVectors(n.up,new s.Vector3(0,1,0)),u=a.clone().invert(),p=new s.Vector3,y=new s.Quaternion,P=new s.Vector3,w=2*Math.PI;return function(at=null){const Ae=e.object.position;i.copy(Ae).sub(e.target),i.applyQuaternion(a),h.setFromVector3(i),e.autoRotate&&r===o.NONE&&G(Ye(at)),e.enableDamping?(h.theta+=m.theta*e.dampingFactor,h.phi+=m.phi*e.dampingFactor):(h.theta+=m.theta,h.phi+=m.phi);let S=e.minAzimuthAngle,O=e.maxAzimuthAngle;isFinite(S)&&isFinite(O)&&(S<-Math.PI?S+=w:S>Math.PI&&(S-=w),O<-Math.PI?O+=w:O>Math.PI&&(O-=w),S<=O?h.theta=Math.max(S,Math.min(O,h.theta)):h.theta=h.theta>(S+O)/2?Math.max(S,h.theta):Math.min(O,h.theta)),h.phi=Math.max(e.minPolarAngle,Math.min(e.maxPolarAngle,h.phi)),h.makeSafe(),e.enableDamping===!0?e.target.addScaledVector(_,e.dampingFactor):e.target.add(_),e.target.sub(e.cursor),e.target.clampLength(e.minTargetRadius,e.maxTargetRadius),e.target.add(e.cursor);let Y=!1;if(e.zoomToCursor&&K||e.object.isOrthographicCamera)h.radius=ne(h.radius);else{const M=h.radius;h.radius=ne(h.radius*f),Y=M!=h.radius}if(i.setFromSpherical(h),i.applyQuaternion(u),Ae.copy(e.target).add(i),e.object.lookAt(e.target),e.enableDamping===!0?(m.theta*=1-e.dampingFactor,m.phi*=1-e.dampingFactor,_.multiplyScalar(1-e.dampingFactor)):(m.set(0,0,0),_.set(0,0,0)),e.zoomToCursor&&K){let M=null;if(e.object.isPerspectiveCamera){const F=i.length();M=ne(F*f);const X=F-M;e.object.position.addScaledVector(ue,X),e.object.updateMatrixWorld(),Y=!!X}else if(e.object.isOrthographicCamera){const F=new s.Vector3(T.x,T.y,0);F.unproject(e.object);const X=e.object.zoom;e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/f)),e.object.updateProjectionMatrix(),Y=X!==e.object.zoom;const Ie=new s.Vector3(T.x,T.y,0);Ie.unproject(e.object),e.object.position.sub(Ie).add(F),e.object.updateMatrixWorld(),M=i.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),e.zoomToCursor=!1;M!==null&&(this.screenSpacePanning?e.target.set(0,0,-1).transformDirection(e.object.matrix).multiplyScalar(M).add(e.object.position):(q.origin.copy(e.object.position),q.direction.set(0,0,-1).transformDirection(e.object.matrix),Math.abs(e.object.up.dot(q.direction))<ht?n.lookAt(e.target):(Ve.setFromNormalAndCoplanarPoint(e.object.up,e.target),q.intersectPlane(Ve,e.target))))}else if(e.object.isOrthographicCamera){const M=e.object.zoom;e.object.zoom=Math.max(e.minZoom,Math.min(e.maxZoom,e.object.zoom/f)),M!==e.object.zoom&&(e.object.updateProjectionMatrix(),Y=!0)}return f=1,K=!1,Y||p.distanceToSquared(e.object.position)>d||8*(1-y.dot(e.object.quaternion))>d||P.distanceToSquared(e.target)>d?(e.dispatchEvent(Re),p.copy(e.object.position),y.copy(e.object.quaternion),P.copy(e.target),!0):!1}}(),this.dispose=function(){e.domElement.removeEventListener("contextmenu",xe),e.domElement.removeEventListener("pointerdown",Oe),e.domElement.removeEventListener("pointercancel",N),e.domElement.removeEventListener("wheel",Me),e.domElement.removeEventListener("pointermove",oe),e.domElement.removeEventListener("pointerup",N),e.domElement.getRootNode().removeEventListener("keydown",Te,{capture:!0}),e._domElementKeyEvents!==null&&(e._domElementKeyEvents.removeEventListener("keydown",re),e._domElementKeyEvents=null)};const e=this,o={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let r=o.NONE;const d=1e-6,h=new s.Spherical,m=new s.Spherical;let f=1;const _=new s.Vector3,x=new s.Vector2,L=new s.Vector2,v=new s.Vector2,A=new s.Vector2,I=new s.Vector2,V=new s.Vector2,k=new s.Vector2,j=new s.Vector2,R=new s.Vector2,ue=new s.Vector3,T=new s.Vector2;let K=!1;const g=[],z={};let te=!1;function Ye(i){return i!==null?2*Math.PI/60*e.autoRotateSpeed*i:2*Math.PI/60/60*e.autoRotateSpeed}function W(i){const a=Math.abs(i*.01);return Math.pow(.95,e.zoomSpeed*a)}function G(i){m.theta-=i}function Z(i){m.phi-=i}const pe=function(){const i=new s.Vector3;return function(u,p){i.setFromMatrixColumn(p,0),i.multiplyScalar(-u),_.add(i)}}(),me=function(){const i=new s.Vector3;return function(u,p){e.screenSpacePanning===!0?i.setFromMatrixColumn(p,1):(i.setFromMatrixColumn(p,0),i.crossVectors(e.object.up,i)),i.multiplyScalar(u),_.add(i)}}(),B=function(){const i=new s.Vector3;return function(u,p){const y=e.domElement;if(e.object.isPerspectiveCamera){const P=e.object.position;i.copy(P).sub(e.target);let w=i.length();w*=Math.tan(e.object.fov/2*Math.PI/180),pe(2*u*w/y.clientHeight,e.object.matrix),me(2*p*w/y.clientHeight,e.object.matrix)}else e.object.isOrthographicCamera?(pe(u*(e.object.right-e.object.left)/e.object.zoom/y.clientWidth,e.object.matrix),me(p*(e.object.top-e.object.bottom)/e.object.zoom/y.clientHeight,e.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),e.enablePan=!1)}}();function ie(i){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?f/=i:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function fe(i){e.object.isPerspectiveCamera||e.object.isOrthographicCamera?f*=i:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),e.enableZoom=!1)}function se(i,a){if(!e.zoomToCursor)return;K=!0;const u=e.domElement.getBoundingClientRect(),p=i-u.left,y=a-u.top,P=u.width,w=u.height;T.x=p/P*2-1,T.y=-(y/w)*2+1,ue.set(T.x,T.y,1).unproject(e.object).sub(e.object.position).normalize()}function ne(i){return Math.max(e.minDistance,Math.min(e.maxDistance,i))}function ge(i){x.set(i.clientX,i.clientY)}function Fe(i){se(i.clientX,i.clientX),k.set(i.clientX,i.clientY)}function _e(i){A.set(i.clientX,i.clientY)}function He(i){L.set(i.clientX,i.clientY),v.subVectors(L,x).multiplyScalar(e.rotateSpeed);const a=e.domElement;G(2*Math.PI*v.x/a.clientHeight),Z(2*Math.PI*v.y/a.clientHeight),x.copy(L),e.update()}function Ke(i){j.set(i.clientX,i.clientY),R.subVectors(j,k),R.y>0?ie(W(R.y)):R.y<0&&fe(W(R.y)),k.copy(j),e.update()}function We(i){I.set(i.clientX,i.clientY),V.subVectors(I,A).multiplyScalar(e.panSpeed),B(V.x,V.y),A.copy(I),e.update()}function Ze(i){se(i.clientX,i.clientY),i.deltaY<0?fe(W(i.deltaY)):i.deltaY>0&&ie(W(i.deltaY)),e.update()}function Xe(i){let a=!1;switch(i.code){case e.keys.UP:i.ctrlKey||i.metaKey||i.shiftKey?Z(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):B(0,e.keyPanSpeed),a=!0;break;case e.keys.BOTTOM:i.ctrlKey||i.metaKey||i.shiftKey?Z(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):B(0,-e.keyPanSpeed),a=!0;break;case e.keys.LEFT:i.ctrlKey||i.metaKey||i.shiftKey?G(2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):B(e.keyPanSpeed,0),a=!0;break;case e.keys.RIGHT:i.ctrlKey||i.metaKey||i.shiftKey?G(-2*Math.PI*e.rotateSpeed/e.domElement.clientHeight):B(-e.keyPanSpeed,0),a=!0;break}a&&(i.preventDefault(),e.update())}function be(i){if(g.length===1)x.set(i.pageX,i.pageY);else{const a=U(i),u=.5*(i.pageX+a.x),p=.5*(i.pageY+a.y);x.set(u,p)}}function ye(i){if(g.length===1)A.set(i.pageX,i.pageY);else{const a=U(i),u=.5*(i.pageX+a.x),p=.5*(i.pageY+a.y);A.set(u,p)}}function Ee(i){const a=U(i),u=i.pageX-a.x,p=i.pageY-a.y,y=Math.sqrt(u*u+p*p);k.set(0,y)}function qe(i){e.enableZoom&&Ee(i),e.enablePan&&ye(i)}function Je(i){e.enableZoom&&Ee(i),e.enableRotate&&be(i)}function we(i){if(g.length==1)L.set(i.pageX,i.pageY);else{const u=U(i),p=.5*(i.pageX+u.x),y=.5*(i.pageY+u.y);L.set(p,y)}v.subVectors(L,x).multiplyScalar(e.rotateSpeed);const a=e.domElement;G(2*Math.PI*v.x/a.clientHeight),Z(2*Math.PI*v.y/a.clientHeight),x.copy(L)}function De(i){if(g.length===1)I.set(i.pageX,i.pageY);else{const a=U(i),u=.5*(i.pageX+a.x),p=.5*(i.pageY+a.y);I.set(u,p)}V.subVectors(I,A).multiplyScalar(e.panSpeed),B(V.x,V.y),A.copy(I)}function Se(i){const a=U(i),u=i.pageX-a.x,p=i.pageY-a.y,y=Math.sqrt(u*u+p*p);j.set(0,y),R.set(0,Math.pow(j.y/k.y,e.zoomSpeed)),ie(R.y),k.copy(j);const P=(i.pageX+a.x)*.5,w=(i.pageY+a.y)*.5;se(P,w)}function $e(i){e.enableZoom&&Se(i),e.enablePan&&De(i)}function Qe(i){e.enableZoom&&Se(i),e.enableRotate&&we(i)}function Oe(i){e.enabled!==!1&&(g.length===0&&(e.domElement.setPointerCapture(i.pointerId),e.domElement.addEventListener("pointermove",oe),e.domElement.addEventListener("pointerup",N)),!rt(i)&&(nt(i),i.pointerType==="touch"?Ce(i):et(i)))}function oe(i){e.enabled!==!1&&(i.pointerType==="touch"?st(i):tt(i))}function N(i){switch(ot(i),g.length){case 0:e.domElement.releasePointerCapture(i.pointerId),e.domElement.removeEventListener("pointermove",oe),e.domElement.removeEventListener("pointerup",N),e.dispatchEvent(ve),r=o.NONE;break;case 1:const a=g[0],u=z[a];Ce({pointerId:a,pageX:u.x,pageY:u.y});break}}function et(i){let a;switch(i.button){case 0:a=e.mouseButtons.LEFT;break;case 1:a=e.mouseButtons.MIDDLE;break;case 2:a=e.mouseButtons.RIGHT;break;default:a=-1}switch(a){case s.MOUSE.DOLLY:if(e.enableZoom===!1)return;Fe(i),r=o.DOLLY;break;case s.MOUSE.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(e.enablePan===!1)return;_e(i),r=o.PAN}else{if(e.enableRotate===!1)return;ge(i),r=o.ROTATE}break;case s.MOUSE.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(e.enableRotate===!1)return;ge(i),r=o.ROTATE}else{if(e.enablePan===!1)return;_e(i),r=o.PAN}break;default:r=o.NONE}r!==o.NONE&&e.dispatchEvent(ce)}function tt(i){switch(r){case o.ROTATE:if(e.enableRotate===!1)return;He(i);break;case o.DOLLY:if(e.enableZoom===!1)return;Ke(i);break;case o.PAN:if(e.enablePan===!1)return;We(i);break}}function Me(i){e.enabled===!1||e.enableZoom===!1||r!==o.NONE||(i.preventDefault(),e.dispatchEvent(ce),Ze(it(i)),e.dispatchEvent(ve))}function it(i){const a=i.deltaMode,u={clientX:i.clientX,clientY:i.clientY,deltaY:i.deltaY};switch(a){case 1:u.deltaY*=16;break;case 2:u.deltaY*=100;break}return i.ctrlKey&&!te&&(u.deltaY*=10),u}function Te(i){i.key==="Control"&&(te=!0,e.domElement.getRootNode().addEventListener("keyup",Pe,{passive:!0,capture:!0}))}function Pe(i){i.key==="Control"&&(te=!1,e.domElement.getRootNode().removeEventListener("keyup",Pe,{passive:!0,capture:!0}))}function re(i){e.enabled===!1||e.enablePan===!1||Xe(i)}function Ce(i){switch(Le(i),g.length){case 1:switch(e.touches.ONE){case s.TOUCH.ROTATE:if(e.enableRotate===!1)return;be(i),r=o.TOUCH_ROTATE;break;case s.TOUCH.PAN:if(e.enablePan===!1)return;ye(i),r=o.TOUCH_PAN;break;default:r=o.NONE}break;case 2:switch(e.touches.TWO){case s.TOUCH.DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;qe(i),r=o.TOUCH_DOLLY_PAN;break;case s.TOUCH.DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;Je(i),r=o.TOUCH_DOLLY_ROTATE;break;default:r=o.NONE}break;default:r=o.NONE}r!==o.NONE&&e.dispatchEvent(ce)}function st(i){switch(Le(i),r){case o.TOUCH_ROTATE:if(e.enableRotate===!1)return;we(i),e.update();break;case o.TOUCH_PAN:if(e.enablePan===!1)return;De(i),e.update();break;case o.TOUCH_DOLLY_PAN:if(e.enableZoom===!1&&e.enablePan===!1)return;$e(i),e.update();break;case o.TOUCH_DOLLY_ROTATE:if(e.enableZoom===!1&&e.enableRotate===!1)return;Qe(i),e.update();break;default:r=o.NONE}}function xe(i){e.enabled!==!1&&i.preventDefault()}function nt(i){g.push(i.pointerId)}function ot(i){delete z[i.pointerId];for(let a=0;a<g.length;a++)if(g[a]==i.pointerId){g.splice(a,1);return}}function rt(i){for(let a=0;a<g.length;a++)if(g[a]==i.pointerId)return!0;return!1}function Le(i){let a=z[i.pointerId];a===void 0&&(a=new s.Vector2,z[i.pointerId]=a),a.set(i.pageX,i.pageY)}function U(i){const a=i.pointerId===g[0]?g[1]:g[0];return z[a]}e.domElement.addEventListener("contextmenu",xe),e.domElement.addEventListener("pointerdown",Oe),e.domElement.addEventListener("pointercancel",N),e.domElement.addEventListener("wheel",Me,{passive:!1}),e.domElement.getRootNode().addEventListener("keydown",Te,{passive:!0,capture:!0}),this.update()}}const J={enableDamping:!0,dampingFactor:.05},H=class H extends dt{constructor(t,e,o=J){super(t,e);c(this,"uuid",s.MathUtils.generateUUID());c(this,"object");this.domElement=e,this.domElement=e,this.object=t,this.enableDamping=o.enableDamping??J.enableDamping,this.dampingFactor=o.dampingFactor??J.dampingFactor,this.object.position.set(0,2,2),this.target.copy({x:0,y:.5,z:0}),this.update()}tick(){this.enabled&&this.update()}computeEncompassingView(t){const e=t.getCenter(new s.Vector3),o=t.getSize(new s.Vector3),r=Math.max(o.x,o.y,o.z)*1.25;return{position:this.object.position.clone().normalize().clone().multiplyScalar(r),target:e.clone()}}zoomIn(t){const e=t||H.DEFAULT_ZOOM_FACTOR,{minDistance:o,maxDistance:r}=this;this.minDistance=this.maxDistance=s.MathUtils.clamp(this.getDistance()-e,o+e,r-e),this.update(),this.minDistance=o,this.maxDistance=r}zoomOut(t){const e=t||H.DEFAULT_ZOOM_FACTOR,{minDistance:o,maxDistance:r}=this;this.minDistance=this.maxDistance=s.MathUtils.clamp(this.getDistance()+e,o+e,r-e),this.update(),this.minDistance=o,this.maxDistance=r}};c(H,"DEFAULT_ZOOM_FACTOR",1);let $=H;class ut extends s.OrthographicCamera{constructor(t,e,o){super(-1,1,1,-1,.1,100);c(this,"axesHelper");c(this,"_renderer");c(this,"_scene");c(this,"_camera");c(this,"_restoreViewport",new s.Vector4);this.layers.mask=b.COORDINATE_LAYER_MASK,this.axesHelper=new s.AxesHelper(.5),this.axesHelper.layers.mask=b.COORDINATE_LAYER_MASK,this.axesHelper.material.depthTest=!1,this.axesHelper.position.set(0,0,-1),this.axesHelper.setColors(new s.Color(C.AxesColorRed),new s.Color(C.AxesColorGreen),new s.Color(C.AxesColorBlue));const r=new ae("X",.2,C.AxesColorRedLetter),d=new ae("Y",.2,C.AxesColorGreenLetter),h=new ae("Z",.2,C.AxesColorBlueLetter);r.layers.mask=b.COORDINATE_LAYER_MASK,d.layers.mask=b.COORDINATE_LAYER_MASK,h.layers.mask=b.COORDINATE_LAYER_MASK,r.position.set(.7,0,0),d.position.set(0,.7,0),h.position.set(0,0,.7),this.axesHelper.add(r),this.axesHelper.add(d),this.axesHelper.add(h),this.add(this.axesHelper),this._renderer=t,this._scene=e,this._camera=o,this._scene.add(this)}tick(){const t=this._scene.background;this._scene.background=null,this._renderer.webglrenderer.getViewport(this._restoreViewport),this._renderer.webglrenderer.setViewport(0,0,150,150),this._renderer.webglrenderer.autoClear=!1,this.SetFromCameraMatrix(this._camera.matrix),this._renderer.webglrenderer.render(this._scene,this),this._renderer.webglrenderer.setViewport(this._restoreViewport),this._renderer.webglrenderer.autoClear=!0,this._scene.background=t}Dispose(){this._scene.remove(this)}SetFromCameraMatrix(t){this.axesHelper.rotation.setFromRotationMatrix(new s.Matrix4().extractRotation(t).invert())}}class pt extends s.Object3D{constructor(){super();c(this,"isDIVELight",!0);c(this,"isDIVEAmbientLight",!0);c(this,"_light");this.name="DIVEAmbientLight",this._light=new s.AmbientLight(16777215,1),this._light.layers.mask=b.PRODUCT_LAYER_MASK,this.add(this._light)}SetColor(t){this._light.color=t}SetIntensity(t){this._light.intensity=t}SetEnabled(t){this._light.visible=t}}class mt extends s.Object3D{constructor(){super();c(this,"isDIVELight",!0);c(this,"isDIVEPointLight",!0);c(this,"isMovable",!0);c(this,"isSelectable",!0);c(this,"gizmo",null);c(this,"light");c(this,"mesh");this.name="DIVEPointLight",this.light=new s.PointLight(16777215,1),this.light.layers.mask=b.PRODUCT_LAYER_MASK,this.light.castShadow=!0,this.light.shadow.mapSize.width=512,this.light.shadow.mapSize.height=512,this.add(this.light);const t=.1,e=new s.SphereGeometry(t,t*320,t*320),o=new s.MeshBasicMaterial({color:this.light.color,transparent:!0,opacity:.8,side:s.FrontSide});this.mesh=new s.Mesh(e,o),this.mesh.layers.mask=b.UI_LAYER_MASK,this.add(this.mesh)}SetColor(t){this.light.color=t,this.mesh.material.color=t}SetIntensity(t){this.light.intensity=t,this.mesh.material.opacity=t>.8?.8:t*.8}SetEnabled(t){this.light.visible=t}onMove(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("UPDATE_OBJECT",{id:this.userData.id,position:this.position})})}onSelect(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("SELECT_OBJECT",{id:this.userData.id})})}onDeselect(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("DESELECT_OBJECT",{id:this.userData.id})})}}class ft extends s.Object3D{constructor(){super();c(this,"isDIVELight",!0);c(this,"isDIVESceneLight",!0);c(this,"_hemiLight");c(this,"_dirLight");this.name="DIVESceneLight",this._hemiLight=new s.HemisphereLight(16777215,16777215,2),this._hemiLight.layers.mask=b.PRODUCT_LAYER_MASK,this._hemiLight.position.set(0,50,0),this.add(this._hemiLight),this._dirLight=new s.DirectionalLight(16777215,3),this._dirLight.layers.mask=b.PRODUCT_LAYER_MASK,this._dirLight.position.set(1,1.75,1),this._dirLight.position.multiplyScalar(30),this._dirLight.castShadow=!0,this._dirLight.shadow.mapSize.width=2048,this._dirLight.shadow.mapSize.height=2048;const t=5;this._dirLight.shadow.camera.left=-5,this._dirLight.shadow.camera.right=t,this._dirLight.shadow.camera.top=t,this._dirLight.shadow.camera.bottom=-5,this._dirLight.shadow.camera.far=3500,this.add(this._dirLight)}SetColor(t){this._hemiLight.color=t,this._dirLight.color=t}SetIntensity(t){this._hemiLight.intensity=t*2,this._dirLight.intensity=t*3}SetEnabled(t){this._hemiLight.visible=t,this._dirLight.visible=t}}const ee=l=>l.parent?ee(l.parent):l;class gt{constructor(){c(this,"isMovable",!0)}}class _t{constructor(){c(this,"isSelectable",!0)}}function Be(l,n){return n.forEach(t=>{Object.getOwnPropertyNames(t.prototype).forEach(e=>{Object.defineProperty(l.prototype,e,Object.getOwnPropertyDescriptor(t.prototype,e))})}),l}class he extends Be(s.Object3D,[_t,gt]){constructor(){super();c(this,"isDIVENode",!0);c(this,"gizmo",null);c(this,"_positionWorldBuffer");c(this,"_boundingBox");this.layers.mask=b.PRODUCT_LAYER_MASK,this._positionWorldBuffer=new s.Vector3,this._boundingBox=new s.Box3}SetPosition(t){if(!this.parent){this.position.set(t.x,t.y,t.z);return}const e=new s.Vector3(t.x,t.y,t.z);this.position.copy(this.parent.worldToLocal(e)),"isDIVEGroup"in this.parent&&this.parent.UpdateLineTo(this)}SetRotation(t){this.rotation.set(t.x,t.y,t.z)}SetScale(t){this.scale.set(t.x,t.y,t.z)}SetVisibility(t){this.visible=t}SetToWorldOrigin(){this.position.set(0,0,0),E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("UPDATE_OBJECT",{id:this.userData.id,position:this.getWorldPosition(this._positionWorldBuffer),rotation:this.rotation,scale:this.scale})})}onMove(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("UPDATE_OBJECT",{id:this.userData.id,position:this.getWorldPosition(this._positionWorldBuffer),rotation:this.rotation,scale:this.scale})})}onSelect(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("SELECT_OBJECT",{id:this.userData.id})})}onDeselect(){E.getModule("State").then(t=>{var e;(e=t.get(this.userData.id))==null||e.performAction("DESELECT_OBJECT",{id:this.userData.id})})}}class bt extends he{constructor(){super(...arguments);c(this,"isDIVEModel",!0);c(this,"_mesh",null);c(this,"_material",null)}SetModel(t){this.clear(),this._boundingBox.makeEmpty(),t.traverse(e=>{e.castShadow=!0,e.receiveShadow=!0,e.layers.mask=this.layers.mask,this._boundingBox.expandByObject(e),!this._mesh&&"isMesh"in e&&(this._mesh=e,this._material?this._mesh.material=this._material:this._material=e.material)}),this.add(t)}SetMaterial(t){this._material||(this._material=new s.MeshStandardMaterial),t.vertexColors!==void 0&&(this._material.vertexColors=t.vertexColors),t.color!==void 0&&this._material.color.set(t.color),t.map!==void 0&&(this._material.map=t.map),t.normalMap!==void 0&&(this._material.normalMap=t.normalMap),t.roughness!==void 0&&(this._material.roughness=t.roughness),t.roughnessMap!==void 0&&(this._material.roughnessMap=t.roughnessMap,this._material.roughnessMap&&(this._material.roughness=1)),t.metalness!==void 0&&(this._material.metalness=t.metalness),t.metalnessMap!==void 0&&(this._material.metalnessMap=t.metalnessMap,this._material.metalnessMap&&(this._material.metalness=1)),this._mesh&&(this._mesh.material=this._material)}PlaceOnFloor(){var r,d,h,m;const t=this.getWorldPosition(this._positionWorldBuffer),e=t.clone();(d=(r=this._mesh)==null?void 0:r.geometry)==null||d.computeBoundingBox();const o=(m=(h=this._mesh)==null?void 0:h.geometry)==null?void 0:m.boundingBox;!o||!this._mesh||(t.y=t.y-this._mesh.localToWorld(o.min.clone()).y,t.y!==e.y&&E.getModule("State").then(f=>{var _;(_=f.get(this.userData.id))==null||_.performAction("UPDATE_OBJECT",{id:this.userData.id,position:t,rotation:this.rotation,scale:this.scale})}))}DropIt(){if(!this.parent){console.warn("DIVEModel: DropIt() called on a model that is not in the scene.",this);return}const t=this._boundingBox.min.y*this.scale.y,e=this.localToWorld(this._boundingBox.getCenter(new s.Vector3).multiply(this.scale));e.y=t+this.position.y;const o=new s.Raycaster(e,new s.Vector3(0,-1,0));o.layers.mask=b.PRODUCT_LAYER_MASK;const r=o.intersectObjects(ee(this).Root.children,!0);if(r.length>0){const d=r[0].object;d.geometry.computeBoundingBox();const h=d.geometry.boundingBox,m=d.localToWorld(h.max.clone()),f=this.position.clone(),_=this.position.clone().setY(m.y).sub(new s.Vector3(0,t,0));if(this.position.copy(_),this.position.y===f.y)return;this.onMove()}}}class yt extends he{constructor(){super();c(this,"isDIVEPrimitive",!0);c(this,"_mesh");this._mesh=new s.Mesh,this._mesh.layers.mask=b.PRODUCT_LAYER_MASK,this._mesh.castShadow=!0,this._mesh.receiveShadow=!0,this._mesh.material=new s.MeshStandardMaterial,this.add(this._mesh)}SetGeometry(t){const e=this.assembleGeometry(t);e&&(this._mesh.geometry=e,this._boundingBox.setFromObject(this._mesh))}SetMaterial(t){const e=this._mesh.material;t.vertexColors!==void 0&&(e.vertexColors=t.vertexColors),t.color!==void 0&&(e.color=new s.Color(t.color)),t.map!==void 0&&(e.map=t.map),t.normalMap!==void 0&&(e.normalMap=t.normalMap),t.roughness!==void 0&&(e.roughness=t.roughness),t.roughnessMap!==void 0&&(e.roughnessMap=t.roughnessMap,e.roughnessMap&&(e.roughness=1)),t.metalness!==void 0&&(e.metalness=t.metalness),t.metalnessMap!==void 0&&(e.metalnessMap=t.metalnessMap,e.metalnessMap&&(e.metalness=0)),this._mesh&&(this._mesh.material=e)}PlaceOnFloor(){var r,d,h,m;const t=this.getWorldPosition(this._positionWorldBuffer),e=t.clone();(d=(r=this._mesh)==null?void 0:r.geometry)==null||d.computeBoundingBox();const o=(m=(h=this._mesh)==null?void 0:h.geometry)==null?void 0:m.boundingBox;!o||!this._mesh||(t.y=t.y-this._mesh.localToWorld(o.min.clone()).y,t.y!==e.y&&E.getModule("State").then(f=>{var _;(_=f.get(this.userData.id))==null||_.performAction("UPDATE_OBJECT",{id:this.userData.id,position:t,rotation:this.rotation,scale:this.scale})}))}DropIt(){if(!this.parent){console.warn("DIVEPrimitive: DropIt() called on a model that is not in the scene.",this);return}const t=this._boundingBox.min.y*this.scale.y,e=this.localToWorld(this._boundingBox.getCenter(new s.Vector3).multiply(this.scale));e.y=t+this.position.y;const o=new s.Raycaster(e,new s.Vector3(0,-1,0));o.layers.mask=b.PRODUCT_LAYER_MASK;const r=o.intersectObjects(ee(this).Root.children,!0);if(r.length>0){const d=r[0].object;d.geometry.computeBoundingBox();const h=d.geometry.boundingBox,m=d.localToWorld(h.max.clone()),f=this.position.clone(),_=this.position.clone().setY(m.y).sub(new s.Vector3(0,t,0));if(this.position.copy(_),this.position.y===f.y)return;this.onMove()}}assembleGeometry(t){switch(this._mesh.material.flatShading=!1,t.name.toLowerCase()){case"cylinder":return this.createCylinderGeometry(t);case"sphere":return this.createSphereGeometry(t);case"pyramid":return this._mesh.material.flatShading=!0,this.createPyramidGeometry(t);case"cube":case"box":return this.createBoxGeometry(t);case"cone":return this.createConeGeometry(t);case"wall":return this.createWallGeometry(t);case"plane":return this.createPlaneGeometry(t);default:return console.warn("DIVEPrimitive.assembleGeometry: Invalid geometry type:",t.name.toLowerCase()),null}}createCylinderGeometry(t){const e=new s.CylinderGeometry(t.width/2,t.width/2,t.height,64);return e.translate(0,t.height/2,0),e}createSphereGeometry(t){return new s.SphereGeometry(t.width/2,256,256)}createPyramidGeometry(t){const e=new Float32Array([-t.width/2,0,-t.depth/2,t.width/2,0,-t.depth/2,t.width/2,0,t.depth/2,-t.width/2,0,t.depth/2,0,t.height,0]),o=new Uint16Array([0,1,2,0,2,3,0,4,1,1,4,2,2,4,3,3,4,0]),r=new s.BufferGeometry;return r.setAttribute("position",new s.BufferAttribute(e,3)),r.setIndex(new s.BufferAttribute(o,1)),r.computeVertexNormals(),r.computeBoundingBox(),r.computeBoundingSphere(),r}createBoxGeometry(t){const e=new s.BoxGeometry(t.width,t.height,t.depth);return e.translate(0,t.height/2,0),e}createConeGeometry(t){const e=new s.ConeGeometry(t.width/2,t.height,256);return e.translate(0,t.height/2,0),e}createWallGeometry(t){const e=new s.BoxGeometry(t.width,t.height,t.depth||.05,16);return e.translate(0,t.height/2,0),e}createPlaneGeometry(t){const e=new s.BoxGeometry(t.width,t.height,t.depth);return e.translate(0,t.height/2,0),e}}class Et extends he{constructor(){super();c(this,"isDIVEGroup",!0);c(this,"_members");c(this,"_lines");this.name="DIVEGroup",this._members=[],this._lines=[]}get members(){return this._members}SetPosition(t){super.SetPosition(t),this._members.forEach(e=>{"isDIVENode"in e&&e.onMove()})}SetLinesVisibility(t,e){if(!e){this._lines.forEach(r=>{r.visible=t});return}const o=this._members.indexOf(e);o!==-1&&(this._lines[o].visible=t)}attach(t){if(this._members.includes(t))return this;const e=this.createLine();return this.add(e),this._lines.push(e),super.attach(t),this._members.push(t),this.updateLineTo(e,t),this.SetLinesVisibility(!0,t),this}remove(t){const e=this._members.indexOf(t);if(e===-1)return this;const o=this._lines[e];return super.remove(o),this._lines.splice(e,1),super.remove(t),this._members.splice(e,1),this}UpdateLineTo(t){const e=this._members.indexOf(t);e!==-1&&this.updateLineTo(this._lines[e],t)}createLine(){const t=new s.BufferGeometry,e=new s.LineDashedMaterial({color:6710886,dashSize:.05,gapSize:.025}),o=new s.Line(t,e);return o.visible=!1,o}updateLineTo(t,e){const o=[new s.Vector3(0,0,0),e.position.clone()];t.geometry.setFromPoints(o),t.computeLineDistances()}}class wt extends s.Mesh{constructor(){super(new s.PlaneGeometry(1e4,1e4),new s.MeshStandardMaterial({color:new s.Color(150/255,150/255,150/255)}));c(this,"isDIVEFloor",!0);this.name="Floor",this.layers.mask=b.PRODUCT_LAYER_MASK,this.receiveShadow=!0,this.rotateX(-Math.PI/2)}SetVisibility(t){this.visible=t}SetColor(t){this.material.color=new s.Color(t)}}class Dt extends s.Object3D{constructor(){super();c(this,"isDIVERoot",!0);c(this,"_floor");c(this,"_assetLoader",null);this.name="Root",this._floor=new wt,this.add(this._floor)}get floor(){return this._floor}async _getAssetLoader(){return this._assetLoader||(this._assetLoader=new(await E.getModule("AssetLoader"))),this._assetLoader}ComputeSceneBB(){const t=new s.Box3;return this.children.forEach(e=>{"isDIVEFloor"in e||e.traverse(o=>{"isObject3D"in o&&t.expandByObject(o)})}),t}GetSceneObject(t){let e;return this.traverse(o=>{e||o.userData.id===t.id&&(e=o)}),e}AddSceneObject(t){switch(t.entityType){case"pov":break;case"light":{this.updateLight(t);break}case"model":{this.updateModel(t);break}case"primitive":{this.updatePrimitive(t);break}case"group":{this.updateGroup(t);break}default:console.warn(`DIVERoot.AddSceneObject: Unknown entity type: ${t.entityType}`)}}UpdateSceneObject(t){switch(t.entityType){case"pov":break;case"light":{this.updateLight(t);break}case"model":{this.updateModel(t);break}case"primitive":{this.updatePrimitive(t);break}case"group":{this.updateGroup(t);break}default:console.warn(`DIVERoot.UpdateSceneObject: Unknown entity type: ${t.entityType}`)}}DeleteSceneObject(t){switch(t.entityType){case"pov":break;case"light":{this.deleteLight(t);break}case"model":{this.deleteModel(t);break}case"primitive":{this.deletePrimitive(t);break}case"group":{this.deleteGroup(t);break}default:console.warn(`DIVERoot.DeleteSceneObject: Unknown entity type: ${t.entityType}`)}}PlaceOnFloor(t){switch(t.entityType){case"pov":case"light":break;case"model":case"primitive":{this.placeOnFloor(t);break}default:console.warn(`DIVERoot.PlaceOnFloor: Unknown entity type: ${t.entityType}`)}}updateLight(t){let e=this.GetSceneObject(t);if(!e){switch(t.type){case"scene":{e=new ft;break}case"ambient":{e=new pt;break}case"point":{e=new mt;break}default:{console.warn(`DIVERoot.updateLight: Unknown light type: ${t.type}`);return}}e.userData.id=t.id,this.add(e)}t.name!==void 0&&t.name!==null&&(e.name=t.name),t.position!==void 0&&t.position!==null&&e.position.set(t.position.x,t.position.y,t.position.z),t.intensity!==void 0&&t.intensity!==null&&e.SetIntensity(t.intensity),t.enabled!==void 0&&t.enabled!==null&&e.SetEnabled(t.enabled),t.color!==void 0&&t.color!==null&&e.SetColor(new s.Color(t.color)),t.visible!==void 0&&t.visible!==null&&(e.visible=t.visible),t.parentId!==void 0&&this.setParent({...t,parentId:t.parentId})}updateModel(t){let e=this.GetSceneObject(t);e||(e=new bt,e.userData.id=t.id,e.userData.uri=t.uri,this.add(e)),t.uri!==void 0&&this._getAssetLoader().then(o=>o.load(t.uri)).then(o=>{e.SetModel(o),E.getModule("State").then(r=>{var d;(d=r.get(t.id))==null||d.performAction("MODEL_LOADED",{id:t.id})})}),t.name!==void 0&&(e.name=t.name),t.position!==void 0&&e.SetPosition(t.position),t.rotation!==void 0&&e.SetRotation(t.rotation),t.scale!==void 0&&e.SetScale(t.scale),t.visible!==void 0&&e.SetVisibility(t.visible),t.material!==void 0&&e.SetMaterial(t.material),t.parentId!==void 0&&this.setParent({...t,parentId:t.parentId})}updatePrimitive(t){let e=this.GetSceneObject(t);e||(e=new yt,e.userData.id=t.id,this.add(e)),t.name!==void 0&&(e.name=t.name),t.geometry!==void 0&&e.SetGeometry(t.geometry),t.position!==void 0&&e.SetPosition(t.position),t.rotation!==void 0&&e.SetRotation(t.rotation),t.scale!==void 0&&e.SetScale(t.scale),t.visible!==void 0&&e.SetVisibility(t.visible),t.material!==void 0&&e.SetMaterial(t.material),t.parentId!==void 0&&this.setParent({...t,parentId:t.parentId})}updateGroup(t){let e=this.GetSceneObject(t);e||(e=new Et,e.userData.id=t.id,this.add(e)),t.name!==void 0&&(e.name=t.name),t.position!==void 0&&e.SetPosition(t.position),t.rotation!==void 0&&e.SetRotation(t.rotation),t.scale!==void 0&&e.SetScale(t.scale),t.visible!==void 0&&e.SetVisibility(t.visible),t.bbVisible!==void 0&&e.SetLinesVisibility(t.bbVisible),t.parentId!==void 0&&this.setParent({...t,parentId:t.parentId})}deleteLight(t){const e=this.GetSceneObject(t);if(!e){console.warn(`DIVERoot.deleteLight: Light with id ${t.id} not found`);return}this.detachTransformControls(e),e.parent.remove(e)}deleteModel(t){const e=this.GetSceneObject(t);if(!e){console.warn(`DIVERoot.deleteModel: Model with id ${t.id} not found`);return}this.detachTransformControls(e),e.parent.remove(e)}deletePrimitive(t){const e=this.GetSceneObject(t);if(!e){console.warn(`DIVERoot.deletePrimitive: Primitive with id ${t.id} not found`);return}this.detachTransformControls(e),e.parent.remove(e)}deleteGroup(t){const e=this.GetSceneObject(t);if(!e){console.warn(`DIVERoot.deleteGroup: Group with id ${t.id} not found`);return}this.detachTransformControls(e);for(let o=e.members.length-1;o>=0;o--)this.attach(e.members[o]);e.parent.remove(e)}placeOnFloor(t){const e=this.GetSceneObject(t);e&&e.PlaceOnFloor()}setParent(t){const e=this.GetSceneObject(t);if(t.parentId!==null){const o=this.GetSceneObject({id:t.parentId});if(!o)return;o.attach(e)}else this.attach(e)}detachTransformControls(t){this.findScene(t).children.find(e=>{"isTransformControls"in e&&e.detach()})}findScene(t){return t.parent!==null?this.findScene(t.parent):t}}const St="#888888",Ot="#dddddd";class Mt extends s.Object3D{constructor(){super(),this.name="Grid";const n=new s.GridHelper(100,100,St,Ot);n.material.depthTest=!1,n.layers.mask=b.HELPER_LAYER_MASK,this.add(n)}SetVisibility(n){this.visible=n}}class Tt extends s.Scene{constructor(){super();c(this,"_root");c(this,"_grid");this.background=new s.Color(16777215),this._root=new Dt,this.add(this._root),this._grid=new Mt,this.add(this._grid)}get Root(){return this._root}get Grid(){return this._grid}SetBackground(t){this.background=new s.Color(t)}ComputeSceneBB(){return this.Root.ComputeSceneBB()}GetSceneObject(t){return this.Root.GetSceneObject(t)}AddSceneObject(t){this.Root.AddSceneObject(t)}UpdateSceneObject(t){this.Root.UpdateSceneObject(t)}DeleteSceneObject(t){this.Root.DeleteSceneObject(t)}PlaceOnFloor(t){this.Root.PlaceOnFloor(t)}}const Ue={canvas:void 0,antialias:!0,alpha:!0,powerPreference:"high-performance",precision:"highp",stencil:!1,depth:!0,logarithmicDepthBuffer:!1};class Pt{constructor(n,t,e){c(this,"_webglrenderer");c(this,"_settings");this._scene=n,this._camera=t,this._settings={...Ue,...e??{}},this._webglrenderer=new s.WebGLRenderer({canvas:this._settings.canvas,antialias:this._settings.antialias,alpha:this._settings.alpha,powerPreference:this._settings.powerPreference,precision:this._settings.precision,stencil:this._settings.stencil,depth:this._settings.depth,logarithmicDepthBuffer:this._settings.logarithmicDepthBuffer})}get webglrenderer(){return this._webglrenderer}setCanvas(n){this._webglrenderer.dispose(),this._settings.canvas=n,this._webglrenderer=new s.WebGLRenderer(this._settings)}render(){this._webglrenderer.render(this._scene,this._camera)}onResize(n,t){this._webglrenderer.setSize(n,t,!1)}dispose(){this._webglrenderer.dispose()}}class Ct{constructor(){c(this,"_renderer",null);c(this,"_lastTime",0);c(this,"_isRunning",!1);c(this,"_tickers",[])}start(){this._isRunning||(this._isRunning=!0,this._lastTime=performance.now(),requestAnimationFrame(this._tick.bind(this)))}stop(){this._isRunning=!1}setRenderer(n){this._renderer=n}addTicker(n){this._tickers.find(t=>t.uuid===n.uuid)||this._tickers.push(n)}removeTicker(n){const t=this._tickers.findIndex(e=>e.uuid===n.uuid);t!==-1&&this._tickers.splice(t,1)}dispose(){this.stop(),this._tickers.forEach(n=>{var t;return(t=n.dispose)==null?void 0:t.call(n)}),this._tickers=[],this._isRunning=!1,this._lastTime=0}_tick(n){var e;if(!this._isRunning)return;const t=(n-this._lastTime)/1e3;this._lastTime=n,this._tickers.forEach(o=>o.tick(t)),(e=this._renderer)==null||e.render(),requestAnimationFrame(this._tick.bind(this))}}class xt{constructor(n,t){c(this,"_resizeObserver");c(this,"_width",0);c(this,"_height",0);this._resizeObserver=new ResizeObserver(e=>{for(const o of e){const{width:r,height:d}=o.contentRect;r===this._width&&d===this._height||(n.onResize(r,d),t.onResize(r,d),this._width=r,this._height=d)}}),this._observeCanvas(n.webglrenderer.domElement)}setCanvas(n){this._resizeObserver.disconnect(),this._observeCanvas(n)}dispose(){this._resizeObserver.disconnect()}_observeCanvas(n){if(n.parentElement)this._resizeObserver.observe(n.parentElement);else{const t=setInterval(()=>{n.parentElement&&(this._resizeObserver.observe(n.parentElement),clearInterval(t))},16)}}}const ze={autoStart:!0,displayAxes:!1,perspectiveCamera:ke.DIVEPerspectiveCameraDefaultSettings,renderer:Ue};class Lt{constructor(n){c(this,"_renderer");c(this,"_scene");c(this,"_camera");c(this,"_resizeManager");c(this,"_clock");c(this,"_settings");this._settings={...ze,...n??{}},this._scene=new Tt,this._camera=new ke.DIVEPerspectiveCamera(this._settings.perspectiveCamera),this._renderer=new Pt(this._scene,this._camera,this._settings.renderer),this._resizeManager=new xt(this._renderer,this._camera),this._clock=new Ct,this._clock.setRenderer(this._renderer),this._settings.autoStart&&this.start()}get scene(){return this._scene}get camera(){return this._camera}get renderer(){return this._renderer}setCanvas(n){this._renderer.setCanvas(n),this._resizeManager.setCanvas(n)}get clock(){return this._clock}start(){this._clock.start()}stop(){this._clock.stop()}dispose(){this._clock.dispose(),this._resizeManager.dispose(),this._renderer.dispose()}}window.DIVE={instances:[],get instance(){return window.DIVE.instances[0]}};const Ge={...ze,orbitController:J};class de{constructor(n){c(this,"_settings");c(this,"_engine");c(this,"orbitController");c(this,"axisCamera");this._settings={...Ge,...n??{}},this._engine=new Lt(n),this.orbitController=new $(this._engine.camera,this._engine.renderer.webglrenderer.domElement,this._settings.orbitController),this._engine.clock.addTicker(this.orbitController),this._settings.displayAxes?(this.axisCamera=new ut(this._engine.renderer,this._engine.scene,this._engine.camera),this._engine.clock.addTicker(this.axisCamera)):this.axisCamera=null,Promise.resolve().then(()=>require("./chunks/package-BFpY3sIj.cjs")).then(t=>{console.log(`DIVE ${t.default.version} initialized successfully!`),console.log(`
|
|
2
|
-
@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@
|
|
3
|
-
@@@@+-:::::::---------------------==------------------------------=#@@@@
|
|
4
|
-
@@%=::::.......::---------------------------------------------------------+@@
|
|
5
|
-
@@+:::...........::-----------------------------------------------------------#@@
|
|
6
|
-
@@=:::.........::::::-------------------------------------------------------------%@
|
|
7
|
-
@%:::.......:::::::-----------------------------------------------------------------#@
|
|
8
|
-
@*:::.....:::::-----------------------------------------------------------------------*@
|
|
9
|
-
@%::::::.::::---------------------------------------------------------------------------@@
|
|
10
|
-
@@-:::::::::-----------------------------------------------------------------------------=@
|
|
11
|
-
@%::::::::--------------------------------------------------------------------------------%@
|
|
12
|
-
@+::::::::--------------------------------=@@@@@%-----------------------------------------%@
|
|
13
|
-
@=:::::::--------------------------------*@@ @@+---------------------------------------#@
|
|
14
|
-
@+:::::::-------------------------------*@ @*--------------------------------------%@
|
|
15
|
-
@#::::::::-----------------------------=@@ @@=-------------------------------------%@
|
|
16
|
-
@@-::::::::----------------------------@@ @@------------------------------------=@
|
|
17
|
-
@%:::::::::--------------------------*@ @*-----------------------------------@@
|
|
18
|
-
@*:::::::::-------------------------@@ @@----------------------------------%@
|
|
19
|
-
@#::::::::::----------------------%@ @%--------------------------------%@
|
|
20
|
-
@#:::::::::::-------------------=@@ @@=------------------------------%@
|
|
21
|
-
@@-::::::::::::----------------%@ @%----------------------------=@@
|
|
22
|
-
@@#::::::::::::::------------*@ @*--------------------------#@@
|
|
23
|
-
@@+::::::::::::::::--------@@ @@------------------------+@@
|
|
24
|
-
@@*:::::::::::::::::----@@ @@---------------------+@@
|
|
25
|
-
@@@-:::::::::::::::--#@ @#-----------------=%@@
|
|
26
|
-
@@%-::::::::::::-%@ @%-------------=%@@
|
|
27
|
-
@@@@+:::::::#@@ @@*-------*@@@@
|
|
28
|
-
@@@@@@@ @@@@@@
|
|
29
|
-
|
|
30
|
-
`)})}static async QuickView(n,t){const e=new de(t);window.DIVE.instances.push(e);const o=new(await E.getModule("State"))(e._engine,e.orbitController);o.performAction("UPDATE_SCENE",{backgroundColor:16777215,gridEnabled:!1,floorEnabled:!0,floorColor:16777215}),o.performAction("SET_CAMERA_TRANSFORM",{position:{x:0,y:2,z:2},target:{x:0,y:.5,z:0}});const r=s.MathUtils.generateUUID();o.performAction("ADD_OBJECT",{entityType:"light",type:"scene",name:"light",id:r,enabled:!0,visible:!0,intensity:(t==null?void 0:t.lightIntensity)??1,color:16777215});const d=s.MathUtils.generateUUID();return new Promise(h=>{o.subscribe("MODEL_LOADED",m=>{if(m.id!==d)return;const f=o.performAction("COMPUTE_ENCOMPASSING_VIEW");o.performAction("SET_CAMERA_TRANSFORM",{position:f.position,target:f.target}),h(e)}),o.performAction("ADD_OBJECT",{entityType:"model",name:"object",id:d,position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0},scale:{x:1,y:1,z:1},uri:n,visible:!0,loaded:!1})})}get engine(){return this._engine}get canvas(){return this._engine.renderer.webglrenderer.domElement}setCanvas(n){this._engine.setCanvas(n),this._engine.clock.removeTicker(this.orbitController),this.orbitController.dispose(),this.orbitController=new $(this._engine.camera,n,this._settings.orbitController),this._engine.clock.addTicker(this.orbitController)}async Dispose(){return new Promise(n=>{this._engine.clock.removeTicker(this.orbitController),this.orbitController.dispose(),this.axisCamera&&(this._engine.clock.removeTicker(this.axisCamera),this.axisCamera.Dispose()),n()})}}const le=(l,n)=>{if(Object.keys(l).length===0&&Object.keys(n).length===0)return{};if(typeof l!="object"||typeof n!="object")return n;let t={};return Object.keys(n).forEach(e=>{if(!Object.keys(l).includes(e)){t={...t,[e]:n[e]};return}if(Array.isArray(n[e])){if(!Array.isArray(l[e])){t={...t,[e]:n[e]};return}const o=l[e],r=n[e];if(o.length===0&&r.length===0){t={...t};return}if(o.length!==r.length){t={...t,[e]:n[e]};return}const d=[];if(r.forEach((h,m)=>{const f=le(o[m],r[m]);Object.keys(f).length&&d.push(r[m])}),Object.keys(d).length){t={...t,[e]:d};return}return}if(typeof n[e]=="object"){if(typeof l[e]!="object"){t={...t,[e]:n[e]};return}const o=le(l[e],n[e]);if(Object.keys(o).length){t={...t,[e]:o};return}}l[e]!==n[e]&&(t={...t,[e]:n[e]})}),t};function D(l,n){const t=(l+"e").split("e");return+(t[0]+"e"+(+t[1]+(n||0)))}function At(l,n=0){const t=D(l,+n);return D(Math.ceil(t),-n)}function It(l,n=0){const t=D(l,+n);return D(Math.floor(t),-n)}function Ne(l,n=0){if(l<0)return-Ne(-l,n);const t=D(l,+n);return D(Math.round(t),-n)}function Rt(l,n,t){return Math.atan2(l.clone().cross(n).dot(t),n.clone().dot(l))}function vt(l,n=0){const t=D(l,+n);return D(Math.round(t),-n).toFixed(n)}function Vt(l,n=0){const t=D(l,+n);return D(Math.trunc(t),-n)}function kt(l){return(s.MathUtils.radToDeg(l)+360)%360}function jt(l){return s.MathUtils.degToRad(l)}const Bt={ceilExp:At,floorExp:It,roundExp:Ne,toFixedExp:vt,truncateExp:Vt,signedAngleTo:Rt,radToDeg:kt,degToRad:jt};exports.findInterface=C.findInterface;exports.implementsInterface=C.implementsInterface;exports.getModule=E.getModule;exports.FILE_TYPES=Q.FILE_TYPES;exports.SUPPORTED_FILE_TYPES=Q.SUPPORTED_FILE_TYPES;exports.getFileTypeFromUri=Q.getFileTypeFromUri;exports.isFileTypeSupported=Q.isFileTypeSupported;exports.ESystem=je.ESystem;exports.EWebXRUnsupportedReason=je.EWebXRUnsupportedReason;exports.DIVE=de;exports.DIVEDefaultSettings=Ge;exports.DIVEMath=Bt;exports.applyMixins=Be;exports.findSceneRecursive=ee;exports.getObjectDelta=le;
|
|
1
|
+
"use strict";var S=Object.defineProperty;var b=(r,i,e)=>i in r?S(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var n=(r,i,e)=>b(r,typeof i!="symbol"?i+"":i,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./chunks/FileTypes-PEcAgRZ8.cjs"),u=require("./chunks/PerspectiveCamera-CONx93im.cjs"),s=require("three"),I=require("./chunks/findInterface-C6mrvf_t.cjs"),y=require("./chunks/isFileTypeSupported-CrEqYiv9.cjs"),V=require("./chunks/network-error-CdDXil5g.cjs"),w=require("./chunks/parse-error-Dy_EE4rL.cjs"),P=require("./chunks/PovSchema-Co9FznEz.cjs");class E extends s.Object3D{constructor(e,t,o,l,a){super();n(this,"isHoverable",!0);n(this,"isDraggable",!0);n(this,"parent",null);n(this,"axis");n(this,"_color",new s.Color(16711935));n(this,"_colorHover");n(this,"_hovered");n(this,"_highlight");n(this,"_lineMaterial");n(this,"_colliderMesh");this.name="DIVERadialHandle",this.axis=e,this._color.set(a),this._colorHover=this._color.clone().multiplyScalar(2),this._hovered=!1,this._highlight=!1;const c=new s.TorusGeometry(t,.01,13,48,o);this._lineMaterial=new s.MeshBasicMaterial({color:a,depthTest:!1,depthWrite:!1});const d=new s.Mesh(c,this._lineMaterial);d.layers.mask=u.UI_LAYER_MASK,d.renderOrder=1/0,this.add(d);const p=new s.TorusGeometry(t,.1,3,48,o),f=new s.MeshBasicMaterial({color:16711935,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new s.Mesh(p,f),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=u.UI_LAYER_MASK,this._colliderMesh.renderOrder=1/0,this.add(this._colliderMesh),this.lookAt(l)}set debug(e){this._colliderMesh.visible=e}get highlight(){return this._highlight}set highlight(e){this._highlight=e,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new s.Vector3(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new s.Vector3(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new s.Vector3(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHandleHover(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHandleHover(this,!1)}onDragStart(){this.parent&&this.parent.onHandleDragStart(this)}onDrag(e){this.parent&&this.parent.onHandleDrag(this,e)}onDragEnd(){this.parent&&this.parent.onHandleDragEnd(this)}}function _(r,i){const e=(r+"e").split("e");return+(e[0]+"e"+(+e[1]+(i||0)))}function R(r,i=0){const e=_(r,+i);return _(Math.ceil(e),-i)}function O(r,i=0){const e=_(r,+i);return _(Math.floor(e),-i)}function A(r,i=0){if(r<0)return-A(-r,i);const e=_(r,+i);return _(Math.round(e),-i)}function v(r,i,e){return Math.atan2(r.clone().cross(i).dot(e),i.clone().dot(r))}function H(r,i=0){const e=_(r,+i);return _(Math.round(e),-i).toFixed(i)}function z(r,i=0){const e=_(r,+i);return _(Math.trunc(e),-i)}function G(r){return(s.MathUtils.radToDeg(r)+360)%360}function C(r){return s.MathUtils.degToRad(r)}const x={ceilExp:R,floorExp:O,roundExp:A,toFixedExp:H,truncateExp:z,signedAngleTo:v,radToDeg:G,degToRad:C};class L extends s.Object3D{constructor(e){super();n(this,"children");n(this,"_controller");n(this,"_startRot");this.name="DIVERotateGizmo",this.children=[],this._startRot=null,this._controller=e,this.add(new E("x",1,Math.PI/2,new s.Vector3(1,0,0),h.AxesColorRed)),this.add(new E("y",1,-Math.PI/2,new s.Vector3(0,1,0),h.AxesColorGreen)),this.add(new E("z",1,Math.PI/2,new s.Vector3(0,0,1),h.AxesColorBlue))}set debug(e){this.children.forEach(t=>{t.debug=e})}reset(){this.children.forEach(e=>{e.reset()})}handleHighlight(e,t,o){this.children.forEach(l=>{o?l.highlight=l.axis===e&&o:l.highlight=l.axis===e&&t})}onHandleHover(e,t){this._startRot||this.parent&&this.parent.parent&&(this.parent.parent.onHover("rotate",e.axis,t),this.handleHighlight(e.axis,t,!1))}onHandleDragStart(e){if(!this.parent||!this.parent.parent)return;const t=this.parent.parent.object;t&&(this._startRot=t.rotation.clone(),this.handleHighlight(e.axis,!0,!0))}onHandleDrag(e,t){if(!this._startRot||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;const o=t.dragCurrent.clone().sub(this.parent.parent.position).normalize(),l=t.dragStart.clone().sub(this.parent.parent.position).normalize(),a=x.signedAngleTo(l,o,e.forwardVector),c=new s.Euler(this._startRot.x+e.forwardVector.x*a,this._startRot.y+e.forwardVector.y*a,this._startRot.z+e.forwardVector.z*a);this.parent.parent.onChange(void 0,c)}onHandleDragEnd(e){this._startRot=null,this.handleHighlight(e.axis,!1,!1)}}class m extends s.Object3D{constructor(e,t,o,l){super();n(this,"isHoverable",!0);n(this,"isDraggable",!0);n(this,"parent",null);n(this,"axis");n(this,"_color",new s.Color(16711935));n(this,"_colorHover");n(this,"_hovered");n(this,"_highlight");n(this,"_lineMaterial");n(this,"_colliderMesh");this.name="DIVEAxisHandle",this.axis=e,this._color.set(l),this._colorHover=this._color.clone().multiplyScalar(2),this._highlight=!1,this._hovered=!1;const a=new s.CylinderGeometry(.01,.01,t,13);this._lineMaterial=new s.MeshBasicMaterial({color:l,depthTest:!1,depthWrite:!1});const c=new s.Mesh(a,this._lineMaterial);c.layers.mask=u.UI_LAYER_MASK,c.renderOrder=1/0,c.rotateX(Math.PI/2),c.translateY(t/2),this.add(c);const d=new s.CylinderGeometry(.1,.1,t,3),p=new s.MeshBasicMaterial({color:16711935,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new s.Mesh(d,p),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=u.UI_LAYER_MASK,this._colliderMesh.renderOrder=1/0,this._colliderMesh.rotateX(Math.PI/2),this._colliderMesh.translateY(t/2),this.add(this._colliderMesh),this.rotateX(o.y*-Math.PI/2),this.rotateY(o.x*Math.PI/2)}set debug(e){this._colliderMesh.visible=e}get highlight(){return this._highlight}set highlight(e){this._highlight=e,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new s.Vector3(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new s.Vector3(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new s.Vector3(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHandleHover(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHandleHover(this,!1)}onDragStart(){this.parent&&this.parent.onHandleDragStart(this)}onDrag(e){this.parent&&this.parent.onHandleDrag(this,e)}onDragEnd(){this.parent&&this.parent.onHandleDragEnd(this)}}class T extends s.Object3D{constructor(e){super();n(this,"_controller");n(this,"children");n(this,"_startPos");this.name="DIVETranslateGizmo",this.children=[],this._startPos=null,this._controller=e,this.add(new m("x",1,new s.Vector3(1,0,0),h.AxesColorRed)),this.add(new m("y",1,new s.Vector3(0,1,0),h.AxesColorGreen)),this.add(new m("z",1,new s.Vector3(0,0,1),h.AxesColorBlue))}set debug(e){this.children.forEach(t=>{t.debug=e})}reset(){this.children.forEach(e=>{e.reset()})}handleHighlight(e,t,o){this.children.forEach(l=>{o?l.highlight=l.axis===e&&o:l.highlight=l.axis===e&&t})}onHandleHover(e,t){this._startPos||this.parent&&this.parent.parent&&(this.parent.parent.onHover("translate",e.axis,t),this.handleHighlight(e.axis,t,!1))}onHandleDragStart(e){if(!this.parent||!this.parent.parent)return;const t=this.parent.parent.object;t&&(this._startPos=t.position.clone(),this.handleHighlight(e.axis,!0,!0))}onHandleDrag(e,t){if(!this._startPos||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;const o=t.dragDelta.clone().projectOnVector(e.forwardVector);this.parent.parent.onChange(this._startPos.clone().add(o))}onHandleDragEnd(e){this._startPos=null,this.handleHighlight(e.axis,!1,!1)}}class D extends s.Object3D{constructor(e,t,o,l,a=.05){super();n(this,"isHoverable",!0);n(this,"isDraggable",!0);n(this,"parent",null);n(this,"axis");n(this,"_color",new s.Color(16711935));n(this,"_colorHover");n(this,"_hovered");n(this,"_highlight");n(this,"_lineMaterial");n(this,"_colliderMesh");n(this,"_box");n(this,"_boxSize");this.name="DIVEScaleHandle",this.axis=e,this._color.set(l),this._colorHover=this._color.clone().multiplyScalar(2),this._hovered=!1,this._highlight=!1,this._boxSize=a;const c=new s.CylinderGeometry(.01,.01,t-a/2,13);this._lineMaterial=new s.MeshBasicMaterial({color:l,depthTest:!1,depthWrite:!1});const d=new s.Mesh(c,this._lineMaterial);d.layers.mask=u.UI_LAYER_MASK,d.renderOrder=1/0,d.rotateX(Math.PI/2),d.translateY(t/2-a/4),this.add(d),this._box=new s.Mesh(new s.BoxGeometry(a,a,a),this._lineMaterial),this._box.layers.mask=u.UI_LAYER_MASK,this._box.renderOrder=1/0,this._box.rotateX(Math.PI/2),this._box.translateY(t-a/2),this._box.rotateZ(o.x*Math.PI/2),this._box.rotateX(o.z*Math.PI/2),this.add(this._box);const p=new s.CylinderGeometry(.1,.1,t+a/2,3),f=new s.MeshBasicMaterial({color:16711935,transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1});this._colliderMesh=new s.Mesh(p,f),this._colliderMesh.visible=!1,this._colliderMesh.layers.mask=u.UI_LAYER_MASK,this._colliderMesh.renderOrder=1/0,this._colliderMesh.rotateX(Math.PI/2),this._colliderMesh.translateY(t/2),this.add(this._colliderMesh),this.rotateX(o.y*-Math.PI/2),this.rotateY(o.x*Math.PI/2)}set debug(e){this._colliderMesh.visible=e}get highlight(){return this._highlight}set highlight(e){this._highlight=e,this._lineMaterial.color=this._highlight||this._hovered?this._colorHover:this._color}get forwardVector(){return new s.Vector3(0,0,1).applyQuaternion(this.quaternion).normalize()}get rightVector(){return new s.Vector3(1,0,0).applyQuaternion(this.quaternion).normalize()}get upVector(){return new s.Vector3(0,1,0).applyQuaternion(this.quaternion).normalize()}reset(){this._lineMaterial.color=this._color}update(e){this._box.scale.copy(new s.Vector3(1,1,1).sub(this.forwardVector).add(e.clone().multiply(this.forwardVector)))}onPointerEnter(){this._hovered=!0,this.parent&&this.parent.onHoverAxis(this,!0)}onPointerLeave(){this._hovered=!1,this.parent&&this.parent.onHoverAxis(this,!1)}onDragStart(){this.parent&&this.parent.onAxisDragStart(this)}onDrag(e){this.parent&&this.parent.onAxisDrag(this,e)}onDragEnd(){this.parent&&this.parent.onAxisDragEnd(this)}}class Y extends s.Object3D{constructor(e){super();n(this,"isHoverable",!0);n(this,"children");n(this,"_controller");n(this,"_startScale");this.name="DIVEScaleGizmo",this.children=[],this._startScale=null,this._controller=e,this.add(new D("x",1,new s.Vector3(1,0,0),h.AxesColorRed)),this.add(new D("y",1,new s.Vector3(0,1,0),h.AxesColorGreen)),this.add(new D("z",1,new s.Vector3(0,0,1),h.AxesColorBlue))}set debug(e){this.children.forEach(t=>{t.debug=e})}reset(){this.children.forEach(e=>{e.reset()})}update(e){this.children.forEach(t=>{t.update(e)})}handleHighlight(e,t,o){this.children.forEach(l=>{o?l.highlight=l.axis===e&&o:l.highlight=l.axis===e&&t})}onHoverAxis(e,t){this._startScale||this.parent&&this.parent.parent&&(this.parent.parent.onHover("translate",e.axis,t),this.handleHighlight(e.axis,t,!1))}onAxisDragStart(e){if(!this.parent||!this.parent.parent)return;const t=this.parent.parent.object;t&&(this._startScale=t.scale.clone(),this.handleHighlight(e.axis,!0,!0))}onAxisDrag(e,t){if(!this._startScale||!this.parent||!this.parent.parent||!("onChange"in this.parent.parent))return;const o=t.dragDelta.clone().projectOnVector(e.forwardVector);this.parent.parent.onChange(void 0,void 0,this._startScale.clone().add(o))}onAxisDragEnd(e){this._startScale=null,this.handleHighlight(e.axis,!1,!1)}}class j extends s.Object3D{constructor(){super();n(this,"_meshX");n(this,"_meshY");n(this,"_meshZ");this.name="DIVEGizmoPlane";const e=new s.MeshBasicMaterial({transparent:!0,opacity:.15,depthTest:!1,depthWrite:!1,side:2}),t=new s.PlaneGeometry(100,100,2,2),o=e.clone();o.color.set(16711680),this._meshX=new s.Mesh(t,o),this._meshX.layers.mask=u.UI_LAYER_MASK,this._meshX.rotateY(Math.PI/2);const l=new s.PlaneGeometry(100,100,2,2),a=e.clone();a.color.set(65280),this._meshY=new s.Mesh(l,a),this._meshY.layers.mask=u.UI_LAYER_MASK,this._meshY.rotateX(-Math.PI/2);const c=new s.PlaneGeometry(100,100,2,2),d=e.clone();d.color.set(255),this._meshZ=new s.Mesh(c,d),this._meshZ.layers.mask=u.UI_LAYER_MASK}get XPlane(){return this._meshX}get YPlane(){return this._meshY}get ZPlane(){return this._meshZ}assemble(e,t){if(this.clear(),e==="translate"||e==="scale")switch(t){case"x":this.add(this._meshY),this.add(this._meshZ);break;case"y":this.add(this._meshX),this.add(this._meshZ);break;case"z":this.add(this._meshX),this.add(this._meshY);break}else if(e==="rotate")switch(t){case"x":this.add(this._meshX);break;case"y":this.add(this._meshY);break;case"z":this.add(this._meshZ);break}}}class N extends s.Object3D{constructor(e){super();n(this,"_mode");n(this,"_gizmoNode");n(this,"_translateGizmo");n(this,"_rotateGizmo");n(this,"_scaleGizmo");n(this,"_gizmoPlane");n(this,"_object");this.name="DIVEGizmo",e.addEventListener("change",()=>{const t=e.getDistance()/2.5;this.scale.set(t,t,t)}),this._mode="translate",this._gizmoNode=new s.Object3D,this.add(this._gizmoNode),this._translateGizmo=new T(e),this._rotateGizmo=new L(e),this._scaleGizmo=new Y(e),this._gizmoPlane=new j,this._gizmoPlane.visible=!1,this._object=null}get mode(){return this._mode}set mode(e){this._mode=e,this.assemble()}set debug(e){this._translateGizmo.debug=e,this._rotateGizmo.debug=e,this._scaleGizmo.debug=e}get gizmoNode(){return this._gizmoNode}get gizmoPlane(){return this._gizmoPlane}get object(){return this._object}attach(e){return this._object=e,this.assemble(),this}detach(){return this._object=null,this.assemble(),this}onHover(e,t,o){o&&this._gizmoPlane.assemble(e,t)}onChange(e,t,o){this.object!==null&&(e&&(this.position.copy(e),this.object.position.copy(e)),t&&this.object.rotation.copy(t),o&&(this.object.scale.copy(o),this._scaleGizmo.update(o)))}assemble(){this._gizmoNode.clear(),this._gizmoPlane.clear(),this._translateGizmo.reset(),this._rotateGizmo.reset(),this._scaleGizmo.reset(),this.object!==null&&(this._mode==="translate"&&this._gizmoNode.add(this._translateGizmo),this._mode==="rotate"&&this._gizmoNode.add(this._rotateGizmo),this._mode==="scale"&&this._gizmoNode.add(this._scaleGizmo),this.add(this._gizmoPlane))}}class F{constructor(){n(this,"isMovable",!0)}}class U{constructor(){n(this,"isSelectable",!0)}}function K(r,i){return i.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(o=>{if(o==="constructor")return;const l=Object.getOwnPropertyDescriptor(e.prototype,o);Object.defineProperty(r.prototype,o,l)});const t=new e;Object.getOwnPropertyNames(t).forEach(o=>{const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(r.prototype,o,l)})}),r}function g(r,i=new WeakMap){if(r===null||typeof r!="object")return r;if(i.has(r))return i.get(r);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r.source,r.flags);if(Array.isArray(r)){const a=[];i.set(r,a);for(let c=0;c<r.length;c++)a[c]=g(r[c],i);return a}if(r instanceof Map){const a=new Map;i.set(r,a);for(const[c,d]of r)a.set(g(c,i),g(d,i));return a}if(r instanceof Set){const a=new Set;i.set(r,a);for(const c of r)a.add(g(c,i));return a}const e=r;if(typeof e.clone=="function"){const a=e.clone();return i.set(r,a),a}const t=Object.create(Object.getPrototypeOf(r));i.set(r,t);const o=Object.getOwnPropertyNames(r);for(const a of o){const c=Object.getOwnPropertyDescriptor(r,a);if(c)if(c.value!==void 0){const d=g(c.value,i);Object.defineProperty(t,a,{...c,value:d})}else Object.defineProperty(t,a,c)}const l=Object.getOwnPropertySymbols(r);for(const a of l){const c=Object.getOwnPropertyDescriptor(r,a);if(c)if(c.value!==void 0){const d=g(c.value,i);Object.defineProperty(t,a,{...c,value:d})}else Object.defineProperty(t,a,c)}return t}const M=(r,i)=>{if(Object.keys(r).length===0&&Object.keys(i).length===0)return{};if(typeof r!="object"||typeof i!="object")return i;let e={};return Object.keys(i).forEach(t=>{if(!Object.keys(r).includes(t)){e={...e,[t]:i[t]};return}if(Array.isArray(i[t])){if(!Array.isArray(r[t])){e={...e,[t]:i[t]};return}const o=r[t],l=i[t];if(o.length===0&&l.length===0){e={...e};return}if(o.length!==l.length){e={...e,[t]:i[t]};return}const a=[];if(l.forEach((c,d)=>{const p=M(o[d],l[d]);Object.keys(p).length&&a.push(l[d])}),Object.keys(a).length){e={...e,[t]:a};return}return}if(typeof i[t]=="object"){if(typeof r[t]!="object"){e={...e,[t]:i[t]};return}const o=M(r[t],i[t]);if(Object.keys(o).length){e={...e,[t]:o};return}}r[t]!==i[t]&&(e={...e,[t]:i[t]})}),e};function X(r){return r.entityType==="group"}function q(r){return r.entityType==="light"}function B(r){return r.entityType==="primitive"}exports.AxesColorBlue=h.AxesColorBlue;exports.AxesColorBlueLetter=h.AxesColorBlueLetter;exports.AxesColorGreen=h.AxesColorGreen;exports.AxesColorGreenLetter=h.AxesColorGreenLetter;exports.AxesColorRed=h.AxesColorRed;exports.AxesColorRedLetter=h.AxesColorRedLetter;exports.DIVE=h.DIVE;exports.DIVEAmbientLight=h.DIVEAmbientLight;exports.DIVEClock=h.DIVEClock;exports.DIVEDefaultSettings=h.DIVEDefaultSettings;exports.DIVEEngine=h.DIVEEngine;exports.DIVEFloor=h.DIVEFloor;exports.DIVEGrid=h.DIVEGrid;exports.DIVEGroup=h.DIVEGroup;exports.DIVEModel=h.DIVEModel;exports.DIVENode=h.DIVENode;exports.DIVEPointLight=h.DIVEPointLight;exports.DIVEPrimitive=h.DIVEPrimitive;exports.DIVERenderPipeline=h.DIVERenderPipeline;exports.DIVERenderPipelineDefaultSettings=h.DIVERenderPipelineDefaultSettings;exports.DIVEResizeManager=h.DIVEResizeManager;exports.DIVERoot=h.DIVERoot;exports.DIVEScene=h.DIVEScene;exports.DIVESceneLight=h.DIVESceneLight;exports.EngineDefaultSettings=h.EngineDefaultSettings;exports.FILE_TYPES=h.FILE_TYPES;exports.GRID_CENTER_LINE_COLOR=h.GRID_CENTER_LINE_COLOR;exports.GRID_SIDE_LINE_COLOR=h.GRID_SIDE_LINE_COLOR;exports.SUPPORTED_FILE_TYPES=h.SUPPORTED_FILE_TYPES;exports.findSceneRecursive=h.findSceneRecursive;exports.COORDINATE_LAYER_MASK=u.COORDINATE_LAYER_MASK;exports.DEFAULT_LAYER_MASK=u.DEFAULT_LAYER_MASK;exports.DIVEPerspectiveCamera=u.DIVEPerspectiveCamera;exports.DIVEPerspectiveCameraDefaultSettings=u.DIVEPerspectiveCameraDefaultSettings;exports.HELPER_LAYER_MASK=u.HELPER_LAYER_MASK;exports.PRODUCT_LAYER_MASK=u.PRODUCT_LAYER_MASK;exports.UI_LAYER_MASK=u.UI_LAYER_MASK;exports.findInterface=I.findInterface;exports.implementsInterface=I.implementsInterface;exports.getFileTypeFromUri=y.getFileTypeFromUri;exports.isFileTypeSupported=y.isFileTypeSupported;exports.FileContentError=V.FileContentError;exports.NetworkError=V.NetworkError;exports.FileTypeError=w.FileTypeError;exports.ParseError=w.ParseError;exports.isModelSchema=P.isModelSchema;exports.isPovSchema=P.isPovSchema;exports.DIVEGizmo=N;exports.DIVEMath=x;exports.DIVEMovable=F;exports.DIVESelectable=U;exports.applyMixins=K;exports.deepClone=g;exports.getObjectDelta=M;exports.isGroupSchema=X;exports.isLightSchema=q;exports.isPrimitiveSchema=B;
|