@shopware-ag/dive 2.0.1-beta.5 → 2.0.1-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/build/{src/modules/asset/exporter/AssetExporter.mjs → chunks/AssetExporter-QnOue3VT.mjs} +21 -21
  2. package/build/{src/modules/asset/exporter/AssetExporter.cjs → chunks/AssetExporter-TzKB2FHh.cjs} +4 -4
  3. package/build/chunks/AssetLoader-DCBiLwef.cjs +4 -0
  4. package/build/{src/modules/asset/loader/AssetLoader.mjs → chunks/AssetLoader-Dqrg0Re8.mjs} +43 -40
  5. package/build/chunks/FileTypes-Ca8pkRlQ.cjs +30 -0
  6. package/build/chunks/FileTypes-CpKiTXEY.mjs +1109 -0
  7. package/build/chunks/MathUtils-CBW56ZuG.cjs +1 -0
  8. package/build/chunks/MathUtils-CFGjHuVF.mjs +159 -0
  9. package/build/chunks/OrbitController-D-WNei2f.mjs +940 -0
  10. package/build/chunks/OrbitController-rMX8EHvJ.cjs +1 -0
  11. package/build/chunks/PerspectiveCamera-CONx93im.cjs +1 -0
  12. package/build/chunks/PerspectiveCamera-DUiWJJIj.mjs +38 -0
  13. package/build/chunks/PovSchema-Co9FznEz.cjs +1 -0
  14. package/build/chunks/PovSchema-DWWvr_ED.mjs +10 -0
  15. package/build/chunks/SelectTool-BizqI7_a.cjs +1 -0
  16. package/build/chunks/{SelectTool-DmuTopJx.mjs → SelectTool-DVFL7BtX.mjs} +30 -25
  17. package/build/chunks/findInterface-C6mrvf_t.cjs +1 -0
  18. package/build/chunks/findInterface-DbJ5qzbc.mjs +11 -0
  19. package/build/chunks/network-error-CHvryg-4.mjs +18 -0
  20. package/build/chunks/network-error-D_pq8VU6.cjs +1 -0
  21. package/build/chunks/package-CeZyVg2G.mjs +39 -0
  22. package/build/chunks/package-D_hIrGNz.cjs +1 -0
  23. package/build/dive.cjs +1 -30
  24. package/build/dive.mjs +599 -1540
  25. package/build/plugins/animation/index.cjs +1 -0
  26. package/build/plugins/animation/index.d.ts +2 -0
  27. package/build/plugins/animation/index.mjs +126 -0
  28. package/build/plugins/ar/index.cjs +1 -0
  29. package/build/plugins/ar/index.d.ts +2 -0
  30. package/build/plugins/ar/index.mjs +202 -0
  31. package/build/plugins/assetconverter/index.d.ts +2 -0
  32. package/build/plugins/assetexporter/index.cjs +1 -0
  33. package/build/plugins/assetexporter/index.d.ts +2 -0
  34. package/build/plugins/assetexporter/index.mjs +4 -0
  35. package/build/plugins/assetloader/index.cjs +1 -0
  36. package/build/plugins/assetloader/index.d.ts +2 -0
  37. package/build/plugins/assetloader/index.mjs +6 -0
  38. package/build/plugins/axiscamera/index.cjs +1 -0
  39. package/build/plugins/axiscamera/index.d.ts +2 -0
  40. package/build/plugins/axiscamera/index.mjs +4 -0
  41. package/build/plugins/mediacreator/index.cjs +1 -0
  42. package/build/plugins/mediacreator/index.d.ts +2 -0
  43. package/build/{src/modules/mediacreator/MediaCreator.mjs → plugins/mediacreator/index.mjs} +1 -1
  44. package/build/plugins/orbitcontroller/index.cjs +1 -0
  45. package/build/plugins/orbitcontroller/index.d.ts +2 -0
  46. package/build/plugins/orbitcontroller/index.mjs +5 -0
  47. package/build/plugins/state/index.cjs +27 -0
  48. package/build/plugins/state/index.d.ts +2 -0
  49. package/build/plugins/state/index.mjs +4265 -0
  50. package/build/plugins/systeminfo/index.cjs +1 -0
  51. package/build/plugins/systeminfo/index.d.ts +2 -0
  52. package/build/plugins/systeminfo/index.mjs +136 -0
  53. package/build/plugins/toolbox/index.cjs +1 -0
  54. package/build/plugins/toolbox/index.d.ts +2 -0
  55. package/build/{src/modules/toolbox/Toolbox.mjs → plugins/toolbox/index.mjs} +8 -2
  56. package/build/src/components/gizmo/Gizmo.d.ts +1 -1
  57. package/build/src/components/gizmo/handles/AxisHandle.d.ts +1 -1
  58. package/build/src/components/gizmo/handles/RadialHandle.d.ts +1 -1
  59. package/build/src/components/gizmo/handles/ScaleHandle.d.ts +1 -1
  60. package/build/src/components/gizmo/rotate/RotateGizmo.d.ts +2 -2
  61. package/build/src/components/gizmo/scale/ScaleGizmo.d.ts +2 -2
  62. package/build/src/components/gizmo/translate/TranslateGizmo.d.ts +2 -2
  63. package/build/src/components/model/Model.d.ts +2 -2
  64. package/build/src/components/primitive/Primitive.d.ts +3 -3
  65. package/build/src/components/root/Root.d.ts +5 -7
  66. package/build/src/core/Dive.d.ts +1 -1
  67. package/build/src/engine/clock/Clock.d.ts +1 -0
  68. package/build/src/engine/index.d.ts +6 -0
  69. package/build/src/engine/renderer/Renderer.d.ts +47 -7
  70. package/build/src/events/index.d.ts +1 -0
  71. package/build/src/index.d.ts +4 -2
  72. package/build/src/interfaces/Draggable.d.ts +1 -1
  73. package/build/src/plugins/animation/index.d.ts +2 -0
  74. package/build/src/{modules/animation → plugins/animation/src}/animator/Animator.d.ts +2 -3
  75. package/build/src/plugins/animation/src/index.d.ts +3 -0
  76. package/build/src/plugins/animation/src/system/AnimationSystem.d.ts +23 -0
  77. package/build/src/plugins/ar/index.d.ts +4 -0
  78. package/build/src/plugins/ar/src/ARSystem.d.ts +24 -0
  79. package/build/src/plugins/ar/src/arquicklook/ARQuickLook.d.ts +15 -0
  80. package/build/src/plugins/ar/src/error/ar-errors.d.ts +18 -0
  81. package/build/src/{modules/ar → plugins/ar/src}/sceneviewer/SceneViewer.d.ts +10 -0
  82. package/build/src/{modules/ar → plugins/ar/src}/webxr/WebXR.d.ts +2 -2
  83. package/build/src/{modules/ar → plugins/ar/src}/webxr/controller/WebXRController.d.ts +2 -2
  84. package/build/src/{modules/ar → plugins/ar/src}/webxr/origin/WebXROrigin.d.ts +1 -1
  85. package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/WebXRRaycaster.d.ts +3 -3
  86. package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/ar/WebXRRaycasterAR.d.ts +1 -1
  87. package/build/src/{modules/ar → plugins/ar/src}/webxr/raycaster/three/WebXRRaycasterTHREE.d.ts +2 -2
  88. package/build/src/{modules/ar → plugins/ar/src}/webxr/touchscreencontrols/WebXRTouchscreenControls.d.ts +1 -1
  89. package/build/src/plugins/assetconverter/index.d.ts +1 -0
  90. package/build/src/plugins/assetconverter/src/AssetConverter.d.ts +13 -0
  91. package/build/src/plugins/assetexporter/index.d.ts +1 -0
  92. package/build/src/{modules/asset/exporter → plugins/assetexporter/src}/AssetExporter.d.ts +0 -17
  93. package/build/src/plugins/assetloader/index.d.ts +3 -0
  94. package/build/src/plugins/assetloader/src/loader/AssetLoader.d.ts +8 -0
  95. package/build/src/plugins/axiscamera/index.d.ts +1 -0
  96. package/build/src/{modules/axiscamera → plugins/axiscamera/src}/AxisCamera.d.ts +1 -4
  97. package/build/src/plugins/mediacreator/index.d.ts +1 -0
  98. package/build/src/plugins/mediacreator/src/MediaCreator.d.ts +15 -0
  99. package/build/src/plugins/orbitcontroller/index.d.ts +1 -0
  100. package/build/src/{modules/controller/orbit → plugins/orbitcontroller/src}/OrbitController.d.ts +3 -3
  101. package/build/src/plugins/state/index.d.ts +4 -0
  102. package/build/src/{modules/state → plugins/state/src}/State.d.ts +4 -27
  103. package/build/src/{modules/state → plugins/state/src}/actions/action.d.ts +1 -1
  104. package/build/src/{modules/state → plugins/state/src}/actions/ar/launchar.d.ts +2 -2
  105. package/build/src/{modules/state → plugins/state/src}/actions/camera/computeencompassingview.d.ts +1 -1
  106. package/build/src/{modules/state → plugins/state/src}/actions/camera/getcameratransform.d.ts +1 -1
  107. package/build/src/{modules/state → plugins/state/src}/actions/camera/lockcamera.d.ts +1 -1
  108. package/build/src/{modules/state → plugins/state/src}/actions/camera/movecamera.d.ts +3 -3
  109. package/build/src/{modules/state → plugins/state/src}/actions/camera/setcameralayer.d.ts +1 -1
  110. package/build/src/{modules/state → plugins/state/src}/actions/camera/setcameratransform.d.ts +1 -1
  111. package/build/src/{modules/state → plugins/state/src}/actions/camera/zoomcamera.d.ts +1 -1
  112. package/build/src/{modules/state → plugins/state/src}/actions/media/generatemedia.d.ts +1 -1
  113. package/build/src/plugins/state/src/actions/object/addobject.d.ts +9 -0
  114. package/build/src/plugins/state/src/actions/object/deleteobject.d.ts +13 -0
  115. package/build/src/plugins/state/src/actions/object/deselectobject.d.ts +13 -0
  116. package/build/src/{modules/state → plugins/state/src}/actions/object/dropit.d.ts +3 -3
  117. package/build/src/{modules/state → plugins/state/src}/actions/object/getallobjects.d.ts +3 -2
  118. package/build/src/plugins/state/src/actions/object/getobjects.d.ts +13 -0
  119. package/build/src/{modules/state → plugins/state/src}/actions/object/modelloaded.d.ts +1 -1
  120. package/build/src/{modules/state → plugins/state/src}/actions/object/placeonfloor.d.ts +3 -3
  121. package/build/src/plugins/state/src/actions/object/selectobject.d.ts +13 -0
  122. package/build/src/plugins/state/src/actions/object/setparent.d.ts +23 -0
  123. package/build/src/plugins/state/src/actions/object/updateobject.d.ts +13 -0
  124. package/build/src/{modules/state → plugins/state/src}/actions/renderer/startrender.d.ts +1 -1
  125. package/build/src/{modules/state → plugins/state/src}/actions/scene/exportscene.d.ts +4 -4
  126. package/build/src/plugins/state/src/actions/scene/getallscenedata.d.ts +9 -0
  127. package/build/src/{modules/state → plugins/state/src}/actions/scene/setbackground.d.ts +1 -1
  128. package/build/src/{modules/state → plugins/state/src}/actions/scene/updatescene.d.ts +1 -1
  129. package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmomode.d.ts +1 -1
  130. package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmoscalelinked.d.ts +1 -1
  131. package/build/src/{modules/state → plugins/state/src}/actions/toolbox/setgizmovisible.d.ts +1 -1
  132. package/build/src/{modules/state → plugins/state/src}/actions/toolbox/usetool.d.ts +2 -2
  133. package/build/src/plugins/state/types/ActionTypes.d.ts +17 -0
  134. package/build/src/{types/SceneType.d.ts → plugins/state/types/StateExportFileType.d.ts} +1 -1
  135. package/build/src/plugins/state/types/StateSceneData.d.ts +19 -0
  136. package/build/src/plugins/state/types/index.d.ts +1 -0
  137. package/build/src/plugins/systeminfo/index.d.ts +2 -0
  138. package/build/src/{modules/systeminfo → plugins/systeminfo/src}/SystemInfo.d.ts +21 -31
  139. package/build/src/plugins/toolbox/index.d.ts +4 -0
  140. package/build/src/{modules/toolbox → plugins/toolbox/src}/BaseTool.d.ts +2 -4
  141. package/build/src/{modules/toolbox → plugins/toolbox/src}/Toolbox.d.ts +2 -11
  142. package/build/src/{modules/toolbox → plugins/toolbox/src}/select/SelectTool.d.ts +2 -6
  143. package/build/src/{modules/toolbox → plugins/toolbox/src}/transform/TransformTool.d.ts +2 -6
  144. package/build/src/types/components/DIVELight.d.ts +4 -0
  145. package/build/src/types/components/DIVESceneObject.d.ts +6 -0
  146. package/build/src/types/components/index.d.ts +2 -0
  147. package/build/src/types/index.d.ts +2 -5
  148. package/build/src/types/schema/BaseEntitySchema.d.ts +8 -0
  149. package/build/src/types/schema/EntitySchema.d.ts +11 -0
  150. package/build/src/types/schema/EntityTypeSchema.d.ts +1 -0
  151. package/build/src/types/schema/GeometrySchema.d.ts +7 -0
  152. package/build/src/types/schema/GeometryTypeSchema.d.ts +1 -0
  153. package/build/src/types/schema/GroupSchema.d.ts +11 -0
  154. package/build/src/types/schema/LightSchema.d.ts +28 -0
  155. package/build/src/{modules/state/types/COMMaterial.d.ts → types/schema/MaterialSchema.d.ts} +1 -1
  156. package/build/src/types/schema/ModelSchema.d.ts +14 -0
  157. package/build/src/types/schema/PovSchema.d.ts +10 -0
  158. package/build/src/types/schema/PrimitiveSchema.d.ts +14 -0
  159. package/build/src/types/schema/index.d.ts +11 -0
  160. package/package.json +52 -42
  161. package/build/chunks/FileTypes-DuVGjbcR.mjs +0 -36
  162. package/build/chunks/FileTypes-DzVpDu_p.cjs +0 -1
  163. package/build/chunks/ModuleRegistry-NyNtjHb2.cjs +0 -1
  164. package/build/chunks/ModuleRegistry-RSub8W0G.mjs +0 -13
  165. package/build/chunks/PerspectiveCamera-BByyG5R4.cjs +0 -1
  166. package/build/chunks/PerspectiveCamera-sm4_81KJ.mjs +0 -34
  167. package/build/chunks/SelectTool-C7nerV4P.cjs +0 -1
  168. package/build/chunks/VisibilityLayerMask-BI7jPKdx.cjs +0 -1
  169. package/build/chunks/VisibilityLayerMask-CXgt1fJc.mjs +0 -8
  170. package/build/chunks/findInterface-BEdL2iUQ.cjs +0 -1
  171. package/build/chunks/findInterface-OrXgmwxj.mjs +0 -18
  172. package/build/chunks/index-C7Wx_9uY.mjs +0 -33
  173. package/build/chunks/index-MNP0K5dt.cjs +0 -1
  174. package/build/chunks/package-DeBkqggW.mjs +0 -39
  175. package/build/chunks/package-o6as1hwQ.cjs +0 -1
  176. package/build/src/error/ar-compatibility/ar-compatibility-error.d.ts +0 -12
  177. package/build/src/modules/ModuleRegistry.d.ts +0 -19
  178. package/build/src/modules/animation/AnimationSystem.cjs +0 -1
  179. package/build/src/modules/animation/AnimationSystem.d.ts +0 -36
  180. package/build/src/modules/animation/AnimationSystem.mjs +0 -95
  181. package/build/src/modules/ar/ARSystem.cjs +0 -1
  182. package/build/src/modules/ar/ARSystem.d.ts +0 -71
  183. package/build/src/modules/ar/ARSystem.mjs +0 -163
  184. package/build/src/modules/ar/arquicklook/ARQuickLook.d.ts +0 -7
  185. package/build/src/modules/asset/converter/AssetConverter.d.ts +0 -30
  186. package/build/src/modules/asset/loader/AssetLoader.cjs +0 -4
  187. package/build/src/modules/asset/loader/AssetLoader.d.ts +0 -29
  188. package/build/src/modules/mediacreator/MediaCreator.cjs +0 -1
  189. package/build/src/modules/mediacreator/MediaCreator.d.ts +0 -44
  190. package/build/src/modules/state/State.cjs +0 -27
  191. package/build/src/modules/state/State.mjs +0 -4296
  192. package/build/src/modules/state/actions/object/addobject.d.ts +0 -8
  193. package/build/src/modules/state/actions/object/deleteobject.d.ts +0 -12
  194. package/build/src/modules/state/actions/object/deselectobject.d.ts +0 -12
  195. package/build/src/modules/state/actions/object/getobjects.d.ts +0 -12
  196. package/build/src/modules/state/actions/object/selectobject.d.ts +0 -12
  197. package/build/src/modules/state/actions/object/setparent.d.ts +0 -22
  198. package/build/src/modules/state/actions/object/updateobject.d.ts +0 -12
  199. package/build/src/modules/state/actions/scene/getallscenedata.d.ts +0 -9
  200. package/build/src/modules/state/types/ActionTypes.d.ts +0 -18
  201. package/build/src/modules/state/types/COMBaseEntity.d.ts +0 -8
  202. package/build/src/modules/state/types/COMEntity.d.ts +0 -11
  203. package/build/src/modules/state/types/COMEntityType.d.ts +0 -1
  204. package/build/src/modules/state/types/COMGeometry.d.ts +0 -7
  205. package/build/src/modules/state/types/COMGeometryType.d.ts +0 -1
  206. package/build/src/modules/state/types/COMGroup.d.ts +0 -11
  207. package/build/src/modules/state/types/COMLight.d.ts +0 -28
  208. package/build/src/modules/state/types/COMModel.d.ts +0 -14
  209. package/build/src/modules/state/types/COMPov.d.ts +0 -10
  210. package/build/src/modules/state/types/COMPrimitive.d.ts +0 -14
  211. package/build/src/modules/state/types/index.d.ts +0 -11
  212. package/build/src/modules/systeminfo/SystemInfo.cjs +0 -1
  213. package/build/src/modules/systeminfo/SystemInfo.mjs +0 -114
  214. package/build/src/modules/toolbox/Toolbox.cjs +0 -1
  215. package/build/src/types/SceneData.d.ts +0 -19
  216. package/build/src/types/SceneObjects.d.ts +0 -9
  217. package/build/src/types/UUID.d.ts +0 -1
  218. /package/build/{src/modules/asset/converter/AssetConverter.cjs → plugins/assetconverter/index.cjs} +0 -0
  219. /package/build/{src/modules/asset/converter/AssetConverter.mjs → plugins/assetconverter/index.mjs} +0 -0
  220. /package/build/src/{modules/events → events}/EventExecutor.d.ts +0 -0
  221. /package/build/src/{modules/animation → plugins/animation/src}/types/AnimatorParameters.d.ts +0 -0
  222. /package/build/src/{modules/ar → plugins/ar/src}/webxr/crosshair/WebXRCrosshair.d.ts +0 -0
  223. /package/build/src/{modules/ar → plugins/ar/src}/webxr/overlay/Overlay.d.ts +0 -0
  224. /package/build/src/{modules/asset → plugins/assetloader/src}/draco/DracoLoader.d.ts +0 -0
  225. /package/build/src/{modules/state → plugins/state/src}/ActionRegistry.d.ts +0 -0
  226. /package/build/src/{modules/state → plugins/state/src}/actions/ar/index.d.ts +0 -0
  227. /package/build/src/{modules/state → plugins/state/src}/actions/camera/index.d.ts +0 -0
  228. /package/build/src/{modules/state → plugins/state/src}/actions/index.d.ts +0 -0
  229. /package/build/src/{modules/state → plugins/state/src}/actions/media/index.d.ts +0 -0
  230. /package/build/src/{modules/state → plugins/state/src}/actions/object/index.d.ts +0 -0
  231. /package/build/src/{modules/state → plugins/state/src}/actions/renderer/index.d.ts +0 -0
  232. /package/build/src/{modules/state → plugins/state/src}/actions/scene/index.d.ts +0 -0
  233. /package/build/src/{modules/state → plugins/state/src}/actions/toolbox/index.d.ts +0 -0
  234. /package/build/src/{types/info → plugins/systeminfo/types}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var p=(t,e,r)=>e in t?d(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var o=(t,e,r)=>p(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var i=(t=>(t.IOS="iOS",t.ANDROID="Android",t.WINDOWS="Windows",t.MACOS="MacOS",t.LINUX="Linux",t.UNKNOWN="Unknown",t))(i||{}),n=(t=>(t.NO_WEBXR_API="NO_WEBXR_API",t.NO_HTTPS="NO_HTTPS",t.IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE="IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE",t.AR_PERMISSION_DENIED="AR_PERMISSION_DENIED",t.UNKNOWN_ERROR="UNKNOWN_ERROR",t))(n||{}),c=(t=>(t.CHROMIUM="Chromium",t.SAFARI="Safari",t.WEBKIT="WebKit",t.FIREFOX="Firefox",t.EDGE_LEGACY="EdgeLegacy",t.UNKNOWN="Unknown",t))(c||{});class u{static getSystem(){if(typeof window>"u"||!window.navigator)return i.UNKNOWN;const e=window.navigator.userAgent.toLowerCase();return e.includes("iphone")||e.includes("ipad")?i.IOS:e.includes("android")?i.ANDROID:e.includes("windows")?i.WINDOWS:e.includes("macintosh")?i.MACOS:e.includes("linux")?i.LINUX:i.UNKNOWN}static async getSupportsWebXR(){if(this._supportsWebXR!==!1)return this._supportsWebXR;if(!window.isSecureContext)return this._supportsWebXR=!1,this._webXRUnsupportedReason=n.NO_HTTPS,this._supportsWebXR;if(!navigator.xr)return this._supportsWebXR=!1,this._webXRUnsupportedReason=n.NO_WEBXR_API,this._supportsWebXR;try{const e=await navigator.xr.isSessionSupported("immersive-ar");this._supportsWebXR=e,this._supportsWebXR||(this._webXRUnsupportedReason=n.IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE)}catch{this._supportsWebXR=!1,this._webXRUnsupportedReason=n.AR_PERMISSION_DENIED}return this._supportsWebXR}static getWebXRUnsupportedReason(){return this._supportsWebXR?(console.log("WebXR is supported."),null):this._webXRUnsupportedReason}static getSupportsARQuickLook(){return!!document.createElement("a").relList.supports("ar")}static getSupportsSceneViewer(){if(typeof window>"u"||!window.navigator)return!1;const e=window.navigator.userAgent.toLowerCase();if(!e.includes("android")||!e.includes("chrome"))return!1;const r=e.match(/chrome\/(\d+)/);return!(!r||parseInt(r[1])<89)}static get isMobile(){return this.getSystem()===i.ANDROID||this.getSystem()===i.IOS}static get isDesktop(){return!this.isMobile}static getSupportsAR(){return this.getSupportsARQuickLook()||this.getSupportsSceneViewer()}static getBrowser(){var s;if(typeof window>"u"||!window.navigator)return"Unknown";const e=window.navigator.userAgent.toLowerCase(),r=(s=window.navigator.vendor)==null?void 0:s.toLowerCase();return e.includes("fxios/")?"Firefox":e.includes("crios/")?"Chromium":e.includes("firefox/")?"Firefox":e.includes("safari/")&&e.includes("version/")&&!e.includes("chrome/")&&!e.includes("edg/")&&!e.includes("opr/")?"Safari":e.includes("edg/")?"Chromium":e.includes("edge/")?"EdgeLegacy":e.includes("chrome/")||r!=null&&r.includes("google inc.")?"Chromium":e.includes("applewebkit")?"WebKit":"Unknown"}static getIOSVersion(){if(this.getSystem()!==i.IOS||typeof window>"u"||!window.navigator)return null;const r=window.navigator.userAgent.match(/(?:iPhone OS|iPad OS|OS) (\d+[._\d]*)/i);if(r&&r[1]){const s=r[1].replace(/_/g,"."),a=parseInt(s.split(".")[0],10);if(!isNaN(a))return{major:a,full:s}}return null}}o(u,"_supportsWebXR",!1),o(u,"_webXRUnsupportedReason",null);exports.EBrowser=c;exports.ESystem=i;exports.EWebXRUnsupportedReason=n;exports.SystemInfo=u;
@@ -0,0 +1,2 @@
1
+ export * from '../../src/plugins/systeminfo/index'
2
+ export {}
@@ -0,0 +1,136 @@
1
+ var c = Object.defineProperty;
2
+ var d = (t, e, r) => e in t ? c(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var o = (t, e, r) => d(t, typeof e != "symbol" ? e + "" : e, r);
4
+ var i = /* @__PURE__ */ ((t) => (t.IOS = "iOS", t.ANDROID = "Android", t.WINDOWS = "Windows", t.MACOS = "MacOS", t.LINUX = "Linux", t.UNKNOWN = "Unknown", t))(i || {}), s = /* @__PURE__ */ ((t) => (t.NO_WEBXR_API = "NO_WEBXR_API", t.NO_HTTPS = "NO_HTTPS", t.IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE = "IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE", t.AR_PERMISSION_DENIED = "AR_PERMISSION_DENIED", t.UNKNOWN_ERROR = "UNKNOWN_ERROR", t))(s || {}), p = /* @__PURE__ */ ((t) => (t.CHROMIUM = "Chromium", t.SAFARI = "Safari", t.WEBKIT = "WebKit", t.FIREFOX = "Firefox", t.EDGE_LEGACY = "EdgeLegacy", t.UNKNOWN = "Unknown", t))(p || {});
5
+ class a {
6
+ /**
7
+ * Gets the current system (iOS, Android, Windows, etc.)
8
+ * @returns DIVESystem The current system
9
+ */
10
+ static getSystem() {
11
+ if (typeof window > "u" || !window.navigator)
12
+ return i.UNKNOWN;
13
+ const e = window.navigator.userAgent.toLowerCase();
14
+ return e.includes("iphone") || e.includes("ipad") ? i.IOS : e.includes("android") ? i.ANDROID : e.includes("windows") ? i.WINDOWS : e.includes("macintosh") ? i.MACOS : e.includes("linux") ? i.LINUX : i.UNKNOWN;
15
+ }
16
+ /**
17
+ * @returns A promise that resolves to a boolean indicating whether the user's device supports WebXR.
18
+ */
19
+ static async getSupportsWebXR() {
20
+ if (this._supportsWebXR !== !1)
21
+ return this._supportsWebXR;
22
+ if (!window.isSecureContext)
23
+ return this._supportsWebXR = !1, this._webXRUnsupportedReason = s.NO_HTTPS, this._supportsWebXR;
24
+ if (!navigator.xr)
25
+ return this._supportsWebXR = !1, this._webXRUnsupportedReason = s.NO_WEBXR_API, this._supportsWebXR;
26
+ try {
27
+ const e = await navigator.xr.isSessionSupported("immersive-ar");
28
+ this._supportsWebXR = e, this._supportsWebXR || (this._webXRUnsupportedReason = s.IMMERSIVE_AR_NOT_SUPPORTED_BY_DEVICE);
29
+ } catch {
30
+ this._supportsWebXR = !1, this._webXRUnsupportedReason = s.AR_PERMISSION_DENIED;
31
+ }
32
+ return this._supportsWebXR;
33
+ }
34
+ /**
35
+ * @returns The reason why WebXR is not supported on the user's device. Returns null if WebXR is supported.
36
+ */
37
+ static getWebXRUnsupportedReason() {
38
+ return this._supportsWebXR ? (console.log("WebXR is supported."), null) : this._webXRUnsupportedReason;
39
+ }
40
+ /**
41
+ * Checks if ARQuickLook is supported on the current device
42
+ * This checks for:
43
+ * 1. AR support via relList
44
+ *
45
+ * Requirements:
46
+ * - iOS 13.0 or later
47
+ * - Safari browser (ARQuickLook is only supported in Safari)
48
+ * - Device with AR capabilities (iPhone/iPad with LiDAR scanner or ARKit support)
49
+ *
50
+ * Note: ARQuickLook is only available in Safari on iOS. Other browsers
51
+ * (Chrome, Firefox, etc.) do not support ARQuickLook, even on iOS.
52
+ *
53
+ * @returns boolean indicating if ARQuickLook is supported
54
+ * @throws ARCompatibilityError if ARQuickLook is not supported, with detailed browser information
55
+ */
56
+ static getSupportsARQuickLook() {
57
+ return !!document.createElement("a").relList.supports("ar");
58
+ }
59
+ /**
60
+ * Checks if SceneViewer is supported on the current device
61
+ * This checks for:
62
+ * 1. Android device
63
+ * 2. Chrome browser (version 89 or later)
64
+ *
65
+ * Requirements:
66
+ * - Android 7.0 (API level 24) or later
67
+ * - Chrome for Android 89 or later
68
+ *
69
+ * Note: According to Google's documentation, if these requirements are met,
70
+ * SceneViewer will be available. If ARCore is not installed, SceneViewer will
71
+ * fall back to showing the model in 3D.
72
+ *
73
+ * @returns boolean indicating if SceneViewer is supported
74
+ */
75
+ static getSupportsSceneViewer() {
76
+ if (typeof window > "u" || !window.navigator)
77
+ return !1;
78
+ const e = window.navigator.userAgent.toLowerCase();
79
+ if (!e.includes("android") || !e.includes("chrome"))
80
+ return !1;
81
+ const r = e.match(/chrome\/(\d+)/);
82
+ return !(!r || parseInt(r[1]) < 89);
83
+ }
84
+ /**
85
+ * @returns A boolean indicating whether the user's device is a mobile device.
86
+ */
87
+ static get isMobile() {
88
+ return this.getSystem() === i.ANDROID || this.getSystem() === i.IOS;
89
+ }
90
+ /**
91
+ * @returns A boolean indicating whether the user's device is a desktop device.
92
+ */
93
+ static get isDesktop() {
94
+ return !this.isMobile;
95
+ }
96
+ /**
97
+ * @returns A promise that resolves to a boolean indicating whether the user's device is capable of AR.
98
+ */
99
+ static getSupportsAR() {
100
+ return this.getSupportsARQuickLook() || this.getSupportsSceneViewer();
101
+ }
102
+ /**
103
+ * Gets the current browser engine.
104
+ * @returns EBrowser The current browser engine.
105
+ */
106
+ static getBrowser() {
107
+ var n;
108
+ if (typeof window > "u" || !window.navigator)
109
+ return "Unknown";
110
+ const e = window.navigator.userAgent.toLowerCase(), r = (n = window.navigator.vendor) == null ? void 0 : n.toLowerCase();
111
+ return e.includes("fxios/") ? "Firefox" : e.includes("crios/") ? "Chromium" : e.includes("firefox/") ? "Firefox" : e.includes("safari/") && e.includes("version/") && !e.includes("chrome/") && // Excludes desktop Chrome, Edge Chromium
112
+ !e.includes("edg/") && !e.includes("opr/") ? "Safari" : e.includes("edg/") ? "Chromium" : e.includes("edge/") ? "EdgeLegacy" : e.includes("chrome/") || r != null && r.includes("google inc.") ? "Chromium" : e.includes("applewebkit") ? "WebKit" : "Unknown";
113
+ }
114
+ /**
115
+ * Gets the iOS version if the current system is iOS.
116
+ * @returns An object with { major: number, full: string } or null if not iOS or version not parsable.
117
+ */
118
+ static getIOSVersion() {
119
+ if (this.getSystem() !== i.IOS || typeof window > "u" || !window.navigator)
120
+ return null;
121
+ const r = window.navigator.userAgent.match(/(?:iPhone OS|iPad OS|OS) (\d+[._\d]*)/i);
122
+ if (r && r[1]) {
123
+ const n = r[1].replace(/_/g, "."), u = parseInt(n.split(".")[0], 10);
124
+ if (!isNaN(u))
125
+ return { major: u, full: n };
126
+ }
127
+ return null;
128
+ }
129
+ }
130
+ o(a, "_supportsWebXR", !1), o(a, "_webXRUnsupportedReason", null);
131
+ export {
132
+ p as EBrowser,
133
+ i as ESystem,
134
+ s as EWebXRUnsupportedReason,
135
+ a as SystemInfo
136
+ };
@@ -0,0 +1 @@
1
+ "use strict";var s=Object.defineProperty;var r=(t,e,o)=>e in t?s(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var i=(t,e,o)=>r(t,typeof e!="symbol"?e+"":e,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../../chunks/SelectTool-BizqI7_a.cjs");class n{constructor(e,o){i(this,"_scene");i(this,"_controller");i(this,"_activeTool");i(this,"_selectTool");this._scene=e,this._controller=o,this._selectTool=null,this._activeTool=null}get selectTool(){return this._selectTool||(this._selectTool=new l.DIVESelectTool(this._scene,this._controller)),this._selectTool}dispose(){this.removeEventListeners()}getActiveTool(){return this._activeTool}useTool(e){var o;switch((o=this._activeTool)==null||o.deactivate(),e){case"select":{this.addEventListeners(),this.selectTool.activate(),this._activeTool=this.selectTool;break}case"none":{this.removeEventListeners(),this._activeTool=null;break}default:console.warn(`DIVEToolBox.useTool: Unknown tool: ${e}`)}}setGizmoMode(e){this.selectTool.setGizmoMode(e)}setGizmoVisibility(e){this.selectTool.setGizmoVisibility(e)}setGizmoScaleLinked(e){this.selectTool.setGizmoScaleLinked(e)}onPointerMove(e){var o;(o=this._activeTool)==null||o.onPointerMove(e)}onPointerDown(e){var o;(o=this._activeTool)==null||o.onPointerDown(e)}onPointerUp(e){var o;(o=this._activeTool)==null||o.onPointerUp(e)}onWheel(e){var o;(o=this._activeTool)==null||o.onWheel(e)}addEventListeners(){this._controller.domElement.addEventListener("pointermove",e=>this.onPointerMove(e)),this._controller.domElement.addEventListener("pointerdown",e=>this.onPointerDown(e)),this._controller.domElement.addEventListener("pointerup",e=>this.onPointerUp(e)),this._controller.domElement.addEventListener("wheel",e=>this.onWheel(e))}removeEventListeners(){this._controller.domElement.removeEventListener("pointermove",e=>this.onPointerMove(e)),this._controller.domElement.removeEventListener("pointerdown",e=>this.onPointerDown(e)),this._controller.domElement.removeEventListener("pointerup",e=>this.onPointerUp(e)),this._controller.domElement.removeEventListener("wheel",e=>this.onWheel(e))}}i(n,"DefaultTool","select");exports.DIVEBaseTool=l.DIVEBaseTool;exports.DIVESelectTool=l.DIVESelectTool;exports.DIVETransformTool=l.DIVETransformTool;exports.isSelectTool=l.isSelectTool;exports.isTransformTool=l.isTransformTool;exports.Toolbox=n;
@@ -0,0 +1,2 @@
1
+ export * from '../../src/plugins/toolbox/index'
2
+ export {}
@@ -1,7 +1,8 @@
1
1
  var n = Object.defineProperty;
2
2
  var s = (t, e, o) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;
3
3
  var i = (t, e, o) => s(t, typeof e != "symbol" ? e + "" : e, o);
4
- import { D as l } from "../../../chunks/SelectTool-DmuTopJx.mjs";
4
+ import { D as l } from "../../chunks/SelectTool-DVFL7BtX.mjs";
5
+ import { a as m, c as T, i as d, b as _ } from "../../chunks/SelectTool-DVFL7BtX.mjs";
5
6
  class r {
6
7
  constructor(e, o) {
7
8
  i(this, "_scene");
@@ -95,5 +96,10 @@ class r {
95
96
  }
96
97
  i(r, "DefaultTool", "select");
97
98
  export {
98
- r as Toolbox
99
+ m as DIVEBaseTool,
100
+ l as DIVESelectTool,
101
+ T as DIVETransformTool,
102
+ r as Toolbox,
103
+ d as isSelectTool,
104
+ _ as isTransformTool
99
105
  };
@@ -1,5 +1,5 @@
1
1
  import { Euler, Object3D, Vector3 } from 'three';
2
- import { OrbitController } from '../../modules/controller/orbit/OrbitController.ts';
2
+ import { OrbitController } from '../../plugins/orbitcontroller/index.ts';
3
3
  import { DIVEGizmoPlane as DIVEGizmoPlane } from './plane/GizmoPlane.ts';
4
4
  import { DIVESelectable } from '../../interfaces/Selectable.ts';
5
5
  export type DIVEGizmoMode = 'translate' | 'rotate' | 'scale';
@@ -2,7 +2,7 @@ import { ColorRepresentation, Object3D, Vector3 } from 'three';
2
2
  import { DIVEHoverable } from '../../../interfaces/Hoverable.ts';
3
3
  import { DIVETranslateGizmo } from '../translate/TranslateGizmo.ts';
4
4
  import { DIVEDraggable } from '../../../interfaces/Draggable.ts';
5
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
5
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
6
6
  export declare class DIVEAxisHandle extends Object3D implements DIVEHoverable, DIVEDraggable {
7
7
  readonly isHoverable: true;
8
8
  readonly isDraggable: true;
@@ -1,6 +1,6 @@
1
1
  import { ColorRepresentation, Object3D, Vector3 } from 'three';
2
2
  import { DIVEHoverable } from '../../../interfaces/Hoverable.ts';
3
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
3
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
4
4
  import { DIVERotateGizmo } from '../rotate/RotateGizmo.ts';
5
5
  import { DIVEDraggable } from '../../../interfaces/Draggable.ts';
6
6
  export declare class DIVERadialHandle extends Object3D implements DIVEHoverable, DIVEDraggable {
@@ -2,7 +2,7 @@ import { ColorRepresentation, Object3D, Vector3 } from 'three';
2
2
  import { DIVEHoverable } from '../../../interfaces/Hoverable.ts';
3
3
  import { DIVEScaleGizmo } from '../scale/ScaleGizmo.ts';
4
4
  import { DIVEDraggable } from '../../../interfaces/Draggable.ts';
5
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
5
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
6
6
  export declare class DIVEScaleHandle extends Object3D implements DIVEHoverable, DIVEDraggable {
7
7
  readonly isHoverable: true;
8
8
  readonly isDraggable: true;
@@ -1,7 +1,7 @@
1
1
  import { Object3D } from 'three';
2
- import { OrbitController } from '../../../modules/controller/orbit/OrbitController.ts';
2
+ import { OrbitController } from '../../../plugins/orbitcontroller/index.ts';
3
3
  import { DIVERadialHandle } from '../handles/RadialHandle.ts';
4
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
4
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
5
5
  export declare class DIVERotateGizmo extends Object3D {
6
6
  children: DIVERadialHandle[];
7
7
  private _controller;
@@ -1,8 +1,8 @@
1
1
  import { Object3D, Vector3 } from 'three';
2
2
  import { DIVEHoverable } from '../../../interfaces/Hoverable.ts';
3
- import { OrbitController } from '../../../modules/controller/orbit/OrbitController.ts';
3
+ import { OrbitController } from '../../../plugins/orbitcontroller/index.ts';
4
4
  import { DIVEScaleHandle } from '../handles/ScaleHandle.ts';
5
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
5
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
6
6
  export declare class DIVEScaleGizmo extends Object3D implements DIVEHoverable {
7
7
  readonly isHoverable: true;
8
8
  children: DIVEScaleHandle[];
@@ -1,7 +1,7 @@
1
1
  import { Object3D } from 'three';
2
- import { OrbitController } from '../../../modules/controller/orbit/OrbitController.ts';
2
+ import { OrbitController } from '../../../plugins/orbitcontroller/index.ts';
3
3
  import { DIVEAxisHandle } from '../handles/AxisHandle.ts';
4
- import { DraggableEvent } from '../../../modules/toolbox/BaseTool.ts';
4
+ import { DraggableEvent } from '../../../plugins/toolbox/index.ts';
5
5
  export declare class DIVETranslateGizmo extends Object3D {
6
6
  private _controller;
7
7
  set debug(value: boolean);
@@ -1,5 +1,5 @@
1
1
  import { Object3D } from 'three';
2
- import { COMMaterial } from '../../modules/state/types/index.ts';
2
+ import { MaterialSchema } from '../../index.ts';
3
3
  import { DIVENode } from '../node/Node.ts';
4
4
  /**
5
5
  * A basic model class.
@@ -18,7 +18,7 @@ export declare class DIVEModel extends DIVENode {
18
18
  private _getAssetLoader;
19
19
  setFromURL(url: string): Promise<void>;
20
20
  setFromGLTF(gltf: Object3D): void;
21
- setMaterial(material: Partial<COMMaterial>): void;
21
+ setMaterial(material: Partial<MaterialSchema>): void;
22
22
  placeOnFloor(): void;
23
23
  dropIt(): void;
24
24
  }
@@ -1,5 +1,5 @@
1
1
  import { DIVENode } from '../node/Node.ts';
2
- import { COMGeometry, COMMaterial } from '../../modules/state/types/index.ts';
2
+ import { GeometrySchema, MaterialSchema } from '../../index.ts';
3
3
  /**
4
4
  * A basic model class.
5
5
  *
@@ -13,8 +13,8 @@ export declare class DIVEPrimitive extends DIVENode {
13
13
  readonly isDIVEPrimitive: true;
14
14
  private _mesh;
15
15
  constructor();
16
- setGeometry(geometry: COMGeometry): void;
17
- setMaterial(material: Partial<COMMaterial>): void;
16
+ setGeometry(geometry: GeometrySchema): void;
17
+ setMaterial(material: Partial<MaterialSchema>): void;
18
18
  placeOnFloor(): void;
19
19
  dropIt(): void;
20
20
  private assembleGeometry;
@@ -1,5 +1,5 @@
1
1
  import { Box3, Object3D } from 'three';
2
- import { COMEntity, COMEntityType, COMMinimal, COMPartial } from '../../modules/state/types/index.ts';
2
+ import { EntitySchema, EntityTypeSchema, MinimalSchema, PartialSchema } from '../../index.ts';
3
3
  import { DIVESceneObject } from '../../types/index.ts';
4
4
  import { DIVEFloor } from '../floor/Floor.ts';
5
5
  /**
@@ -11,17 +11,15 @@ export declare class DIVERoot extends Object3D {
11
11
  readonly isDIVERoot: true;
12
12
  get floor(): DIVEFloor;
13
13
  private _floor;
14
- private _assetLoader;
15
- private _getAssetLoader;
16
14
  constructor();
17
15
  computeSceneBB(): Box3;
18
- getSceneObject<E extends COMEntityType>(object: Partial<COMEntity> & {
16
+ getSceneObject<E extends EntityTypeSchema>(object: Partial<EntitySchema> & {
19
17
  id: string;
20
18
  entityType: E;
21
19
  }): DIVESceneObject<E> | undefined;
22
- addSceneObject(object: COMEntity): DIVESceneObject | undefined;
23
- updateSceneObject(object: COMPartial): void;
24
- deleteSceneObject(object: COMMinimal<COMEntity>): void;
20
+ addSceneObject(object: EntitySchema): DIVESceneObject | undefined;
21
+ updateSceneObject(object: PartialSchema): void;
22
+ deleteSceneObject(object: MinimalSchema<EntitySchema>): void;
25
23
  private _updateLight;
26
24
  private _updateModel;
27
25
  private _updatePrimitive;
@@ -1,4 +1,4 @@
1
- import { OrbitControllerSettings } from '../modules/controller/orbit/OrbitController.ts';
1
+ import { OrbitControllerSettings } from '../plugins/orbitcontroller/index.ts';
2
2
  import { DIVEEngine, EngineSettings } from '../engine/Engine.ts';
3
3
  declare global {
4
4
  interface Window {
@@ -13,6 +13,7 @@ export declare class DIVEClock {
13
13
  stop(): void;
14
14
  setRenderer(renderer: DIVERenderPipeline): void;
15
15
  addTicker(ticker: DIVETicker): void;
16
+ hasTicker(ticker: DIVETicker): boolean;
16
17
  removeTicker(ticker: DIVETicker): void;
17
18
  dispose(): void;
18
19
  private _tick;
@@ -0,0 +1,6 @@
1
+ export * from './camera/PerspectiveCamera.ts';
2
+ export * from './clock/Clock.ts';
3
+ export * from './renderer/Renderer.ts';
4
+ export * from './resize/ResizeManager.ts';
5
+ export * from './scene/Scene.ts';
6
+ export * from './Engine.ts';
@@ -2,22 +2,62 @@ import { WebGLRenderer } from 'three';
2
2
  import { DIVEScene } from '../scene/Scene.ts';
3
3
  import { DIVEPerspectiveCamera } from '../camera/PerspectiveCamera.ts';
4
4
  export type DIVERenderPipelineSettings = {
5
- /** The canvas to render to */
5
+ /**
6
+ * The canvas to render to. When undefined, the canvas will be created automatically and reachable via the `diveInstance.canvas` property.
7
+ *
8
+ * @default undefined
9
+ */
6
10
  canvas: HTMLCanvasElement | undefined;
7
- /** Whether to enable antialiasing */
11
+ /**
12
+ * Whether to enable antialiasing
13
+ *
14
+ * @default true
15
+ */
8
16
  antialias: boolean;
9
17
  /** Whether to enable alpha channel */
10
18
  alpha: boolean;
11
- /** Power preference for the WebGL context */
19
+ /**
20
+ * Power preference for the WebGL context
21
+ *
22
+ * @default 'high-performance'
23
+ */
12
24
  powerPreference: 'high-performance' | 'low-power';
13
- /** Precision of the shader */
25
+ /**
26
+ * Precision of the shader
27
+ *
28
+ * @default 'highp'
29
+ */
14
30
  precision: 'highp' | 'mediump' | 'lowp';
15
- /** Whether to enable stencil buffer */
31
+ /**
32
+ * Whether to enable stencil buffer
33
+ *
34
+ * @default false
35
+ */
16
36
  stencil: boolean;
17
- /** Whether to enable depth buffer */
37
+ /**
38
+ * Whether to enable depth buffer
39
+ *
40
+ * @default true
41
+ */
18
42
  depth: boolean;
19
- /** Whether to use logarithmic depth buffer */
43
+ /**
44
+ * Whether to use logarithmic depth buffer
45
+ *
46
+ * @default false
47
+ */
20
48
  logarithmicDepthBuffer: boolean;
49
+ /**
50
+ * Whether to enable shadows
51
+ *
52
+ * @default true
53
+ */
54
+ shadows: boolean;
55
+ /**
56
+ * The quality of the shadows
57
+ *
58
+ * @default 'high'
59
+ */
60
+ shadowQuality: 'high' | 'medium' | 'low';
21
61
  };
22
62
  export declare const DIVERenderPipelineDefaultSettings: Required<DIVERenderPipelineSettings>;
23
63
  /**
@@ -0,0 +1 @@
1
+ export { DIVEEventExecutor } from './EventExecutor.ts';
@@ -1,8 +1,10 @@
1
1
  export * from './core/index.ts';
2
+ export * from './constants/index.ts';
3
+ export * from './components/index.ts';
4
+ export * from './engine/index.ts';
5
+ export * from './interfaces/index.ts';
2
6
  export * from './helpers/index.ts';
3
- export { ARCompatibilityError } from './error/ar-compatibility/ar-compatibility-error.ts';
4
7
  export { FileTypeError } from './error/file-type/file-type-error.ts';
5
8
  export { NetworkError } from './error/network/network-error.ts';
6
9
  export { ParseError } from './error/parse/parse-error.ts';
7
10
  export * from './types/index.ts';
8
- export * from './modules/ModuleRegistry.ts';
@@ -1,4 +1,4 @@
1
- import { DraggableEvent } from '../modules/toolbox/BaseTool.ts';
1
+ import { DraggableEvent } from '../plugins/toolbox/index.ts';
2
2
  export interface DIVEDraggable {
3
3
  isDraggable: true;
4
4
  onDragStart?: (e: DraggableEvent) => void;
@@ -0,0 +1,2 @@
1
+ export * from './src/index.ts';
2
+ export * as TWEEN from '@tweenjs/tween.js';
@@ -1,5 +1,4 @@
1
- import { EventDispatcher, Event } from 'three';
2
- import { UUID } from '../../../types/index.ts';
1
+ import { EventDispatcher, Event } from 'three/src/core/EventDispatcher.js';
3
2
  import { TAnimatorParameters } from '../types/AnimatorParameters.ts';
4
3
  type TAnimatorEventMap = {
5
4
  play: Event;
@@ -15,7 +14,7 @@ export declare class Animator<T extends object> extends EventDispatcher<TAnimato
15
14
  private _stopped;
16
15
  private _completed;
17
16
  constructor(object: T, to: T, duration: number, options?: TAnimatorParameters<T> | undefined);
18
- get uuid(): UUID;
17
+ get uuid(): string;
19
18
  get playing(): boolean;
20
19
  get stopped(): boolean;
21
20
  get completed(): boolean;
@@ -0,0 +1,3 @@
1
+ export * from './system/AnimationSystem.ts';
2
+ export * from './animator/Animator.ts';
3
+ export * from './types/AnimatorParameters.ts';
@@ -0,0 +1,23 @@
1
+ import { DIVETicker } from '../../../../index.ts';
2
+ import { Animator } from '../animator/Animator.ts';
3
+ import { TAnimatorParameters } from '../types/AnimatorParameters.ts';
4
+ import * as TWEEN from '@tweenjs/tween.js';
5
+ export declare class AnimationSystem implements DIVETicker {
6
+ uuid: string;
7
+ TWEEN: typeof TWEEN;
8
+ private _callbackMap;
9
+ private _tweens;
10
+ /**
11
+ * Creates a new animator and registers it.
12
+ * @param object - The object to animate.
13
+ * @param to - The target value.
14
+ * @param duration - The duration of the animation in milliseconds.
15
+ * @param options - The options for the animation.
16
+ * @returns The animator.
17
+ */
18
+ animate<T extends object>(object: T, to: T, duration: number, options?: TAnimatorParameters<T>): Animator<T>;
19
+ remove(uuid: string): void;
20
+ dispose(): void;
21
+ tick(): void;
22
+ private _createTween;
23
+ }
@@ -0,0 +1,4 @@
1
+ export * from './src/ARSystem.ts';
2
+ export * from './src/arquicklook/ARQuickLook.ts';
3
+ export * from './src/sceneviewer/SceneViewer.ts';
4
+ export * from './src/error/ar-errors.ts';
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Options for configuring the AR system behavior
3
+ */
4
+ export type ARSystemOptions = {
5
+ /** The placement orientation for AR content - either horizontal or vertical */
6
+ arPlacement: 'horizontal' | 'vertical';
7
+ /** The scaling behavior for AR content - either automatic or fixed */
8
+ arScale: 'auto' | 'fixed';
9
+ };
10
+ /**
11
+ * Main class for handling AR functionality across different platforms
12
+ * Provides methods to launch AR experiences using platform-specific implementations
13
+ */
14
+ export declare class ARSystem {
15
+ /**
16
+ * Launches an AR experience using the appropriate platform-specific implementation
17
+ *
18
+ * @param uri - The URI of the 3D model to display in AR
19
+ * @param options - Optional configuration for the AR experience
20
+ * @returns Promise that resolves when AR is launched successfully
21
+ * @throws Error if AR is not supported on the current platform
22
+ */
23
+ launch(uri: string, options?: ARSystemOptions): Promise<void>;
24
+ }
@@ -0,0 +1,15 @@
1
+ import { ARSystemOptions } from '../ARSystem.ts';
2
+ export declare class ARQuickLook {
3
+ private converter;
4
+ /**
5
+ * Launches AR using ARQuickLook (iOS-specific implementation)
6
+ *
7
+ * @param uri - The URI of the 3D model to display in AR
8
+ * @param options - Optional configuration for the AR experience
9
+ * @returns Promise that resolves when ARQuickLook is launched successfully
10
+ * @throws Error if ARQuickLook is not supported on the device
11
+ */
12
+ launch(uri: string, options?: ARSystemOptions): Promise<void>;
13
+ private convertToUSDZ;
14
+ private launchARQuickLook;
15
+ }
@@ -0,0 +1,18 @@
1
+ export declare class ARError extends Error {
2
+ readonly type: string;
3
+ constructor(message: string, type: string);
4
+ }
5
+ export declare class ARDesktopPlatformError extends ARError {
6
+ constructor();
7
+ }
8
+ export declare class ARQuickLookNotSafariError extends ARError {
9
+ constructor();
10
+ }
11
+ export declare class ARQuickLookVersionMismatchError extends ARError {
12
+ readonly currentVersion: string | number;
13
+ readonly requiredVersion: string | number;
14
+ constructor(currentVersion: string | number, requiredVersion: string | number);
15
+ }
16
+ export declare class ARQuickLookUnknownError extends ARError {
17
+ constructor();
18
+ }
@@ -1,5 +1,15 @@
1
1
  import { ARSystemOptions } from '../ARSystem.ts';
2
2
  export declare class SceneViewer {
3
+ /**
4
+ * Launches AR using SceneViewer (Android-specific implementation)
5
+ * Note: SceneViewer is supported on all Android devices. If ARCore is not installed,
6
+ * the model will be displayed in 3D view mode instead of AR mode.
7
+ *
8
+ * @param uri - The URI of the 3D model to display in AR
9
+ * @param options - Optional configuration for the AR experience
10
+ * @returns Promise that resolves when SceneViewer is launched successfully
11
+ * @throws Error if there's an issue launching SceneViewer
12
+ */
3
13
  launch(uri: string, options?: ARSystemOptions): void;
4
14
  /**
5
15
  * Creates the base URL parameters for SceneViewer
@@ -1,5 +1,5 @@
1
- import { OrbitController } from '../../../modules/controller/orbit/OrbitController.ts';
2
- import { DIVEEngine } from '../../../engine/Engine.ts';
1
+ import { OrbitController } from '../../../orbitcontroller/index.ts';
2
+ import { DIVEEngine } from '../../../../index.ts';
3
3
  export declare class DIVEWebXR {
4
4
  private static _renderer;
5
5
  private static _scene;
@@ -1,6 +1,6 @@
1
1
  import { Object3D } from 'three';
2
- import { DIVERenderPipeline } from '../../../../engine/renderer/Renderer.ts';
3
- import { DIVEScene } from '../../../../engine/scene/Scene.ts';
2
+ import { DIVERenderPipeline } from '../../../../../engine/renderer/Renderer.ts';
3
+ import { DIVEScene } from '../../../../../engine/scene/Scene.ts';
4
4
  export declare class DIVEWebXRController extends Object3D {
5
5
  private _renderer;
6
6
  private _scene;
@@ -1,5 +1,5 @@
1
1
  import { Matrix4, Quaternion, Vector3 } from 'three';
2
- import { DIVERenderPipeline } from '../../../../engine/renderer/Renderer.ts';
2
+ import { DIVERenderPipeline } from '../../../../../engine/renderer/Renderer.ts';
3
3
  export declare class DIVEWebXROrigin {
4
4
  private _renderer;
5
5
  private _session;
@@ -1,7 +1,7 @@
1
1
  import { Matrix4, Mesh, Vector3 } from 'three';
2
- import { DIVERenderPipeline } from '../../../../engine/renderer/Renderer.ts';
3
- import { DIVEScene } from '../../../../engine/scene/Scene.ts';
4
- import { DIVEEventExecutor } from '../../../../modules/events/EventExecutor.ts';
2
+ import { DIVERenderPipeline } from '../../../../../engine/renderer/Renderer.ts';
3
+ import { DIVEScene } from '../../../../../engine/scene/Scene.ts';
4
+ import { DIVEEventExecutor } from '../../../../../events/EventExecutor.ts';
5
5
  /**
6
6
  * object is undefined when AR world is hit.
7
7
  */
@@ -1,4 +1,4 @@
1
- import { DIVERenderPipeline } from '../../../../../engine/renderer/Renderer.ts';
1
+ import { DIVERenderPipeline } from '../../../../../../engine/renderer/Renderer.ts';
2
2
  import { DIVEHitResult } from '../WebXRRaycaster.ts';
3
3
  export declare class DIVEWebXRRaycasterAR {
4
4
  private _session;