@needle-tools/engine 4.13.0 → 4.13.1-beta

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 (410) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/README.md +37 -0
  3. package/components.needle.json +1 -1
  4. package/custom-elements.json +138 -4
  5. package/dist/{needle-engine.bundle-CxaKFQVS.min.js → needle-engine.bundle-6774fXoY.min.js} +107 -107
  6. package/dist/{needle-engine.bundle-Dl3TFYyv.js → needle-engine.bundle-CGtsEhyJ.js} +2346 -1844
  7. package/dist/{needle-engine.bundle-J4k4znv8.umd.cjs → needle-engine.bundle-fbFZTOKP.umd.cjs} +108 -108
  8. package/dist/needle-engine.d.ts +3769 -397
  9. package/dist/needle-engine.js +2 -2
  10. package/dist/needle-engine.min.js +1 -1
  11. package/dist/needle-engine.umd.cjs +1 -1
  12. package/lib/engine/engine_context.d.ts +16 -0
  13. package/lib/engine/engine_context.js +16 -0
  14. package/lib/engine/engine_context.js.map +1 -1
  15. package/lib/engine/engine_gameobject.d.ts +72 -0
  16. package/lib/engine/engine_gameobject.js +38 -0
  17. package/lib/engine/engine_gameobject.js.map +1 -1
  18. package/lib/engine/engine_input.d.ts +80 -4
  19. package/lib/engine/engine_input.js +78 -2
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_math.d.ts +81 -2
  22. package/lib/engine/engine_math.js +68 -2
  23. package/lib/engine/engine_math.js.map +1 -1
  24. package/lib/engine/engine_networking.d.ts +181 -14
  25. package/lib/engine/engine_networking.js +181 -14
  26. package/lib/engine/engine_networking.js.map +1 -1
  27. package/lib/engine/engine_networking_auto.d.ts +35 -8
  28. package/lib/engine/engine_networking_auto.js +35 -8
  29. package/lib/engine/engine_networking_auto.js.map +1 -1
  30. package/lib/engine/engine_physics.d.ts +35 -1
  31. package/lib/engine/engine_physics.js +35 -1
  32. package/lib/engine/engine_physics.js.map +1 -1
  33. package/lib/engine/engine_physics_rapier.d.ts +76 -0
  34. package/lib/engine/engine_physics_rapier.js +76 -0
  35. package/lib/engine/engine_physics_rapier.js.map +1 -1
  36. package/lib/engine/engine_serialization_decorator.d.ts +28 -2
  37. package/lib/engine/engine_serialization_decorator.js +28 -2
  38. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  39. package/lib/engine/engine_time.d.ts +23 -3
  40. package/lib/engine/engine_time.js +23 -3
  41. package/lib/engine/engine_time.js.map +1 -1
  42. package/lib/engine/engine_util_decorator.d.ts +31 -1
  43. package/lib/engine/engine_util_decorator.js +31 -1
  44. package/lib/engine/engine_util_decorator.js.map +1 -1
  45. package/lib/engine/engine_utils.d.ts +21 -5
  46. package/lib/engine/engine_utils.js +21 -5
  47. package/lib/engine/engine_utils.js.map +1 -1
  48. package/lib/engine/extensions/NEEDLE_materialx.d.ts +2 -2
  49. package/lib/engine/extensions/NEEDLE_materialx.js +2 -2
  50. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  51. package/lib/engine/extensions/index.d.ts +1 -1
  52. package/lib/engine/extensions/index.js +1 -1
  53. package/lib/engine/extensions/index.js.map +1 -1
  54. package/lib/engine-components/AlignmentConstraint.d.ts +23 -3
  55. package/lib/engine-components/AlignmentConstraint.js +23 -3
  56. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  57. package/lib/engine-components/Animation.d.ts +42 -0
  58. package/lib/engine-components/Animation.js +36 -0
  59. package/lib/engine-components/Animation.js.map +1 -1
  60. package/lib/engine-components/Animator.d.ts +37 -4
  61. package/lib/engine-components/Animator.js +37 -4
  62. package/lib/engine-components/Animator.js.map +1 -1
  63. package/lib/engine-components/AudioListener.d.ts +1 -1
  64. package/lib/engine-components/AudioListener.js +1 -1
  65. package/lib/engine-components/AudioSource.d.ts +32 -10
  66. package/lib/engine-components/AudioSource.js +32 -10
  67. package/lib/engine-components/AudioSource.js.map +1 -1
  68. package/lib/engine-components/AxesHelper.d.ts +22 -3
  69. package/lib/engine-components/AxesHelper.js +22 -3
  70. package/lib/engine-components/AxesHelper.js.map +1 -1
  71. package/lib/engine-components/BasicIKConstraint.d.ts +27 -4
  72. package/lib/engine-components/BasicIKConstraint.js +27 -4
  73. package/lib/engine-components/BasicIKConstraint.js.map +1 -1
  74. package/lib/engine-components/Camera.d.ts +32 -2
  75. package/lib/engine-components/Camera.js +32 -2
  76. package/lib/engine-components/Camera.js.map +1 -1
  77. package/lib/engine-components/CharacterController.d.ts +68 -4
  78. package/lib/engine-components/CharacterController.js +68 -4
  79. package/lib/engine-components/CharacterController.js.map +1 -1
  80. package/lib/engine-components/Collider.d.ts +69 -12
  81. package/lib/engine-components/Collider.js +69 -12
  82. package/lib/engine-components/Collider.js.map +1 -1
  83. package/lib/engine-components/ContactShadows.d.ts +26 -6
  84. package/lib/engine-components/ContactShadows.js +31 -8
  85. package/lib/engine-components/ContactShadows.js.map +1 -1
  86. package/lib/engine-components/DeleteBox.d.ts +43 -2
  87. package/lib/engine-components/DeleteBox.js +43 -2
  88. package/lib/engine-components/DeleteBox.js.map +1 -1
  89. package/lib/engine-components/DeviceFlag.d.ts +21 -2
  90. package/lib/engine-components/DeviceFlag.js +21 -2
  91. package/lib/engine-components/DeviceFlag.js.map +1 -1
  92. package/lib/engine-components/DragControls.d.ts +32 -2
  93. package/lib/engine-components/DragControls.js +32 -2
  94. package/lib/engine-components/DragControls.js.map +1 -1
  95. package/lib/engine-components/DropListener.d.ts +33 -21
  96. package/lib/engine-components/DropListener.js +33 -21
  97. package/lib/engine-components/DropListener.js.map +1 -1
  98. package/lib/engine-components/Duplicatable.d.ts +36 -5
  99. package/lib/engine-components/Duplicatable.js +36 -5
  100. package/lib/engine-components/Duplicatable.js.map +1 -1
  101. package/lib/engine-components/EventList.d.ts +38 -10
  102. package/lib/engine-components/EventList.js +38 -10
  103. package/lib/engine-components/EventList.js.map +1 -1
  104. package/lib/engine-components/EventTrigger.d.ts +1 -1
  105. package/lib/engine-components/EventTrigger.js +1 -1
  106. package/lib/engine-components/Fog.d.ts +23 -1
  107. package/lib/engine-components/Fog.js +23 -1
  108. package/lib/engine-components/Fog.js.map +1 -1
  109. package/lib/engine-components/GridHelper.d.ts +18 -2
  110. package/lib/engine-components/GridHelper.js +18 -2
  111. package/lib/engine-components/GridHelper.js.map +1 -1
  112. package/lib/engine-components/GroundProjection.d.ts +24 -2
  113. package/lib/engine-components/GroundProjection.js +24 -2
  114. package/lib/engine-components/GroundProjection.js.map +1 -1
  115. package/lib/engine-components/Interactable.d.ts +17 -2
  116. package/lib/engine-components/Interactable.js +17 -2
  117. package/lib/engine-components/Interactable.js.map +1 -1
  118. package/lib/engine-components/Joints.d.ts +50 -7
  119. package/lib/engine-components/Joints.js +50 -7
  120. package/lib/engine-components/Joints.js.map +1 -1
  121. package/lib/engine-components/LODGroup.d.ts +36 -14
  122. package/lib/engine-components/LODGroup.js +43 -11
  123. package/lib/engine-components/LODGroup.js.map +1 -1
  124. package/lib/engine-components/Light.d.ts +30 -5
  125. package/lib/engine-components/Light.js +30 -5
  126. package/lib/engine-components/Light.js.map +1 -1
  127. package/lib/engine-components/LookAtConstraint.d.ts +22 -7
  128. package/lib/engine-components/LookAtConstraint.js +22 -7
  129. package/lib/engine-components/LookAtConstraint.js.map +1 -1
  130. package/lib/engine-components/NeedleMenu.d.ts +27 -5
  131. package/lib/engine-components/NeedleMenu.js +27 -5
  132. package/lib/engine-components/NeedleMenu.js.map +1 -1
  133. package/lib/engine-components/NestedGltf.d.ts +39 -4
  134. package/lib/engine-components/NestedGltf.js +42 -4
  135. package/lib/engine-components/NestedGltf.js.map +1 -1
  136. package/lib/engine-components/OffsetConstraint.d.ts +27 -3
  137. package/lib/engine-components/OffsetConstraint.js +27 -3
  138. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  139. package/lib/engine-components/OrbitControls.d.ts +41 -3
  140. package/lib/engine-components/OrbitControls.js +41 -3
  141. package/lib/engine-components/OrbitControls.js.map +1 -1
  142. package/lib/engine-components/PlayerColor.d.ts +1 -1
  143. package/lib/engine-components/PlayerColor.js +1 -1
  144. package/lib/engine-components/ReflectionProbe.d.ts +17 -2
  145. package/lib/engine-components/ReflectionProbe.js +17 -3
  146. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  147. package/lib/engine-components/Renderer.d.ts +34 -0
  148. package/lib/engine-components/Renderer.js +35 -2
  149. package/lib/engine-components/Renderer.js.map +1 -1
  150. package/lib/engine-components/SceneSwitcher.d.ts +11 -0
  151. package/lib/engine-components/SceneSwitcher.js +11 -0
  152. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  153. package/lib/engine-components/ScreenCapture.d.ts +38 -6
  154. package/lib/engine-components/ScreenCapture.js +38 -6
  155. package/lib/engine-components/ScreenCapture.js.map +1 -1
  156. package/lib/engine-components/Skybox.d.ts +1 -1
  157. package/lib/engine-components/Skybox.js +1 -1
  158. package/lib/engine-components/SmoothFollow.d.ts +66 -7
  159. package/lib/engine-components/SmoothFollow.js +66 -7
  160. package/lib/engine-components/SmoothFollow.js.map +1 -1
  161. package/lib/engine-components/SpatialTrigger.d.ts +48 -1
  162. package/lib/engine-components/SpatialTrigger.js +48 -1
  163. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  164. package/lib/engine-components/SpectatorCamera.d.ts +21 -3
  165. package/lib/engine-components/SpectatorCamera.js +21 -3
  166. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  167. package/lib/engine-components/SyncedRoom.d.ts +7 -1
  168. package/lib/engine-components/SyncedRoom.js +7 -1
  169. package/lib/engine-components/SyncedRoom.js.map +1 -1
  170. package/lib/engine-components/SyncedTransform.d.ts +55 -6
  171. package/lib/engine-components/SyncedTransform.js +55 -6
  172. package/lib/engine-components/SyncedTransform.js.map +1 -1
  173. package/lib/engine-components/TransformGizmo.d.ts +30 -3
  174. package/lib/engine-components/TransformGizmo.js +30 -3
  175. package/lib/engine-components/TransformGizmo.js.map +1 -1
  176. package/lib/engine-components/VideoPlayer.d.ts +33 -6
  177. package/lib/engine-components/VideoPlayer.js +45 -6
  178. package/lib/engine-components/VideoPlayer.js.map +1 -1
  179. package/lib/engine-components/Voip.d.ts +33 -2
  180. package/lib/engine-components/Voip.js +33 -2
  181. package/lib/engine-components/Voip.js.map +1 -1
  182. package/lib/engine-components/export/usdz/USDZExporter.d.ts +47 -13
  183. package/lib/engine-components/export/usdz/USDZExporter.js +47 -13
  184. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  185. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +82 -3
  186. package/lib/engine-components/particlesystem/ParticleSystem.js +82 -3
  187. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  188. package/lib/engine-components/postprocessing/Effects/Antialiasing.d.ts +1 -0
  189. package/lib/engine-components/postprocessing/Effects/Antialiasing.js +1 -0
  190. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  191. package/lib/engine-components/postprocessing/Effects/BloomEffect.d.ts +1 -1
  192. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +1 -1
  193. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.d.ts +1 -1
  194. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js +1 -1
  195. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.d.ts +1 -1
  196. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js +1 -1
  197. package/lib/engine-components/postprocessing/Effects/DepthOfField.d.ts +1 -1
  198. package/lib/engine-components/postprocessing/Effects/DepthOfField.js +1 -1
  199. package/lib/engine-components/postprocessing/Effects/EffectWrapper.d.ts +1 -0
  200. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js +1 -0
  201. package/lib/engine-components/postprocessing/Effects/EffectWrapper.js.map +1 -1
  202. package/lib/engine-components/postprocessing/Effects/Pixelation.d.ts +1 -1
  203. package/lib/engine-components/postprocessing/Effects/Pixelation.js +1 -1
  204. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.d.ts +1 -1
  205. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +1 -1
  206. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.d.ts +1 -1
  207. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +1 -1
  208. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +1 -1
  209. package/lib/engine-components/postprocessing/Effects/Sharpening.js +1 -1
  210. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.d.ts +1 -1
  211. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js +1 -1
  212. package/lib/engine-components/postprocessing/Effects/Tonemapping.d.ts +1 -1
  213. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  214. package/lib/engine-components/postprocessing/Effects/Vignette.d.ts +1 -1
  215. package/lib/engine-components/postprocessing/Effects/Vignette.js +1 -1
  216. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +1 -1
  217. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  218. package/lib/engine-components/postprocessing/Volume.d.ts +1 -1
  219. package/lib/engine-components/postprocessing/Volume.js +1 -1
  220. package/lib/engine-components/splines/Spline.d.ts +409 -12
  221. package/lib/engine-components/splines/Spline.js +409 -12
  222. package/lib/engine-components/splines/Spline.js.map +1 -1
  223. package/lib/engine-components/splines/SplineUtils.d.ts +1 -0
  224. package/lib/engine-components/splines/SplineUtils.js +1 -0
  225. package/lib/engine-components/splines/SplineUtils.js.map +1 -1
  226. package/lib/engine-components/splines/SplineWalker.d.ts +3 -1
  227. package/lib/engine-components/splines/SplineWalker.js +3 -1
  228. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  229. package/lib/engine-components/timeline/PlayableDirector.d.ts +99 -14
  230. package/lib/engine-components/timeline/PlayableDirector.js +91 -25
  231. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  232. package/lib/engine-components/ui/Button.d.ts +29 -3
  233. package/lib/engine-components/ui/Button.js +29 -3
  234. package/lib/engine-components/ui/Button.js.map +1 -1
  235. package/lib/engine-components/ui/Canvas.d.ts +29 -4
  236. package/lib/engine-components/ui/Canvas.js +29 -4
  237. package/lib/engine-components/ui/Canvas.js.map +1 -1
  238. package/lib/engine-components/ui/CanvasGroup.d.ts +1 -1
  239. package/lib/engine-components/ui/CanvasGroup.js +1 -1
  240. package/lib/engine-components/ui/EventSystem.d.ts +1 -1
  241. package/lib/engine-components/ui/EventSystem.js +1 -1
  242. package/lib/engine-components/ui/Graphic.d.ts +1 -0
  243. package/lib/engine-components/ui/Graphic.js +1 -0
  244. package/lib/engine-components/ui/Graphic.js.map +1 -1
  245. package/lib/engine-components/ui/Image.d.ts +22 -3
  246. package/lib/engine-components/ui/Image.js +22 -3
  247. package/lib/engine-components/ui/Image.js.map +1 -1
  248. package/lib/engine-components/ui/InputField.d.ts +1 -1
  249. package/lib/engine-components/ui/InputField.js +1 -1
  250. package/lib/engine-components/ui/Layout.d.ts +3 -0
  251. package/lib/engine-components/ui/Layout.js +3 -0
  252. package/lib/engine-components/ui/Layout.js.map +1 -1
  253. package/lib/engine-components/ui/Outline.d.ts +1 -1
  254. package/lib/engine-components/ui/Outline.js +1 -1
  255. package/lib/engine-components/ui/PointerEvents.d.ts +1 -1
  256. package/lib/engine-components/ui/PointerEvents.js +1 -1
  257. package/lib/engine-components/ui/Raycaster.d.ts +55 -6
  258. package/lib/engine-components/ui/Raycaster.js +55 -6
  259. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  260. package/lib/engine-components/ui/RectTransform.d.ts +1 -1
  261. package/lib/engine-components/ui/RectTransform.js +1 -1
  262. package/lib/engine-components/ui/SpatialHtml.d.ts +1 -1
  263. package/lib/engine-components/ui/SpatialHtml.js +1 -1
  264. package/lib/engine-components/ui/Text.d.ts +23 -1
  265. package/lib/engine-components/ui/Text.js +23 -1
  266. package/lib/engine-components/ui/Text.js.map +1 -1
  267. package/lib/engine-components/utils/LookAt.d.ts +1 -1
  268. package/lib/engine-components/utils/LookAt.js +1 -1
  269. package/lib/engine-components/utils/OpenURL.d.ts +1 -1
  270. package/lib/engine-components/utils/OpenURL.js +1 -1
  271. package/lib/engine-components/web/Clickthrough.d.ts +116 -7
  272. package/lib/engine-components/web/Clickthrough.js +116 -7
  273. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  274. package/lib/engine-components/web/CursorFollow.d.ts +171 -7
  275. package/lib/engine-components/web/CursorFollow.js +171 -7
  276. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  277. package/lib/engine-components/web/HoverAnimation.d.ts +140 -11
  278. package/lib/engine-components/web/HoverAnimation.js +140 -11
  279. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  280. package/lib/engine-components/web/ScrollFollow.d.ts +4 -1
  281. package/lib/engine-components/web/ScrollFollow.js +4 -1
  282. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  283. package/lib/engine-components/web/ViewBox.d.ts +116 -16
  284. package/lib/engine-components/web/ViewBox.js +110 -16
  285. package/lib/engine-components/web/ViewBox.js.map +1 -1
  286. package/lib/engine-components/webxr/TeleportTarget.d.ts +21 -2
  287. package/lib/engine-components/webxr/TeleportTarget.js +21 -2
  288. package/lib/engine-components/webxr/TeleportTarget.js.map +1 -1
  289. package/lib/engine-components/webxr/WebXR.d.ts +10 -2
  290. package/lib/engine-components/webxr/WebXR.js +10 -2
  291. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  292. package/lib/engine-components/webxr/WebXRAvatar.d.ts +39 -2
  293. package/lib/engine-components/webxr/WebXRAvatar.js +35 -3
  294. package/lib/engine-components/webxr/WebXRAvatar.js.map +1 -1
  295. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +266 -30
  296. package/lib/engine-components/webxr/WebXRImageTracking.js +266 -30
  297. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  298. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +1 -1
  299. package/lib/engine-components/webxr/WebXRPlaneTracking.js +1 -1
  300. package/lib/engine-components/webxr/XRFlag.d.ts +29 -2
  301. package/lib/engine-components/webxr/XRFlag.js +29 -2
  302. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  303. package/package.json +1 -1
  304. package/plugins/vite/custom-element-data.js +128 -19
  305. package/src/engine/engine_context.ts +16 -0
  306. package/src/engine/engine_gameobject.ts +73 -0
  307. package/src/engine/engine_input.ts +83 -7
  308. package/src/engine/engine_math.ts +81 -2
  309. package/src/engine/engine_networking.ts +186 -17
  310. package/src/engine/engine_networking_auto.ts +36 -9
  311. package/src/engine/engine_physics.ts +37 -1
  312. package/src/engine/engine_physics_rapier.ts +77 -0
  313. package/src/engine/engine_serialization_decorator.ts +28 -2
  314. package/src/engine/engine_time.ts +23 -3
  315. package/src/engine/engine_util_decorator.ts +31 -1
  316. package/src/engine/engine_utils.ts +21 -5
  317. package/src/engine/extensions/NEEDLE_materialx.ts +5 -4
  318. package/src/engine/extensions/index.ts +2 -2
  319. package/src/engine-components/AlignmentConstraint.ts +24 -4
  320. package/src/engine-components/Animation.ts +44 -2
  321. package/src/engine-components/Animator.ts +40 -7
  322. package/src/engine-components/AudioListener.ts +1 -1
  323. package/src/engine-components/AudioSource.ts +37 -15
  324. package/src/engine-components/AxesHelper.ts +23 -4
  325. package/src/engine-components/BasicIKConstraint.ts +28 -5
  326. package/src/engine-components/Camera.ts +33 -3
  327. package/src/engine-components/CharacterController.ts +74 -7
  328. package/src/engine-components/Collider.ts +78 -21
  329. package/src/engine-components/ContactShadows.ts +36 -11
  330. package/src/engine-components/DeleteBox.ts +43 -2
  331. package/src/engine-components/DeviceFlag.ts +22 -3
  332. package/src/engine-components/DragControls.ts +32 -2
  333. package/src/engine-components/DropListener.ts +41 -29
  334. package/src/engine-components/Duplicatable.ts +37 -6
  335. package/src/engine-components/EventList.ts +41 -13
  336. package/src/engine-components/EventTrigger.ts +1 -1
  337. package/src/engine-components/Fog.ts +23 -1
  338. package/src/engine-components/GridHelper.ts +18 -2
  339. package/src/engine-components/GroundProjection.ts +25 -3
  340. package/src/engine-components/Interactable.ts +17 -2
  341. package/src/engine-components/Joints.ts +51 -8
  342. package/src/engine-components/LODGroup.ts +45 -11
  343. package/src/engine-components/Light.ts +35 -13
  344. package/src/engine-components/LookAtConstraint.ts +26 -8
  345. package/src/engine-components/NeedleMenu.ts +29 -7
  346. package/src/engine-components/NestedGltf.ts +40 -4
  347. package/src/engine-components/OffsetConstraint.ts +27 -3
  348. package/src/engine-components/OrbitControls.ts +41 -3
  349. package/src/engine-components/PlayerColor.ts +1 -1
  350. package/src/engine-components/ReflectionProbe.ts +19 -5
  351. package/src/engine-components/Renderer.ts +34 -1
  352. package/src/engine-components/SceneSwitcher.ts +11 -0
  353. package/src/engine-components/ScreenCapture.ts +41 -9
  354. package/src/engine-components/Skybox.ts +1 -1
  355. package/src/engine-components/SmoothFollow.ts +68 -7
  356. package/src/engine-components/SpatialTrigger.ts +51 -4
  357. package/src/engine-components/SpectatorCamera.ts +23 -5
  358. package/src/engine-components/SyncedRoom.ts +8 -2
  359. package/src/engine-components/SyncedTransform.ts +59 -10
  360. package/src/engine-components/TransformGizmo.ts +31 -4
  361. package/src/engine-components/VideoPlayer.ts +48 -6
  362. package/src/engine-components/Voip.ts +33 -2
  363. package/src/engine-components/export/usdz/USDZExporter.ts +47 -13
  364. package/src/engine-components/particlesystem/ParticleSystem.ts +84 -5
  365. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +1 -0
  366. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  367. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  368. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  369. package/src/engine-components/postprocessing/Effects/DepthOfField.ts +1 -1
  370. package/src/engine-components/postprocessing/Effects/EffectWrapper.ts +1 -0
  371. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  372. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  373. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  374. package/src/engine-components/postprocessing/Effects/Sharpening.ts +1 -1
  375. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +1 -1
  376. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  377. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  378. package/src/engine-components/postprocessing/PostProcessingHandler.ts +1 -1
  379. package/src/engine-components/postprocessing/Volume.ts +1 -1
  380. package/src/engine-components/splines/Spline.ts +412 -14
  381. package/src/engine-components/splines/SplineUtils.ts +1 -0
  382. package/src/engine-components/splines/SplineWalker.ts +4 -2
  383. package/src/engine-components/timeline/PlayableDirector.ts +104 -27
  384. package/src/engine-components/ui/Button.ts +29 -3
  385. package/src/engine-components/ui/Canvas.ts +29 -4
  386. package/src/engine-components/ui/CanvasGroup.ts +2 -2
  387. package/src/engine-components/ui/EventSystem.ts +1 -1
  388. package/src/engine-components/ui/Graphic.ts +1 -0
  389. package/src/engine-components/ui/Image.ts +22 -3
  390. package/src/engine-components/ui/InputField.ts +2 -2
  391. package/src/engine-components/ui/Layout.ts +3 -0
  392. package/src/engine-components/ui/Outline.ts +1 -1
  393. package/src/engine-components/ui/PointerEvents.ts +1 -1
  394. package/src/engine-components/ui/Raycaster.ts +57 -8
  395. package/src/engine-components/ui/RectTransform.ts +2 -2
  396. package/src/engine-components/ui/SpatialHtml.ts +1 -1
  397. package/src/engine-components/ui/Text.ts +24 -2
  398. package/src/engine-components/utils/LookAt.ts +1 -1
  399. package/src/engine-components/utils/OpenURL.ts +1 -1
  400. package/src/engine-components/web/Clickthrough.ts +119 -10
  401. package/src/engine-components/web/CursorFollow.ts +174 -9
  402. package/src/engine-components/web/HoverAnimation.ts +142 -13
  403. package/src/engine-components/web/ScrollFollow.ts +4 -1
  404. package/src/engine-components/web/ViewBox.ts +118 -18
  405. package/src/engine-components/webxr/TeleportTarget.ts +23 -4
  406. package/src/engine-components/webxr/WebXR.ts +11 -3
  407. package/src/engine-components/webxr/WebXRAvatar.ts +41 -4
  408. package/src/engine-components/webxr/WebXRImageTracking.ts +282 -38
  409. package/src/engine-components/webxr/WebXRPlaneTracking.ts +1 -1
  410. package/src/engine-components/webxr/XRFlag.ts +30 -3
@@ -17,25 +17,66 @@ import { Renderer } from "../Renderer.js";
17
17
  // https://github.com/immersive-web/marker-tracking/blob/main/explainer.md
18
18
  const debug = getParam("debugimagetracking");
19
19
  // #region WebXRTrackedImage
20
+ /**
21
+ * Represents a tracked image detected during a WebXR session.
22
+ * Contains position, rotation, and tracking state information for a detected marker image.
23
+ *
24
+ * **Properties:**
25
+ * - Access image URL and physical dimensions
26
+ * - Get current position and rotation in world space
27
+ * - Check tracking state (tracked vs emulated)
28
+ * - Apply transform to 3D objects
29
+ *
30
+ * @summary Runtime data for a detected marker image in WebXR
31
+ * @category XR
32
+ */
20
33
  export class WebXRTrackedImage {
34
+ /** URL of the tracked marker image */
21
35
  get url() { return this._trackedImage.image ?? ""; }
36
+ /** Physical width of the marker in meters */
22
37
  get widthInMeters() { return this._trackedImage.widthInMeters ?? undefined; }
38
+ /** The ImageBitmap used for tracking */
23
39
  get bitmap() { return this._bitmap; }
40
+ /** The {@link WebXRImageTrackingModel} configuration for this tracked image */
24
41
  get model() { return this._trackedImage; }
42
+ /**
43
+ * The measured size of the detected image in the real world.
44
+ * May differ from `widthInMeters` if the physical marker doesn't match the configured size.
45
+ */
25
46
  measuredSize;
47
+ /**
48
+ * Current tracking state of the image:
49
+ * - `tracked` - Image is currently being tracked by the system
50
+ * - `emulated` - Tracking is being emulated (less accurate)
51
+ */
26
52
  state;
27
- /** Copy the image position to a vector */
53
+ /**
54
+ * Copy the current world position of the tracked image to a Vector3.
55
+ * @param vec The vector to store the position in
56
+ * @returns The input vector with the position copied to it
57
+ */
28
58
  getPosition(vec) {
29
59
  this.ensureTransformData();
30
60
  vec.copy(this._position);
31
61
  return vec;
32
62
  }
33
- /** Copy the image rotation to a quaternion */
63
+ /**
64
+ * Copy the current world rotation of the tracked image to a Quaternion.
65
+ * @param quat The quaternion to store the rotation in
66
+ * @returns The input quaternion with the rotation copied to it
67
+ */
34
68
  getQuaternion(quat) {
35
69
  this.ensureTransformData();
36
70
  quat.copy(this._rotation);
37
71
  return quat;
38
72
  }
73
+ /**
74
+ * Apply the tracked image's position and rotation to a 3D object.
75
+ * Optionally applies smoothing to reduce jitter.
76
+ *
77
+ * @param object The 3D object to update
78
+ * @param t01 Interpolation factor (0-1) for smoothing. If undefined or >= 1, no smoothing is applied. When smoothing is enabled, larger position/rotation changes will automatically reduce the smoothing to prevent lag.
79
+ */
39
80
  applyToObject(object, t01 = undefined) {
40
81
  this.ensureTransformData();
41
82
  // check if position/_position or rotation/_rotation changed more than just a little bit and adjust smoothing accordingly
@@ -84,12 +125,36 @@ export class WebXRTrackedImage {
84
125
  }
85
126
  // #region Model
86
127
  /**
87
- * WebXRImageTracking allows you to track images in the real world and place objects on top of them.
88
- * This component is only available in WebXR sessions.
89
- * The WebXRImageTrackingModel contains the image to track, the object to place on top of the image, and the size of the image as well as settings for the tracking.
90
- * Used by the {@link WebXRImageTracking} component
128
+ * Configuration model for a tracked image marker.
129
+ * Defines which image to track, its physical size, and which 3D content to display when detected.
130
+ *
131
+ * **Important:** The physical size (`widthInMeters`) must match your printed marker size for accurate tracking.
132
+ * Mismatched sizes cause the tracked object to appear to "float" above or below the marker.
133
+ *
134
+ * **Best practices for marker images:**
135
+ * - Use high-contrast images with distinct features
136
+ * - Avoid repetitive patterns or solid colors
137
+ * - Test images at intended viewing distances
138
+ * - Ensure good lighting conditions
139
+ *
140
+ * @summary Configuration for a single trackable image marker
141
+ * @category XR
142
+ * @see {@link WebXRImageTracking} for the component that uses these models
143
+ * @link https://engine.needle.tools/docs/xr.html#image-tracking
144
+ * @link https://engine.needle.tools/samples/image-tracking
91
145
  */
92
146
  export class WebXRImageTrackingModel {
147
+ /**
148
+ * Creates a new image tracking configuration.
149
+ *
150
+ * @param params Configuration parameters
151
+ * @param params.url URL to the marker image to track
152
+ * @param params.widthInMeters Physical width of the printed marker in meters (must match real size!)
153
+ * @param params.object The 3D object or AssetReference to display when this image is detected
154
+ * @param params.createObjectInstance If true, creates a new instance for each detection (useful for tracking multiple instances of the same marker)
155
+ * @param params.imageDoesNotMove Enable for static markers (floor/wall mounted) to improve tracking stability
156
+ * @param params.hideWhenTrackingIsLost If true, hides the object when tracking is lost; if false, leaves it at the last known position
157
+ */
93
158
  constructor(params) {
94
159
  this.image = params.url;
95
160
  this.widthInMeters = params.widthInMeters;
@@ -106,32 +171,75 @@ export class WebXRImageTrackingModel {
106
171
  this.hideWhenTrackingIsLost = params.hideWhenTrackingIsLost;
107
172
  }
108
173
  /**
109
- * Tracked image marker url. Make sure the image has good contrast and unique features to improve the tracking quality.
174
+ * URL to the marker image to track.
175
+ * **Important:** Use images with high contrast and unique features to improve tracking quality.
176
+ * Avoid repetitive patterns, solid colors, or low-contrast images.
110
177
  */
111
178
  image;
112
- /** Make sure this matches your physical marker size! Otherwise the tracked object will \"swim\" above or below the marker.
113
- * @default 0.25 which is equivalent to 25cm
179
+ /**
180
+ * Physical width of the printed marker in meters.
181
+ * **Critical:** This must match your actual printed marker size!
182
+ * If mismatched, the tracked object will appear to "float" above or below the marker.
183
+ *
184
+ * @default 0.25 (25cm)
185
+ * @example
186
+ * ```ts
187
+ * // For a business card sized marker (9cm wide)
188
+ * widthInMeters = 0.09;
189
+ *
190
+ * // For an A4 page width (21cm)
191
+ * widthInMeters = 0.21;
192
+ * ```
114
193
  */
115
194
  widthInMeters = .25;
116
195
  /**
117
- * The object moved around by the image. Make sure the size matches WidthInMeters.
196
+ * The 3D object or prefab to display when this marker is detected.
197
+ * The object will be positioned and rotated to match the tracked image in the real world.
198
+ *
199
+ * **Note:** Scale your 3D content appropriately relative to `widthInMeters`.
118
200
  */
119
201
  object;
120
202
  /**
121
- * If true, a new instance of the referenced object will be created for each tracked image. Enable this if you're re-using objects for multiple markers.
203
+ * When enabled, creates a new instance of the referenced object each time this image is detected.
204
+ * Enable this if you want to track multiple instances of the same marker simultaneously,
205
+ * or if the same object is used for multiple different markers.
206
+ *
207
+ * @default false
122
208
  */
123
209
  createObjectInstance = false;
124
- /** Use this for static images (e.g. markers on the floor). Only the first few frames of new poses will be applied to the model. This will result in more stable tracking.
210
+ /**
211
+ * Enable for static markers that don't move (e.g., posters on walls or markers on the floor).
212
+ * When enabled, only the first few tracking frames are used to position the object,
213
+ * resulting in more stable tracking by ignoring subsequent minor position changes.
214
+ *
215
+ * **Use cases:**
216
+ * - Wall-mounted posters or artwork
217
+ * - Floor markers for persistent AR content
218
+ * - Product packaging on shelves
219
+ *
220
+ * **Don't use for:**
221
+ * - Handheld cards or objects
222
+ * - Moving markers
223
+ *
125
224
  * @default false
126
225
  */
127
226
  imageDoesNotMove = false;
128
227
  /**
129
- * Enable to hide the tracked object when the image is not tracked anymore. When disabled the tracked object will stay at the position it was last tracked at.
228
+ * Controls visibility behavior when tracking is lost.
229
+ * - When `true`: Object is hidden when the marker is no longer visible
230
+ * - When `false`: Object remains visible at its last tracked position
231
+ *
130
232
  * @default true
131
233
  */
132
234
  hideWhenTrackingIsLost = true;
133
235
  /**
134
- * Get the name of the image file from the url
236
+ * Extracts the filename from the marker image URL.
237
+ * @returns The filename (last part of the URL path), or null if no image URL is set
238
+ * @example
239
+ * ```ts
240
+ * // URL: "https://example.com/markers/business-card.png"
241
+ * // Returns: "business-card.png"
242
+ * ```
135
243
  */
136
244
  getNameFromUrl() {
137
245
  if (this.image) {
@@ -263,23 +371,120 @@ class ImageTrackingExtension {
263
371
  }
264
372
  // #region Tracking Component
265
373
  /**
266
- * Add this component to a object to enable image tracking in WebXR sessions.
374
+ * Create powerful AR image tracking experiences with just a few lines of code!
375
+ * WebXRImageTracking makes it incredibly easy to detect marker images in the real world and anchor 3D content to them.
376
+ * Needle Engine automatically handles all the complexity across different platforms and fallback modes for you.
377
+ *
378
+ * [![Image Tracking Demo](https://cloud.needle.tools/-/media/vRUf9BmqW_bgNARATjmfCQ.gif)](https://engine.needle.tools/samples/image-tracking)
379
+ *
380
+ * **What makes Needle Engine special:**
381
+ * - **Write once, run everywhere**: The same code works across iOS, Android, and visionOS
382
+ * - **Automatic platform optimization**: Seamlessly switches between WebXR, ARKit, and QuickLook
383
+ * - **Flexible deployment options**: From full WebXR with unlimited markers to QuickLook fallback
384
+ * - **Production ready**: Battle-tested tracking with adaptive smoothing and stability features
385
+ *
386
+ * **Platform Support & Options:**
387
+ * - **iOS (WebXR via AppClip)**: Full WebXR support - track unlimited markers simultaneously via native ARKit!
388
+ * - **iOS (QuickLook mode)**: Instant AR without app installation - perfect for quick demos (tracks first marker)
389
+ * - **Android (WebXR)**: Native WebXR Image Tracking API - unlimited markers (requires browser flag during early access)
390
+ * - **visionOS (QuickLook)**: Spatial image anchoring with Apple's AR QuickLook
267
391
  *
268
- * You need to add at least one {@link WebXRImageTrackingModel} to the `trackedImages` array to define which images to track and which objects to place on top of them.
392
+ * **Simple 3-Step Setup:**
393
+ * 1. Add this component to any GameObject in your scene
394
+ * 2. Configure your markers in the `trackedImages` array:
395
+ * - `image`: URL to your marker image
396
+ * - `widthInMeters`: Physical size of your printed marker
397
+ * - `object`: The 3D content to display
398
+ * 3. Export and test - Needle handles the rest!
269
399
  *
270
- * **NOTE:** For Android devices, image tracking currently requires the user to enable the `chrome://flags/#webxr-incubations` flag in Chrome.
400
+ * **Pro Tips for Best Results:**
401
+ * - Use high-contrast markers with unique features for reliable tracking
402
+ * - Match `widthInMeters` to your actual physical marker size for accurate positioning
403
+ * - Enable `imageDoesNotMove` for wall posters or floor markers - significantly improves stability
404
+ * - Use `smooth` (enabled by default) for professional-looking, jitter-free tracking
405
+ * - Test with different marker sizes and lighting - Needle's adaptive tracking handles various conditions
271
406
  *
272
- * **NOTE:** For iOS only one image can be tracked at a time. If you have multiple images in the `trackedImages` array, only the first one will be tracked. You can use the {@link setPrimaryImage} method to change which image is tracked before entering the XR session.
407
+ * ![](https://cloud.needle.tools/-/media/V-2UxGVRJxvH9oDnXGnIdg.png)
408
+ * *WebXRImageTracking component in Unity Editor*
273
409
  *
274
- * - Example: https://samples.needle.tools/image-tracking
410
+ * ![](https://cloud.needle.tools/-/media/poDPca1bI1an4SBY7LtKNA.png)
411
+ * *WebXRImageTracking panel/component in Blender*
275
412
  *
413
+ * @example Getting started - it's this easy!
414
+ * ```ts
415
+ * // Just add markers and Needle handles everything else
416
+ * const imageTracking = myObject.addComponent(WebXRImageTracking);
417
+ * const marker = new WebXRImageTrackingModel({
418
+ * url: "https://example.com/my-poster.png",
419
+ * widthInMeters: 0.3, // 30cm poster
420
+ * object: my3DContent
421
+ * });
422
+ * imageTracking.addImage(marker);
423
+ * // Done! Works on iOS, Android, and visionOS automatically
424
+ * ```
425
+ *
426
+ * @example Track multiple markers (WebXR mode)
427
+ * ```ts
428
+ * const imageTracking = myObject.addComponent(WebXRImageTracking);
429
+ *
430
+ * // In WebXR mode (iOS AppClip, Android), all markers work simultaneously!
431
+ * const productBox = new WebXRImageTrackingModel({ url: "product-box.png", widthInMeters: 0.15, object: productInfo });
432
+ * const businessCard = new WebXRImageTrackingModel({ url: "business-card.png", widthInMeters: 0.09, object: contactCard });
433
+ * const poster = new WebXRImageTrackingModel({ url: "poster.png", widthInMeters: 0.5, object: videoPlayer });
434
+ *
435
+ * imageTracking.addImage(productBox);
436
+ * imageTracking.addImage(businessCard);
437
+ * imageTracking.addImage(poster);
438
+ *
439
+ * // For QuickLook fallback mode, optionally set which marker is primary
440
+ * imageTracking.setPrimaryImage(poster); // This will be used in QuickLook
441
+ * ```
442
+ *
443
+ * @example Professional setup for static markers
444
+ * ```ts
445
+ * // Perfect for museums, retail displays, or permanent installations
446
+ * const wallArt = new WebXRImageTrackingModel({
447
+ * url: "gallery-painting.png",
448
+ * widthInMeters: 0.6,
449
+ * object: interactiveExplanation,
450
+ * imageDoesNotMove: true, // Rock-solid tracking for static markers!
451
+ * hideWhenTrackingIsLost: false // Content stays visible even if temporarily occluded
452
+ * });
453
+ * ```
454
+ *
455
+ * **Why developers love Needle's image tracking:**
456
+ * - Zero platform-specific code required
457
+ * - Automatic graceful degradation across deployment modes
458
+ * - Built-in jitter reduction and stability features
459
+ * - Works with any image - posters, packaging, business cards, artwork
460
+ * - Export once, deploy everywhere
461
+ *
462
+ * @summary The easiest way to create cross-platform AR image tracking experiences
276
463
  * @category XR
277
464
  * @group Components
465
+ * @see {@link WebXRImageTrackingModel} for marker configuration options
466
+ * @see {@link WebXRTrackedImage} for runtime tracking data and events
467
+ * @see {@link WebXR} for general WebXR setup and session management
468
+ * @link https://engine.needle.tools/docs/xr.html#image-tracking - Full Documentation
469
+ * @link https://engine.needle.tools/samples/image-tracking - Try Live Demo
470
+ * @link https://github.com/immersive-web/marker-tracking/blob/main/explainer.md - WebXR Marker Tracking Specification
278
471
  */
279
472
  export class WebXRImageTracking extends Behaviour {
280
473
  /**
281
- * If you have multiple images in your application to track then this method is useful for iOS AR where only the first image can be tracked.
282
- * Call this method will set the given image as the first one in the array so it will be used for tracking.
474
+ * Set which marker should be primary (first in the list).
475
+ * Useful when deploying to QuickLook mode where one marker is tracked at a time.
476
+ * In full WebXR mode (iOS AppClip, Android), all markers track simultaneously regardless of order.
477
+ *
478
+ * **Note:** Needle Engine automatically adapts - in WebXR all markers work, in QuickLook the primary is used.
479
+ *
480
+ * @param image The marker model to set as primary
481
+ *
482
+ * @example
483
+ * ```ts
484
+ * // Great for offering different AR experiences from one deployment
485
+ * imageTracking.setPrimaryImage(businessCardMarker); // Use this for QuickLook
486
+ * // In WebXR mode, all markers still work simultaneously!
487
+ * ```
283
488
  */
284
489
  setPrimaryImage(image) {
285
490
  const index = this.trackedImages.indexOf(image);
@@ -294,14 +499,25 @@ export class WebXRImageTracking extends Behaviour {
294
499
  console.warn(`[WebXRImageTracking] Can not set primary: image not found in 'trackedImages' array ${image.image}`);
295
500
  }
296
501
  /**
297
- * Add an image to track. If the image is already in the trackedImages array it won't be added again.
298
- * Note: that adding images at runtime *while* in AR is not supported.
502
+ * Add a marker to track - it's that simple!
503
+ * Needle Engine handles all the platform differences automatically.
504
+ *
505
+ * **Tip:** Add all your markers upfront. In WebXR mode they all work simultaneously.
506
+ * In QuickLook mode, the first (primary) marker is used.
507
+ *
508
+ * @param image The marker configuration to add
509
+ * @param asPrimary Set to true to make this the primary marker (for QuickLook fallback)
299
510
  *
300
511
  * @example
301
512
  * ```ts
302
- * const imageTracking = GameObject.getComponent(myGameObject, WebXRImageTracking);
303
- * const image = new WebXRImageTrackingModel({ url: "https://example.com/my-marker.png", widthInMeters: 0.2, object: myObject });
304
- * imageTracking.addImage(image, true); // add and set as primary image
513
+ * // Super simple - works across all platforms
514
+ * const marker = new WebXRImageTrackingModel({
515
+ * url: "https://mysite.com/poster.png",
516
+ * widthInMeters: 0.42, // A3 poster width
517
+ * object: cool3DModel
518
+ * });
519
+ * imageTracking.addImage(marker);
520
+ * // That's it! Needle does the rest.
305
521
  * ```
306
522
  */
307
523
  addImage(image, asPrimary = false) {
@@ -313,15 +529,35 @@ export class WebXRImageTracking extends Behaviour {
313
529
  this.setPrimaryImage(image);
314
530
  }
315
531
  /**
316
- * List of images to track in the WebXR session. Use {@link WebXRImageTrackingModel} to define each image and the object to place on top of it.
532
+ * Your list of markers to track. Add as many as you need!
533
+ *
534
+ * **How it works across platforms:**
535
+ * - **WebXR mode** (iOS AppClip, Android): All markers are tracked simultaneously - amazing for multi-marker experiences!
536
+ * - **QuickLook mode** (iOS fallback, visionOS): First marker is used - perfect for quick demos without app installation
537
+ *
538
+ * **Needle's smart deployment:** Configure all your markers once, and Needle automatically uses the best
539
+ * tracking mode available on each platform. No platform-specific code needed!
317
540
  *
318
- * Use the `addImage()` and `setPrimaryImage()` methods to modify this array at runtime.
541
+ * @see {@link WebXRImageTrackingModel} for marker configuration
542
+ * @see {@link addImage} and {@link setPrimaryImage} for runtime management
319
543
  */
320
544
  trackedImages = [];
321
- /** Applies smoothing based on detected jitter to the tracked image. */
545
+ /**
546
+ * Enable Needle's professional-grade adaptive smoothing for rock-solid tracking.
547
+ * Automatically reduces jitter while staying responsive to real movement.
548
+ *
549
+ * **Pro tip:** Keep this enabled (default) for production experiences!
550
+ *
551
+ * @default true
552
+ */
322
553
  smooth = true;
323
554
  trackedImageIndexMap = new Map();
324
- /** @returns true if image tracking is supported on this device. This may return false at runtime if the user's browser did not enable webxr incubations */
555
+ /**
556
+ * Check if image tracking is available on this device right now.
557
+ *
558
+ * **Note:** On Android Chrome, WebXR Image Tracking is currently behind a flag during the early access period.
559
+ * Needle automatically falls back to other modes when needed, so your experience keeps working!
560
+ */
325
561
  get supported() { return this._supported; }
326
562
  _supported = true;
327
563
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAqB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAS,eAAe,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAA0B,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAA6C,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,0EAA0E;AAE1E,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE7C,4BAA4B;AAE5B,MAAM,OAAO,iBAAiB;IAE1B,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAI,MAAM,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,IAAI,KAAK,KAA8B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,YAAY,CAAS;IACrB,KAAK,CAAyB;IAEvC,0CAA0C;IAC1C,WAAW,CAAC,GAAY;QACpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,IAAgB;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAgB,EAAE,MAA0B,SAAS;QAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,yHAAyH;QACzH,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QACjI,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,CAAC,EAAE;YAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,oCAAoC;SACvC;aACI;YACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC7C,oCAAoC;SACvC;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,GAA4B,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,eAAe,GAA+B,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACpG,SAAS,CAAW;IACpB,SAAS,CAAc;IACvB,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAA6B,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC9C;IACL,CAAC;IAEgB,kBAAkB,CAAqB;IACvC,aAAa,CAA0B;IACvC,OAAO,CAAc;IACrB,KAAK,CAAM;IAE5B,YAAY,OAA2B,EAAE,YAAqC,EAAE,MAAmB,EAAE,YAAoB,EAAE,KAA6B,EAAE,IAAS;QAC/J,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAAA,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;;AAgBL,gBAAgB;AAEhB;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAEhC,YAAY,MAAsM;QAC9M,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,YAAY,QAAQ,EAAE;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9D;;YACI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEjC,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS;YAAE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACvG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3F,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS;YAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACjH,CAAC;IAED;;OAEG;IAEH,KAAK,CAAU;IAEf;;MAEE;IAEF,aAAa,GAAW,GAAG,CAAC;IAE5B;;OAEG;IAEH,MAAM,CAAkB;IAExB;;OAEG;IAEH,oBAAoB,GAAY,KAAK,CAAC;IAEtC;;MAEE;IAEF,gBAAgB,GAAY,KAAK,CAAC;IAElC;;;OAGG;IAEH,sBAAsB,GAAY,IAAI,CAAC;IAGvC;;OAEG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5CG;IADC,YAAY,CAAC,GAAG,CAAC;sDACH;AAMf;IADC,YAAY,EAAE;8DACa;AAM5B;IADC,YAAY,CAAC,cAAc,CAAC;uDACL;AAMxB;IADC,YAAY,EAAE;qEACuB;AAMtC;IADC,YAAY,EAAE;iEACmB;AAOlC;IADC,YAAY,EAAE;uEACwB;AAgB3C,yBAAyB;AACzB,MAAM,sBAAsB;IAOK;IAAyC;IAJ7D,wBAAwB,GAAG,IAAI,CAAC;IACzC,IAAI,aAAa,KAAK,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAGhD,YAA6B,QAAsB,EAAmB,SAA6B;QAAtE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,cAAS,GAAT,SAAS,CAAoB;QAC/F,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,oBAAoB;IACZ,YAAY,GAAY,IAAI,CAAC;IAE7B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,UAAU,GAAmC,IAAI,CAAC;IAE1D,qBAAqB,CAAC,QAA6B;QAE/C,4EAA4E;QAC5E,uGAAuG;QACvG,6DAA6D;QAC7D,mFAAmF;QACnF,yDAAyD;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE;YACR,MAAM,GAAG,GAAI,CAA4B,CAAC;YAC1C,OAAO,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC;QACrH,CAAC,CAAC;aACD,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,KAAK,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,4FAA4F;QAC5F,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;YAC1C,IAAI,KAAK,IAAI,gBAAgB,EAAE,EAAE;gBAC7B,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;aAClH;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,QAA6B,EAAE,MAAiB;QAC7D,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,uBAAuB,GAAG,YAAY,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,0DAA0D,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,wCAAwC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAClF,MAAM,CAAC,UAAU,CAAC,iCAAiC,GAAG,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,UAAU,EAAE,CAAC;IAExB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA4B;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,UAAW,CAAC,KAAM,CAAE,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,cAAc,CAAC,MAAkC,EAAE,KAAgB,EAAE,QAA6B;QAC9F,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB;YAAE,OAAO;QAEtG,qCAAqC;QACrC,0FAA0F;QAC1F,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,YAAY,CAAC;YAE9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAE9D,sGAAsG;YACtG,wDAAwD;YACxD,IAAI,MAAM,GAAG,MAAM,CAAC;YAEpB,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE;oBACxD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACvB,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBAC7C;aACJ;YACD,MAAM,GAAG,GAAG,cAAc;iBACrB,KAAK,EAAE;iBACP,MAAM,EAAE,CAAA;YACb,wEAAwE;YACxE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAG7D,wDAAwD;YACxD,gHAAgH;YAChH,2GAA2G;YAC3G,sHAAsH;YACtH,uDAAuD;YACvD,+FAA+F;YAC/F,qEAAqE;YACrE,2IAA2I;YAC3I,MAAM;SAET;IACL,CAAC;CACJ;AAGD,6BAA6B;AAC7B;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAE7C;;;OAGG;IACH,eAAe,CAAC,KAA8B;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,KAAK,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;aACvC;SACJ;;YACI,OAAO,CAAC,IAAI,CAAC,sFAAsF,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3H,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAA8B,EAAE,YAAqB,KAAK;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;SAC3B;QACD,IAAI,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAGD;;;;OAIG;IAEM,aAAa,GAA8B,EAAE,CAAC;IAEvD,uEAAuE;IAEvE,MAAM,GAAY,IAAI,CAAC;IAEN,oBAAoB,GAAyC,IAAI,GAAG,EAAE,CAAC;IAExF,2JAA2J;IAC3J,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnC,UAAU,GAAY,IAAI,CAAC;IAEnC,gBAAgB;IAChB,KAAK;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,IAAI,YAAY,CAAC,KAAK,EAAE;gBACpB,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;IACL,CAAC;IACD,gBAAgB;IAChB,QAAQ;QACJ,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,YAAY,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAEO,kBAAkB,GAAG,CAAC,IAAgC,EAAE,EAAE;QAC9D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;SAClF;IACL,CAAC,CAAA;IAGD,gBAAgB;IAChB,UAAU,CAAC,KAAoB,EAAE,IAAmD;QAChF,yDAAyD;QACzD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEjD,IAAG,CAAC,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,YAAY,CAAC,aAAa,GAAG,CAAC,EAAE;oBAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACvE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACpB,KAAK,EAAE,MAAM;4BACb,aAAa,EAAE,YAAY,CAAC,aAAa;yBAC5C,CAAC,CAAC;qBACN;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,gBAAgB;IAChB,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;oBAC5B,iGAAiG;oBACjG,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAiB,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,QAAQ;wBAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrC,MAAM,KAAK,GAA8B;wBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;qBAC7B,CAAC;oBACF,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;iBAC1C;aACJ;SACJ;QACD,4CAA4C;QAC5C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YACtD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1B;IACL,CAAC;IAAA,CAAC;IAEF,gBAAgB;IAChB,SAAS,CAAC,KAAwB;QAE9B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,EAAE;YACtD,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;oBAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAiB,CAAC;oBAClD,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,2DAA2D;wBAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAA0C,CAAC;wBACtF,IAAI,KAAK,EAAE;4BACP,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;4BAC5B,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;yBACjE;wBACD,OAAO,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;qBACzC;iBACJ;aACJ;SACJ;IACL,CAAC;IAEgB,gBAAgB,GAAG,IAAI,GAAG,EAAkG,CAAC;IAC7H,aAAa,GAAwB,EAAE,CAAC;IAGxC,uBAAuB,GAAG,oNAAoN,CAAC;IAEhQ,gBAAgB;IAChB,UAAU,CAAC,IAAuB;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,CAAC,yBAAyB,IAAI,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjD,OAAO;SACV;QACD,2HAA2H;QAC3H,sMAAsM;aACjM,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK,EAAE;YAC5E,iDAAiD;YACjD,OAAO;SACV;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,uBAAuB,KAAK,UAAU,EAAE;YAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,IAAI,KAAK,EAAE;oBACP,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;wBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;wBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC/D,IAAI,YAAY,EAAE;4BACd,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;4BACrD,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BAC5G,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACtC;6BACI;4BACD,IAAI,KAAK,EAAE;gCACP,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC;6BAC1D;yBACJ;qBACJ;oBACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IAAI;4BACA,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;4BACtF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBAClD;wBACD,OAAO,CAAC,EAAE;4BACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBACpB;qBACJ;iBACJ;aACJ;SACJ;QAED,iDAAiD;QACjD,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG;gBAAE,SAAS;YACpC,4EAA4E;YAC5E,IAAI,GAAG,CAAC,sBAAsB,KAAK,KAAK;gBAAE,SAAS;YACnD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,KAAK,KAAK,GAAG,EAAE;oBAC5B,0JAA0J;oBAC1J,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;oBAClE,IAAG,KAAK;wBAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,IAAI,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtL,IAAI,GAAG,CAAC,gBAAgB,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,qBAAqB,IAAI,UAAU,EAAE;wBACjG,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;qBACT;iBACJ;aACJ;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAGO,qBAAqB,GAAG,CAAC,MAA2B,EAAE,EAAE;QAC5D,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,EAAE;YAAE,OAAO;QAGhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;YAC5C,mGAAmG;YACnG,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAE5B,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC3B,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAE9C,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,KAAsB,EAAE,EAAE;oBAC1D,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,EAAE;wBACrC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;qBACzC;oBAED,IAAI,KAAK,EAAE;wBACP,WAAY,CAAC,MAAM,GAAG,KAAK,CAAC;wBAE5B,6DAA6D;wBAC7D,oFAAoF;wBACpF,4EAA4E;wBAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BACxD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;yBACpC;wBAED,uCAAuC;wBACvC,IAAI,EAAE,CAAC,GAAG,EAAE;4BACR,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC3B,IAAI,CAAE,KAAqB,CAAC,UAAU;gCAClC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACtC,mCAAmC;yBACtC;6BACI;4BACD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;yBAClD;qBAEJ;gBACL,CAAC,CAAC,CAAC;aACN;iBACI;gBACD,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,SAAS;oBACT,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE9C,4FAA4F;gBAC5F,yCAAyC;gBACzC,IAAI,KAAK,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE;oBACjD,SAAS;gBAEb,IAAI,CAAC,WAAW,CAAC,MAAM;oBAAE,SAAS;gBAElC,IAAI,EAAE,CAAC,GAAG,EAAE;oBAER,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAE1C,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC3G,IAAI,CAAE,WAAW,CAAC,MAAsB,CAAC,UAAU,EAAE;wBACjD,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;qBAClD;oBACD,gDAAgD;iBACnD;aACJ;SACJ;IACL,CAAC,CAAA;CACJ;AA/QG;IADC,YAAY,CAAC,uBAAuB,CAAC;yDACiB;AAIvD;IADC,YAAY,EAAE;kDACQ;AAgR3B,MAAM,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;AAClE,MAAM,qBAAqB,GAAkC,IAAI,GAAG,EAAE,CAAC;AAEvE,KAAK,UAAU,SAAS,CAAC,GAAW;IAChC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,GAAG,CAAC,EAAE;QACvC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAqB,CAAC;QACvE,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAClD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAqB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAS,eAAe,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAA0B,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAA6C,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,0EAA0E;AAE1E,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAE7C,4BAA4B;AAE5B;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAE1B,sCAAsC;IACtC,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,6CAA6C;IAC7C,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC;IAC7E,wCAAwC;IACxC,IAAI,MAAM,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,+EAA+E;IAC/E,IAAI,KAAK,KAA8B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE;;;OAGG;IACM,YAAY,CAAS;IAC9B;;;;OAIG;IACM,KAAK,CAAyB;IAEvC;;;;OAIG;IACH,WAAW,CAAC,GAAY;QACpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,IAAgB;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,MAAgB,EAAE,MAA0B,SAAS;QAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,yHAAyH;QACzH,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QACjI,IAAI,GAAG;YAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,CAAC,EAAE;YAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,oCAAoC;SACvC;aACI;YACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC7C,oCAAoC;SACvC;IACL,CAAC;IAEO,MAAM,CAAC,eAAe,GAA4B,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,eAAe,GAA+B,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACpG,SAAS,CAAW;IACpB,SAAS,CAAc;IACvB,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACzD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAA6B,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;SAC9C;IACL,CAAC;IAEgB,kBAAkB,CAAqB;IACvC,aAAa,CAA0B;IACvC,OAAO,CAAc;IACrB,KAAK,CAAM;IAE5B,YAAY,OAA2B,EAAE,YAAqC,EAAE,MAAmB,EAAE,YAAoB,EAAE,KAA6B,EAAE,IAAS;QAC/J,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAAA,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;;AAwBL,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,uBAAuB;IAEhC;;;;;;;;;;OAUG;IACH,YAAY,MAAsM;QAC9M,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,YAAY,QAAQ,EAAE;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9D;;YACI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEjC,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS;YAAE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACvG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3F,IAAI,MAAM,CAAC,sBAAsB,KAAK,SAAS;YAAE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACjH,CAAC;IAED;;;;OAIG;IAEH,KAAK,CAAU;IAEf;;;;;;;;;;;;;;MAcE;IAEF,aAAa,GAAW,GAAG,CAAC;IAE5B;;;;;OAKG;IAEH,MAAM,CAAkB;IAExB;;;;;;OAMG;IAEH,oBAAoB,GAAY,KAAK,CAAC;IAEtC;;;;;;;;;;;;;;;MAeE;IAEF,gBAAgB,GAAY,KAAK,CAAC;IAElC;;;;;;OAMG;IAEH,sBAAsB,GAAY,IAAI,CAAC;IAGvC;;;;;;;;OAQG;IACH,cAAc;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AArFG;IADC,YAAY,CAAC,GAAG,CAAC;sDACH;AAkBf;IADC,YAAY,EAAE;8DACa;AAS5B;IADC,YAAY,CAAC,cAAc,CAAC;uDACL;AAUxB;IADC,YAAY,EAAE;qEACuB;AAmBtC;IADC,YAAY,EAAE;iEACmB;AAUlC;IADC,YAAY,EAAE;uEACwB;AAsB3C,yBAAyB;AACzB,MAAM,sBAAsB;IAOK;IAAyC;IAJ7D,wBAAwB,GAAG,IAAI,CAAC;IACzC,IAAI,aAAa,KAAK,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAGhD,YAA6B,QAAsB,EAAmB,SAA6B;QAAtE,aAAQ,GAAR,QAAQ,CAAc;QAAmB,cAAS,GAAT,SAAS,CAAoB;QAC/F,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,oBAAoB;IACZ,YAAY,GAAY,IAAI,CAAC;IAE7B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,UAAU,GAAmC,IAAI,CAAC;IAE1D,qBAAqB,CAAC,QAA6B;QAE/C,4EAA4E;QAC5E,uGAAuG;QACvG,6DAA6D;QAC7D,mFAAmF;QACnF,yDAAyD;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE;YACR,MAAM,GAAG,GAAI,CAA4B,CAAC;YAC1C,OAAO,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC,SAAS,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC;QACrH,CAAC,CAAC;aACD,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,KAAK,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,4FAA4F;QAC5F,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;YAC1C,IAAI,KAAK,IAAI,gBAAgB,EAAE,EAAE;gBAC7B,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;aAClH;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,QAA6B,EAAE,MAAiB;QAC7D,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,uBAAuB,GAAG,YAAY,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,0DAA0D,CAAC,CAAC;QAC9E,MAAM,CAAC,UAAU,CAAC,wCAAwC,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;QAClF,MAAM,CAAC,UAAU,CAAC,iCAAiC,GAAG,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,UAAU,EAAE,CAAC;IAExB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA4B;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,UAAW,CAAC,KAAM,CAAE,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,cAAc,CAAC,MAAkC,EAAE,KAAgB,EAAE,QAA6B;QAC9F,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB;YAAE,OAAO;QAEtG,qCAAqC;QACrC,0FAA0F;QAC1F,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,IAAI,YAAY,CAAC;YAE9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAE9D,sGAAsG;YACtG,wDAAwD;YACxD,IAAI,MAAM,GAAG,MAAM,CAAC;YAEpB,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE;oBACxD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACvB,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBAC7C;aACJ;YACD,MAAM,GAAG,GAAG,cAAc;iBACrB,KAAK,EAAE;iBACP,MAAM,EAAE,CAAA;YACb,wEAAwE;YACxE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAG7D,wDAAwD;YACxD,gHAAgH;YAChH,2GAA2G;YAC3G,sHAAsH;YACtH,uDAAuD;YACvD,+FAA+F;YAC/F,qEAAqE;YACrE,2IAA2I;YAC3I,MAAM;SAET;IACL,CAAC;CACJ;AAGD,6BAA6B;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,KAA8B;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,KAAK,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;aACvC;SACJ;;YACI,OAAO,CAAC,IAAI,CAAC,sFAAsF,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3H,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,KAA8B,EAAE,YAAqB,KAAK;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;SAC3B;QACD,IAAI,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAGD;;;;;;;;;;;;OAYG;IAEM,aAAa,GAA8B,EAAE,CAAC;IAEvD;;;;;;;OAOG;IAEH,MAAM,GAAY,IAAI,CAAC;IAEN,oBAAoB,GAAyC,IAAI,GAAG,EAAE,CAAC;IAExF;;;;;OAKG;IACH,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnC,UAAU,GAAY,IAAI,CAAC;IAEnC,gBAAgB;IAChB,KAAK;QACD,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,IAAI,YAAY,CAAC,KAAK,EAAE;gBACpB,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;IACL,CAAC;IACD,gBAAgB;IAChB,QAAQ;QACJ,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,gBAAgB;IAChB,SAAS;QACL,YAAY,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAEO,kBAAkB,GAAG,CAAC,IAAgC,EAAE,EAAE;QAC9D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;SAClF;IACL,CAAC,CAAA;IAGD,gBAAgB;IAChB,UAAU,CAAC,KAAoB,EAAE,IAAmD;QAChF,yDAAyD;QACzD,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACjD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEjD,IAAG,CAAC,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,YAAY,CAAC,aAAa,GAAG,CAAC,EAAE;oBAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBACvE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACpB,KAAK,EAAE,MAAM;4BACb,aAAa,EAAE,YAAY,CAAC,aAAa;yBAC5C,CAAC,CAAC;qBACN;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,gBAAgB;IAChB,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;oBAC5B,iGAAiG;oBACjG,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAiB,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,QAAQ;wBAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACrC,MAAM,KAAK,GAA8B;wBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;qBAC7B,CAAC;oBACF,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;iBAC1C;aACJ;SACJ;QACD,4CAA4C;QAC5C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YACtD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1B;IACL,CAAC;IAAA,CAAC;IAEF,gBAAgB;IAChB,SAAS,CAAC,KAAwB;QAE9B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,eAAe,EAAE,EAAE;YACtD,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE;oBAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAiB,CAAC;oBAClD,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,2DAA2D;wBAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAA0C,CAAC;wBACtF,IAAI,KAAK,EAAE;4BACP,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;4BAC5B,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;4BACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;4BAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;yBACjE;wBACD,OAAO,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;qBACzC;iBACJ;aACJ;SACJ;IACL,CAAC;IAEgB,gBAAgB,GAAG,IAAI,GAAG,EAAkG,CAAC;IAC7H,aAAa,GAAwB,EAAE,CAAC;IAGxC,uBAAuB,GAAG,oNAAoN,CAAC;IAEhQ,gBAAgB;IAChB,UAAU,CAAC,IAAuB;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,CAAC,yBAAyB,IAAI,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACjD,OAAO;SACV;QACD,2HAA2H;QAC3H,sMAAsM;aACjM,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK,EAAE;YAC5E,iDAAiD;YACjD,OAAO;SACV;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,uBAAuB,KAAK,UAAU,EAAE;YAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,IAAI,KAAK,EAAE;oBACP,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;wBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;wBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC/D,IAAI,YAAY,EAAE;4BACd,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;4BACrD,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BAC5G,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACtC;6BACI;4BACD,IAAI,KAAK,EAAE;gCACP,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAC;6BAC1D;yBACJ;qBACJ;oBACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IAAI;4BACA,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;4BACtF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBAClD;wBACD,OAAO,CAAC,EAAE;4BACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBACpB;qBACJ;iBACJ;aACJ;SACJ;QAED,iDAAiD;QACjD,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG;gBAAE,SAAS;YACpC,4EAA4E;YAC5E,IAAI,GAAG,CAAC,sBAAsB,KAAK,KAAK;gBAAE,SAAS;YACnD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,IAAI,YAAY,CAAC,KAAK,KAAK,GAAG,EAAE;oBAC5B,0JAA0J;oBAC1J,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;oBAClE,IAAG,KAAK;wBAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,IAAI,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtL,IAAI,GAAG,CAAC,gBAAgB,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,qBAAqB,IAAI,UAAU,EAAE;wBACjG,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;qBACT;iBACJ;aACJ;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAGO,qBAAqB,GAAG,CAAC,MAA2B,EAAE,EAAE;QAC5D,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,EAAE;YAAE,OAAO;QAGhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;YAC5C,mGAAmG;YACnG,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAE5B,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC3B,WAAW,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAE9C,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,KAAsB,EAAE,EAAE;oBAC1D,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,EAAE;wBACrC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;qBACzC;oBAED,IAAI,KAAK,EAAE;wBACP,WAAY,CAAC,MAAM,GAAG,KAAK,CAAC;wBAE5B,6DAA6D;wBAC7D,oFAAoF;wBACpF,4EAA4E;wBAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE;4BACxD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;yBACpC;wBAED,uCAAuC;wBACvC,IAAI,EAAE,CAAC,GAAG,EAAE;4BACR,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC3B,IAAI,CAAE,KAAqB,CAAC,UAAU;gCAClC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACtC,mCAAmC;yBACtC;6BACI;4BACD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;yBAClD;qBAEJ;gBACL,CAAC,CAAC,CAAC;aACN;iBACI;gBACD,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,SAAS;oBACT,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE9C,4FAA4F;gBAC5F,yCAAyC;gBACzC,IAAI,KAAK,CAAC,gBAAgB,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE;oBACjD,SAAS;gBAEb,IAAI,CAAC,WAAW,CAAC,MAAM;oBAAE,SAAS;gBAElC,IAAI,EAAE,CAAC,GAAG,EAAE;oBAER,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAE1C,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC3G,IAAI,CAAE,WAAW,CAAC,MAAsB,CAAC,UAAU,EAAE;wBACjD,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;qBAClD;oBACD,gDAAgD;iBACnD;aACJ;SACJ;IACL,CAAC,CAAA;CACJ;AA3RG;IADC,YAAY,CAAC,uBAAuB,CAAC;yDACiB;AAWvD;IADC,YAAY,EAAE;kDACQ;AAqR3B,MAAM,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;AAClE,MAAM,qBAAqB,GAAkC,IAAI,GAAG,EAAE,CAAC;AAEvE,KAAK,UAAU,SAAS,CAAC,GAAW;IAChC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,GAAG,CAAC,EAAE;QACvC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAqB,CAAC;QACvE,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAClD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -31,7 +31,7 @@ export declare type WebXRPlaneTrackingEvent = {
31
31
  context: XRPlaneContext;
32
32
  };
33
33
  /**
34
- * Use this component to track planes and meshes in the real world when in immersive-ar (e.g. on Oculus Quest).
34
+ * [WebXRPlaneTracking](https://engine.needle.tools/docs/api/WebXRPlaneTracking) tracks planes and meshes in the real world when in immersive-ar (e.g. on Oculus Quest).
35
35
  * @category XR
36
36
  * @group Components
37
37
  */
@@ -17,7 +17,7 @@ import { MeshCollider } from "../Collider.js";
17
17
  import { Behaviour, GameObject } from "../Component.js";
18
18
  const debug = getParam("debugplanetracking");
19
19
  /**
20
- * Use this component to track planes and meshes in the real world when in immersive-ar (e.g. on Oculus Quest).
20
+ * [WebXRPlaneTracking](https://engine.needle.tools/docs/api/WebXRPlaneTracking) tracks planes and meshes in the real world when in immersive-ar (e.g. on Oculus Quest).
21
21
  * @category XR
22
22
  * @group Components
23
23
  */
@@ -20,12 +20,39 @@ export declare class XRState {
20
20
  DisableAll(): void;
21
21
  }
22
22
  /**
23
- * Use the XRFlag component to show or hide objects based on the current XR state or session.
24
- * This means you can show or hide objects based on if the user is in VR, AR, using first person view or third person view.
23
+ * XRFlag shows or hides GameObjects based on the current XR state or session.
24
+ * Use for XR-responsive content that should only appear in specific modes.
25
+ *
26
+ * **XR states:**
27
+ * - `Browser` - Normal web browsing (no XR)
28
+ * - `AR` - Augmented reality session
29
+ * - `VR` - Virtual reality session
30
+ * - `FirstPerson` - First-person view mode
31
+ * - `ThirdPerson` - Third-person/spectator view mode
32
+ * - Combine with bitwise OR: `AR | VR`
33
+ *
34
+ * **Debug options:**
35
+ * - `?debugxrflags` - Log flag changes
36
+ * - `?disablexrflags` - Disable all XR flags
37
+ *
38
+ * @example Show only in VR
39
+ * ```ts
40
+ * const flag = myObject.addComponent(XRFlag);
41
+ * flag.visibleIn = XRStateFlag.VR;
42
+ * ```
43
+ *
44
+ * @example Show in AR and VR, hide in browser
45
+ * ```ts
46
+ * flag.visibleIn = XRStateFlag.AR | XRStateFlag.VR;
47
+ * ```
25
48
  *
26
49
  * @category XR
27
50
  * @category Utilities
28
51
  * @group Components
52
+ * @see {@link XRStateFlag} for state options
53
+ * @see {@link XRState} for global state management
54
+ * @see {@link DeviceFlag} for device-based visibility
55
+ * @see {@link WebXR} for XR session management
29
56
  */
30
57
  export declare class XRFlag extends Behaviour {
31
58
  private static registry;
@@ -57,12 +57,39 @@ export class XRState {
57
57
  }
58
58
  }
59
59
  /**
60
- * Use the XRFlag component to show or hide objects based on the current XR state or session.
61
- * This means you can show or hide objects based on if the user is in VR, AR, using first person view or third person view.
60
+ * XRFlag shows or hides GameObjects based on the current XR state or session.
61
+ * Use for XR-responsive content that should only appear in specific modes.
62
+ *
63
+ * **XR states:**
64
+ * - `Browser` - Normal web browsing (no XR)
65
+ * - `AR` - Augmented reality session
66
+ * - `VR` - Virtual reality session
67
+ * - `FirstPerson` - First-person view mode
68
+ * - `ThirdPerson` - Third-person/spectator view mode
69
+ * - Combine with bitwise OR: `AR | VR`
70
+ *
71
+ * **Debug options:**
72
+ * - `?debugxrflags` - Log flag changes
73
+ * - `?disablexrflags` - Disable all XR flags
74
+ *
75
+ * @example Show only in VR
76
+ * ```ts
77
+ * const flag = myObject.addComponent(XRFlag);
78
+ * flag.visibleIn = XRStateFlag.VR;
79
+ * ```
80
+ *
81
+ * @example Show in AR and VR, hide in browser
82
+ * ```ts
83
+ * flag.visibleIn = XRStateFlag.AR | XRStateFlag.VR;
84
+ * ```
62
85
  *
63
86
  * @category XR
64
87
  * @category Utilities
65
88
  * @group Components
89
+ * @see {@link XRStateFlag} for state options
90
+ * @see {@link XRState} for global state management
91
+ * @see {@link DeviceFlag} for device-based visibility
92
+ * @see {@link WebXR} for XR session management
66
93
  */
67
94
  export class XRFlag extends Behaviour {
68
95
  static registry = [];
@@ -1 +1 @@
1
- {"version":3,"file":"XRFlag.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/XRFlag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XRFlag.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/XRFlag.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.13.0",
3
+ "version": "4.13.1-beta",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {