@reactvision/react-viro 2.42.0 → 2.43.1

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 (475) hide show
  1. package/README.md +12 -6
  2. package/android/react_viro/react_viro-release.aar +0 -0
  3. package/components/AR/ViroARPlaneSelector.tsx +76 -37
  4. package/components/Utilities/ViroVersion.ts +1 -1
  5. package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
  6. package/dist/components/AR/ViroARPlaneSelector.js +46 -18
  7. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  8. package/dist/components/Utilities/ViroVersion.js +1 -1
  9. package/dist/dynamic-index.d.ts +11 -0
  10. package/dist/dynamic-index.js +28 -0
  11. package/dist/examples/AutoDetectionExample.d.ts +10 -0
  12. package/dist/examples/AutoDetectionExample.js +91 -0
  13. package/dist/fabric-interop/NativeViro.d.ts +42 -0
  14. package/dist/fabric-interop/NativeViro.js +262 -0
  15. package/dist/fabric-interop/ViroEventsManager.d.ts +83 -0
  16. package/dist/fabric-interop/ViroEventsManager.js +222 -0
  17. package/dist/fabric-interop/ViroFabricContainer.d.ts +34 -0
  18. package/dist/fabric-interop/ViroFabricContainer.js +200 -0
  19. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +35 -0
  20. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +20 -0
  21. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +22 -0
  22. package/dist/fabric-interop/components/AR/ViroARPlane.js +95 -0
  23. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +43 -0
  24. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +152 -0
  25. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +55 -0
  26. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +85 -0
  27. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +91 -0
  28. package/dist/fabric-interop/components/AR/ViroCommonProps.js +7 -0
  29. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +48 -0
  30. package/dist/fabric-interop/components/Animation/ViroAnimations.js +64 -0
  31. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +66 -0
  32. package/dist/fabric-interop/components/Material/ViroMaterials.js +85 -0
  33. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +202 -0
  34. package/dist/fabric-interop/components/Types/ViroEvents.js +53 -0
  35. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +137 -0
  36. package/dist/fabric-interop/components/Types/ViroUtils.js +7 -0
  37. package/dist/fabric-interop/components/Viro360Image.d.ts +23 -0
  38. package/dist/fabric-interop/components/Viro360Image.js +45 -0
  39. package/dist/fabric-interop/components/Viro360Video.d.ts +29 -0
  40. package/dist/fabric-interop/components/Viro360Video.js +47 -0
  41. package/dist/fabric-interop/components/Viro3DObject.d.ts +60 -0
  42. package/dist/fabric-interop/components/Viro3DObject.js +49 -0
  43. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +49 -0
  44. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +388 -0
  45. package/dist/fabric-interop/components/ViroARCamera.d.ts +29 -0
  46. package/dist/fabric-interop/components/ViroARCamera.js +64 -0
  47. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +21 -0
  48. package/dist/fabric-interop/components/ViroARImageMarker.js +71 -0
  49. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +21 -0
  50. package/dist/fabric-interop/components/ViroARObjectMarker.js +71 -0
  51. package/dist/fabric-interop/components/ViroARPlane.d.ts +24 -0
  52. package/dist/fabric-interop/components/ViroARPlane.js +88 -0
  53. package/dist/fabric-interop/components/ViroARScene.d.ts +29 -0
  54. package/dist/fabric-interop/components/ViroARScene.js +89 -0
  55. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +29 -0
  56. package/dist/fabric-interop/components/ViroARSceneNavigator.js +76 -0
  57. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +19 -0
  58. package/dist/fabric-interop/components/ViroAmbientLight.js +46 -0
  59. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +24 -0
  60. package/dist/fabric-interop/components/ViroAnimatedComponent.js +63 -0
  61. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +28 -0
  62. package/dist/fabric-interop/components/ViroAnimatedImage.js +49 -0
  63. package/dist/fabric-interop/components/ViroBox.d.ts +20 -0
  64. package/dist/fabric-interop/components/ViroBox.js +47 -0
  65. package/dist/fabric-interop/components/ViroButton.d.ts +32 -0
  66. package/dist/fabric-interop/components/ViroButton.js +92 -0
  67. package/dist/fabric-interop/components/ViroCamera.d.ts +17 -0
  68. package/dist/fabric-interop/components/ViroCamera.js +30 -0
  69. package/dist/fabric-interop/components/ViroController.d.ts +19 -0
  70. package/dist/fabric-interop/components/ViroController.js +64 -0
  71. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +28 -0
  72. package/dist/fabric-interop/components/ViroDirectionalLight.js +55 -0
  73. package/dist/fabric-interop/components/ViroFlexView.d.ts +36 -0
  74. package/dist/fabric-interop/components/ViroFlexView.js +97 -0
  75. package/dist/fabric-interop/components/ViroGeometry.d.ts +23 -0
  76. package/dist/fabric-interop/components/ViroGeometry.js +50 -0
  77. package/dist/fabric-interop/components/ViroGlobal.d.ts +45 -0
  78. package/dist/fabric-interop/components/ViroGlobal.js +20 -0
  79. package/dist/fabric-interop/components/ViroImage.d.ts +29 -0
  80. package/dist/fabric-interop/components/ViroImage.js +52 -0
  81. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +19 -0
  82. package/dist/fabric-interop/components/ViroLightingEnvironment.js +44 -0
  83. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +30 -0
  84. package/dist/fabric-interop/components/ViroMaterialVideo.js +48 -0
  85. package/dist/fabric-interop/components/ViroNode.d.ts +36 -0
  86. package/dist/fabric-interop/components/ViroNode.js +28 -0
  87. package/dist/fabric-interop/components/ViroOmniLight.d.ts +21 -0
  88. package/dist/fabric-interop/components/ViroOmniLight.js +48 -0
  89. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +17 -0
  90. package/dist/fabric-interop/components/ViroOrbitCamera.js +30 -0
  91. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +51 -0
  92. package/dist/fabric-interop/components/ViroParticleEmitter.js +50 -0
  93. package/dist/fabric-interop/components/ViroPolygon.d.ts +20 -0
  94. package/dist/fabric-interop/components/ViroPolygon.js +47 -0
  95. package/dist/fabric-interop/components/ViroPolyline.d.ts +19 -0
  96. package/dist/fabric-interop/components/ViroPolyline.js +46 -0
  97. package/dist/fabric-interop/components/ViroPortal.d.ts +16 -0
  98. package/dist/fabric-interop/components/ViroPortal.js +73 -0
  99. package/dist/fabric-interop/components/ViroPortalScene.d.ts +16 -0
  100. package/dist/fabric-interop/components/ViroPortalScene.js +29 -0
  101. package/dist/fabric-interop/components/ViroQuad.d.ts +39 -0
  102. package/dist/fabric-interop/components/ViroQuad.js +49 -0
  103. package/dist/fabric-interop/components/ViroScene.d.ts +29 -0
  104. package/dist/fabric-interop/components/ViroScene.js +103 -0
  105. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +23 -0
  106. package/dist/fabric-interop/components/ViroSceneNavigator.js +73 -0
  107. package/dist/fabric-interop/components/ViroSkyBox.d.ts +39 -0
  108. package/dist/fabric-interop/components/ViroSkyBox.js +44 -0
  109. package/dist/fabric-interop/components/ViroSound.d.ts +23 -0
  110. package/dist/fabric-interop/components/ViroSound.js +46 -0
  111. package/dist/fabric-interop/components/ViroSoundField.d.ts +24 -0
  112. package/dist/fabric-interop/components/ViroSoundField.js +47 -0
  113. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +27 -0
  114. package/dist/fabric-interop/components/ViroSpatialSound.js +50 -0
  115. package/dist/fabric-interop/components/ViroSphere.d.ts +22 -0
  116. package/dist/fabric-interop/components/ViroSphere.js +49 -0
  117. package/dist/fabric-interop/components/ViroSpinner.d.ts +18 -0
  118. package/dist/fabric-interop/components/ViroSpinner.js +45 -0
  119. package/dist/fabric-interop/components/ViroSpotLight.d.ts +30 -0
  120. package/dist/fabric-interop/components/ViroSpotLight.js +57 -0
  121. package/dist/fabric-interop/components/ViroSurface.d.ts +38 -0
  122. package/dist/fabric-interop/components/ViroSurface.js +48 -0
  123. package/dist/fabric-interop/components/ViroText.d.ts +36 -0
  124. package/dist/fabric-interop/components/ViroText.js +59 -0
  125. package/dist/fabric-interop/components/ViroUtils.d.ts +63 -0
  126. package/dist/fabric-interop/components/ViroUtils.js +140 -0
  127. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +25 -0
  128. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +73 -0
  129. package/dist/fabric-interop/components/ViroVideo.d.ts +32 -0
  130. package/dist/fabric-interop/components/ViroVideo.js +52 -0
  131. package/dist/fabric-interop/components/index.d.ts +62 -0
  132. package/dist/fabric-interop/components/index.js +144 -0
  133. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +11 -0
  134. package/dist/fabric-interop/examples/BasicSceneExample.js +244 -0
  135. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +13 -0
  136. package/dist/fabric-interop/examples/ComprehensiveExample.js +327 -0
  137. package/dist/fabric-interop/examples/SimpleARExample.d.ts +8 -0
  138. package/dist/fabric-interop/examples/SimpleARExample.js +62 -0
  139. package/dist/fabric-interop/index.d.ts +14 -0
  140. package/dist/fabric-interop/index.js +117 -0
  141. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +19 -0
  142. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +11 -0
  143. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +9 -0
  144. package/dist/fabric-interop/test/BasicFunctionalityTest.js +222 -0
  145. package/dist/fabric.d.ts +13 -0
  146. package/dist/fabric.js +29 -0
  147. package/dist/plugins/withViro.d.ts +3 -0
  148. package/dist/plugins/withViro.js +19 -0
  149. package/dist/plugins/withViroAndroid.js +24 -20
  150. package/dist/plugins/withViroIos.js +20 -2
  151. package/dynamic-index-source.d.ts +77 -0
  152. package/dynamic-index.ts +41 -0
  153. package/fabric-interop/NativeViro.ts +335 -0
  154. package/fabric-interop/README.md +282 -0
  155. package/fabric-interop/ViroEventsManager.js +257 -0
  156. package/fabric-interop/ViroFabricContainer.tsx +273 -0
  157. package/fabric-interop/components/AR/ViroARPlane.tsx +108 -0
  158. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +185 -0
  159. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +108 -0
  160. package/fabric-interop/components/AR/ViroCommonProps.ts +140 -0
  161. package/fabric-interop/components/Animation/ViroAnimations.ts +96 -0
  162. package/fabric-interop/components/Material/ViroMaterials.ts +127 -0
  163. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  164. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  165. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  166. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  167. package/fabric-interop/components/Types/ViroEvents.ts +285 -0
  168. package/fabric-interop/components/Types/ViroUtils.ts +160 -0
  169. package/fabric-interop/components/Viro360Image.tsx +70 -0
  170. package/fabric-interop/components/Viro360Video.tsx +78 -0
  171. package/fabric-interop/components/Viro3DObject.tsx +122 -0
  172. package/fabric-interop/components/Viro3DSceneNavigator.tsx +503 -0
  173. package/fabric-interop/components/ViroARCamera.tsx +105 -0
  174. package/fabric-interop/components/ViroARImageMarker.tsx +98 -0
  175. package/fabric-interop/components/ViroARObjectMarker.tsx +100 -0
  176. package/fabric-interop/components/ViroARPlane.tsx +120 -0
  177. package/fabric-interop/components/ViroARScene.tsx +127 -0
  178. package/fabric-interop/components/ViroARSceneNavigator.tsx +82 -0
  179. package/fabric-interop/components/ViroAmbientLight.tsx +62 -0
  180. package/fabric-interop/components/ViroAnimatedComponent.tsx +91 -0
  181. package/fabric-interop/components/ViroAnimatedImage.tsx +81 -0
  182. package/fabric-interop/components/ViroBox.tsx +72 -0
  183. package/fabric-interop/components/ViroButton.tsx +125 -0
  184. package/fabric-interop/components/ViroCamera.tsx +45 -0
  185. package/fabric-interop/components/ViroController.tsx +87 -0
  186. package/fabric-interop/components/ViroDirectionalLight.tsx +84 -0
  187. package/fabric-interop/components/ViroFlexView.tsx +146 -0
  188. package/fabric-interop/components/ViroGeometry.tsx +78 -0
  189. package/fabric-interop/components/ViroGlobal.ts +114 -0
  190. package/fabric-interop/components/ViroImage.tsx +85 -0
  191. package/fabric-interop/components/ViroLightingEnvironment.tsx +63 -0
  192. package/fabric-interop/components/ViroMaterialVideo.tsx +82 -0
  193. package/fabric-interop/components/ViroNode.tsx +62 -0
  194. package/fabric-interop/components/ViroOmniLight.tsx +66 -0
  195. package/fabric-interop/components/ViroOrbitCamera.tsx +45 -0
  196. package/fabric-interop/components/ViroParticleEmitter.tsx +111 -0
  197. package/fabric-interop/components/ViroPolygon.tsx +72 -0
  198. package/fabric-interop/components/ViroPolyline.tsx +71 -0
  199. package/fabric-interop/components/ViroPortal.tsx +91 -0
  200. package/fabric-interop/components/ViroPortalScene.tsx +43 -0
  201. package/fabric-interop/components/ViroQuad.tsx +82 -0
  202. package/fabric-interop/components/ViroScene.tsx +117 -0
  203. package/fabric-interop/components/ViroSceneNavigator.tsx +71 -0
  204. package/fabric-interop/components/ViroSkyBox.tsx +75 -0
  205. package/fabric-interop/components/ViroSound.tsx +71 -0
  206. package/fabric-interop/components/ViroSoundField.tsx +75 -0
  207. package/fabric-interop/components/ViroSpatialSound.tsx +81 -0
  208. package/fabric-interop/components/ViroSphere.tsx +75 -0
  209. package/fabric-interop/components/ViroSpinner.tsx +63 -0
  210. package/fabric-interop/components/ViroSpotLight.tsx +86 -0
  211. package/fabric-interop/components/ViroSurface.tsx +80 -0
  212. package/fabric-interop/components/ViroText.tsx +114 -0
  213. package/fabric-interop/components/ViroUtils.ts +208 -0
  214. package/fabric-interop/components/ViroVRSceneNavigator.tsx +75 -0
  215. package/fabric-interop/components/ViroVideo.tsx +91 -0
  216. package/fabric-interop/components/index.ts +94 -0
  217. package/fabric-interop/dist/NativeViro.d.ts +43 -0
  218. package/fabric-interop/dist/NativeViro.d.ts.map +1 -0
  219. package/fabric-interop/dist/NativeViro.js +263 -0
  220. package/fabric-interop/dist/NativeViro.js.map +1 -0
  221. package/fabric-interop/dist/ViroFabricContainer.d.ts +35 -0
  222. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +1 -0
  223. package/fabric-interop/dist/ViroFabricContainer.js +201 -0
  224. package/fabric-interop/dist/ViroFabricContainer.js.map +1 -0
  225. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +23 -0
  226. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +1 -0
  227. package/fabric-interop/dist/components/AR/ViroARPlane.js +96 -0
  228. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +1 -0
  229. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +44 -0
  230. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +1 -0
  231. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +156 -0
  232. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +1 -0
  233. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +56 -0
  234. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +1 -0
  235. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +86 -0
  236. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +1 -0
  237. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +92 -0
  238. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +1 -0
  239. package/fabric-interop/dist/components/AR/ViroCommonProps.js +8 -0
  240. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +1 -0
  241. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +49 -0
  242. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +1 -0
  243. package/fabric-interop/dist/components/Animation/ViroAnimations.js +65 -0
  244. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +1 -0
  245. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +67 -0
  246. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +1 -0
  247. package/fabric-interop/dist/components/Material/ViroMaterials.js +86 -0
  248. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +1 -0
  249. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +203 -0
  250. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +1 -0
  251. package/fabric-interop/dist/components/Types/ViroEvents.js +54 -0
  252. package/fabric-interop/dist/components/Types/ViroEvents.js.map +1 -0
  253. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +138 -0
  254. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +1 -0
  255. package/fabric-interop/dist/components/Types/ViroUtils.js +8 -0
  256. package/fabric-interop/dist/components/Types/ViroUtils.js.map +1 -0
  257. package/fabric-interop/dist/components/Viro360Image.d.ts +24 -0
  258. package/fabric-interop/dist/components/Viro360Image.d.ts.map +1 -0
  259. package/fabric-interop/dist/components/Viro360Image.js +47 -0
  260. package/fabric-interop/dist/components/Viro360Image.js.map +1 -0
  261. package/fabric-interop/dist/components/Viro360Video.d.ts +30 -0
  262. package/fabric-interop/dist/components/Viro360Video.d.ts.map +1 -0
  263. package/fabric-interop/dist/components/Viro360Video.js +49 -0
  264. package/fabric-interop/dist/components/Viro360Video.js.map +1 -0
  265. package/fabric-interop/dist/components/Viro3DObject.d.ts +61 -0
  266. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +1 -0
  267. package/fabric-interop/dist/components/Viro3DObject.js +51 -0
  268. package/fabric-interop/dist/components/Viro3DObject.js.map +1 -0
  269. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +50 -0
  270. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +1 -0
  271. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +389 -0
  272. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +1 -0
  273. package/fabric-interop/dist/components/ViroARCamera.d.ts +30 -0
  274. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +1 -0
  275. package/fabric-interop/dist/components/ViroARCamera.js +65 -0
  276. package/fabric-interop/dist/components/ViroARCamera.js.map +1 -0
  277. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +22 -0
  278. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +1 -0
  279. package/fabric-interop/dist/components/ViroARImageMarker.js +72 -0
  280. package/fabric-interop/dist/components/ViroARImageMarker.js.map +1 -0
  281. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +22 -0
  282. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +1 -0
  283. package/fabric-interop/dist/components/ViroARObjectMarker.js +72 -0
  284. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +1 -0
  285. package/fabric-interop/dist/components/ViroARPlane.d.ts +25 -0
  286. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +1 -0
  287. package/fabric-interop/dist/components/ViroARPlane.js +89 -0
  288. package/fabric-interop/dist/components/ViroARPlane.js.map +1 -0
  289. package/fabric-interop/dist/components/ViroARScene.d.ts +30 -0
  290. package/fabric-interop/dist/components/ViroARScene.d.ts.map +1 -0
  291. package/fabric-interop/dist/components/ViroARScene.js +90 -0
  292. package/fabric-interop/dist/components/ViroARScene.js.map +1 -0
  293. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +30 -0
  294. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +1 -0
  295. package/fabric-interop/dist/components/ViroARSceneNavigator.js +78 -0
  296. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +1 -0
  297. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +20 -0
  298. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +1 -0
  299. package/fabric-interop/dist/components/ViroAmbientLight.js +48 -0
  300. package/fabric-interop/dist/components/ViroAmbientLight.js.map +1 -0
  301. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +25 -0
  302. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +1 -0
  303. package/fabric-interop/dist/components/ViroAnimatedComponent.js +65 -0
  304. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +1 -0
  305. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +29 -0
  306. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +1 -0
  307. package/fabric-interop/dist/components/ViroAnimatedImage.js +51 -0
  308. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +1 -0
  309. package/fabric-interop/dist/components/ViroBox.d.ts +21 -0
  310. package/fabric-interop/dist/components/ViroBox.d.ts.map +1 -0
  311. package/fabric-interop/dist/components/ViroBox.js +49 -0
  312. package/fabric-interop/dist/components/ViroBox.js.map +1 -0
  313. package/fabric-interop/dist/components/ViroButton.d.ts +33 -0
  314. package/fabric-interop/dist/components/ViroButton.d.ts.map +1 -0
  315. package/fabric-interop/dist/components/ViroButton.js +94 -0
  316. package/fabric-interop/dist/components/ViroButton.js.map +1 -0
  317. package/fabric-interop/dist/components/ViroCamera.d.ts +18 -0
  318. package/fabric-interop/dist/components/ViroCamera.d.ts.map +1 -0
  319. package/fabric-interop/dist/components/ViroCamera.js +31 -0
  320. package/fabric-interop/dist/components/ViroCamera.js.map +1 -0
  321. package/fabric-interop/dist/components/ViroController.d.ts +20 -0
  322. package/fabric-interop/dist/components/ViroController.d.ts.map +1 -0
  323. package/fabric-interop/dist/components/ViroController.js +65 -0
  324. package/fabric-interop/dist/components/ViroController.js.map +1 -0
  325. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +29 -0
  326. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +1 -0
  327. package/fabric-interop/dist/components/ViroDirectionalLight.js +57 -0
  328. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +1 -0
  329. package/fabric-interop/dist/components/ViroFlexView.d.ts +37 -0
  330. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +1 -0
  331. package/fabric-interop/dist/components/ViroFlexView.js +98 -0
  332. package/fabric-interop/dist/components/ViroFlexView.js.map +1 -0
  333. package/fabric-interop/dist/components/ViroGeometry.d.ts +24 -0
  334. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +1 -0
  335. package/fabric-interop/dist/components/ViroGeometry.js +52 -0
  336. package/fabric-interop/dist/components/ViroGeometry.js.map +1 -0
  337. package/fabric-interop/dist/components/ViroGlobal.d.ts +46 -0
  338. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +1 -0
  339. package/fabric-interop/dist/components/ViroGlobal.js +21 -0
  340. package/fabric-interop/dist/components/ViroGlobal.js.map +1 -0
  341. package/fabric-interop/dist/components/ViroImage.d.ts +30 -0
  342. package/fabric-interop/dist/components/ViroImage.d.ts.map +1 -0
  343. package/fabric-interop/dist/components/ViroImage.js +54 -0
  344. package/fabric-interop/dist/components/ViroImage.js.map +1 -0
  345. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +20 -0
  346. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +1 -0
  347. package/fabric-interop/dist/components/ViroLightingEnvironment.js +46 -0
  348. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +1 -0
  349. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +31 -0
  350. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +1 -0
  351. package/fabric-interop/dist/components/ViroMaterialVideo.js +50 -0
  352. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +1 -0
  353. package/fabric-interop/dist/components/ViroNode.d.ts +37 -0
  354. package/fabric-interop/dist/components/ViroNode.d.ts.map +1 -0
  355. package/fabric-interop/dist/components/ViroNode.js +29 -0
  356. package/fabric-interop/dist/components/ViroNode.js.map +1 -0
  357. package/fabric-interop/dist/components/ViroOmniLight.d.ts +22 -0
  358. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +1 -0
  359. package/fabric-interop/dist/components/ViroOmniLight.js +50 -0
  360. package/fabric-interop/dist/components/ViroOmniLight.js.map +1 -0
  361. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +18 -0
  362. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +1 -0
  363. package/fabric-interop/dist/components/ViroOrbitCamera.js +31 -0
  364. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +1 -0
  365. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +52 -0
  366. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +1 -0
  367. package/fabric-interop/dist/components/ViroParticleEmitter.js +52 -0
  368. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +1 -0
  369. package/fabric-interop/dist/components/ViroPolygon.d.ts +21 -0
  370. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +1 -0
  371. package/fabric-interop/dist/components/ViroPolygon.js +49 -0
  372. package/fabric-interop/dist/components/ViroPolygon.js.map +1 -0
  373. package/fabric-interop/dist/components/ViroPolyline.d.ts +20 -0
  374. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +1 -0
  375. package/fabric-interop/dist/components/ViroPolyline.js +48 -0
  376. package/fabric-interop/dist/components/ViroPolyline.js.map +1 -0
  377. package/fabric-interop/dist/components/ViroPortal.d.ts +17 -0
  378. package/fabric-interop/dist/components/ViroPortal.d.ts.map +1 -0
  379. package/fabric-interop/dist/components/ViroPortal.js +74 -0
  380. package/fabric-interop/dist/components/ViroPortal.js.map +1 -0
  381. package/fabric-interop/dist/components/ViroPortalScene.d.ts +17 -0
  382. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +1 -0
  383. package/fabric-interop/dist/components/ViroPortalScene.js +30 -0
  384. package/fabric-interop/dist/components/ViroPortalScene.js.map +1 -0
  385. package/fabric-interop/dist/components/ViroQuad.d.ts +40 -0
  386. package/fabric-interop/dist/components/ViroQuad.d.ts.map +1 -0
  387. package/fabric-interop/dist/components/ViroQuad.js +51 -0
  388. package/fabric-interop/dist/components/ViroQuad.js.map +1 -0
  389. package/fabric-interop/dist/components/ViroScene.d.ts +30 -0
  390. package/fabric-interop/dist/components/ViroScene.d.ts.map +1 -0
  391. package/fabric-interop/dist/components/ViroScene.js +105 -0
  392. package/fabric-interop/dist/components/ViroScene.js.map +1 -0
  393. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +24 -0
  394. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +1 -0
  395. package/fabric-interop/dist/components/ViroSceneNavigator.js +74 -0
  396. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +1 -0
  397. package/fabric-interop/dist/components/ViroSkyBox.d.ts +40 -0
  398. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +1 -0
  399. package/fabric-interop/dist/components/ViroSkyBox.js +46 -0
  400. package/fabric-interop/dist/components/ViroSkyBox.js.map +1 -0
  401. package/fabric-interop/dist/components/ViroSound.d.ts +24 -0
  402. package/fabric-interop/dist/components/ViroSound.d.ts.map +1 -0
  403. package/fabric-interop/dist/components/ViroSound.js +48 -0
  404. package/fabric-interop/dist/components/ViroSound.js.map +1 -0
  405. package/fabric-interop/dist/components/ViroSoundField.d.ts +25 -0
  406. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +1 -0
  407. package/fabric-interop/dist/components/ViroSoundField.js +49 -0
  408. package/fabric-interop/dist/components/ViroSoundField.js.map +1 -0
  409. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +28 -0
  410. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +1 -0
  411. package/fabric-interop/dist/components/ViroSpatialSound.js +52 -0
  412. package/fabric-interop/dist/components/ViroSpatialSound.js.map +1 -0
  413. package/fabric-interop/dist/components/ViroSphere.d.ts +23 -0
  414. package/fabric-interop/dist/components/ViroSphere.d.ts.map +1 -0
  415. package/fabric-interop/dist/components/ViroSphere.js +51 -0
  416. package/fabric-interop/dist/components/ViroSphere.js.map +1 -0
  417. package/fabric-interop/dist/components/ViroSpinner.d.ts +19 -0
  418. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +1 -0
  419. package/fabric-interop/dist/components/ViroSpinner.js +47 -0
  420. package/fabric-interop/dist/components/ViroSpinner.js.map +1 -0
  421. package/fabric-interop/dist/components/ViroSpotLight.d.ts +31 -0
  422. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +1 -0
  423. package/fabric-interop/dist/components/ViroSpotLight.js +59 -0
  424. package/fabric-interop/dist/components/ViroSpotLight.js.map +1 -0
  425. package/fabric-interop/dist/components/ViroSurface.d.ts +39 -0
  426. package/fabric-interop/dist/components/ViroSurface.d.ts.map +1 -0
  427. package/fabric-interop/dist/components/ViroSurface.js +50 -0
  428. package/fabric-interop/dist/components/ViroSurface.js.map +1 -0
  429. package/fabric-interop/dist/components/ViroText.d.ts +37 -0
  430. package/fabric-interop/dist/components/ViroText.d.ts.map +1 -0
  431. package/fabric-interop/dist/components/ViroText.js +61 -0
  432. package/fabric-interop/dist/components/ViroText.js.map +1 -0
  433. package/fabric-interop/dist/components/ViroUtils.d.ts +64 -0
  434. package/fabric-interop/dist/components/ViroUtils.d.ts.map +1 -0
  435. package/fabric-interop/dist/components/ViroUtils.js +141 -0
  436. package/fabric-interop/dist/components/ViroUtils.js.map +1 -0
  437. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +26 -0
  438. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +1 -0
  439. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +74 -0
  440. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +1 -0
  441. package/fabric-interop/dist/components/ViroVideo.d.ts +33 -0
  442. package/fabric-interop/dist/components/ViroVideo.d.ts.map +1 -0
  443. package/fabric-interop/dist/components/ViroVideo.js +54 -0
  444. package/fabric-interop/dist/components/ViroVideo.js.map +1 -0
  445. package/fabric-interop/dist/components/index.d.ts +63 -0
  446. package/fabric-interop/dist/components/index.d.ts.map +1 -0
  447. package/fabric-interop/dist/components/index.js +145 -0
  448. package/fabric-interop/dist/components/index.js.map +1 -0
  449. package/fabric-interop/dist/index.d.ts +15 -0
  450. package/fabric-interop/dist/index.d.ts.map +1 -0
  451. package/fabric-interop/dist/index.js +118 -0
  452. package/fabric-interop/dist/index.js.map +1 -0
  453. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +20 -0
  454. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +1 -0
  455. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +12 -0
  456. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +1 -0
  457. package/fabric-interop/examples/BasicSceneExample.tsx +287 -0
  458. package/fabric-interop/examples/ComprehensiveExample.tsx +441 -0
  459. package/fabric-interop/examples/SimpleARExample.tsx +95 -0
  460. package/fabric-interop/global.d.ts +14 -0
  461. package/fabric-interop/index.ts +107 -0
  462. package/fabric-interop/metro.config.js +12 -0
  463. package/fabric-interop/package.json +40 -0
  464. package/fabric-interop/react-native.config.js +22 -0
  465. package/fabric-interop/scripts/validate-build.js +393 -0
  466. package/fabric-interop/scripts/validate-implementation.js +272 -0
  467. package/fabric-interop/specs/README.md +22 -0
  468. package/fabric-interop/specs/ViroEventsTurboModule.ts +27 -0
  469. package/fabric-interop/test/BasicFunctionalityTest.tsx +243 -0
  470. package/fabric-interop/tsconfig.json +38 -0
  471. package/fabric.d.ts +5 -0
  472. package/fabric.ts +14 -0
  473. package/ios/ViroReact.podspec +51 -11
  474. package/package.json +33 -20
  475. package/scripts/copy-types.js +46 -0
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * ViroFabricContainer
4
+ *
5
+ * This is the main container component that Fabric manages directly.
6
+ * It serves as a viewport for the Viro rendering engine and delegates
7
+ * rendering to the existing native implementation.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.ViroFabricContainer = void 0;
44
+ const react_1 = __importStar(require("react"));
45
+ const react_native_1 = require("react-native");
46
+ // Check if New Architecture is enabled
47
+ const isNewArchitectureEnabled = () => {
48
+ if (global.__turboModuleProxy == null) {
49
+ throw new Error("Viro: New Architecture is not enabled. This library requires React Native New Architecture. " +
50
+ "Please enable it in your app by following the instructions at: " +
51
+ "https://reactnative.dev/docs/new-architecture-intro");
52
+ }
53
+ // We're assuming the minimum supported version (0.76.9+) since this is a Fabric-only component
54
+ return true;
55
+ };
56
+ // Check if the component exists in UIManager
57
+ const isFabricComponentAvailable = () => {
58
+ isNewArchitectureEnabled(); // This will throw if New Architecture is not enabled
59
+ if (!react_native_1.UIManager.getViewManagerConfig ||
60
+ react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView") == null) {
61
+ throw new Error("ViroFabricContainerView is not available. Make sure you have installed the native module properly.");
62
+ }
63
+ return true;
64
+ };
65
+ // Define the native component
66
+ // @ts-ignore - TypeScript doesn't know about the props of the native component
67
+ const NativeViroFabricContainer = (0, react_native_1.requireNativeComponent)("ViroFabricContainerView");
68
+ /**
69
+ * ViroFabricContainer is the main component that hosts the Viro rendering engine.
70
+ * It creates a native view that the Viro renderer can draw on and manages the
71
+ * lifecycle of the Viro system.
72
+ */
73
+ const ViroFabricContainer = ({ debug = false, arEnabled = false, worldAlignment = "Gravity", onInitialized, onTrackingUpdated, onCameraTransformUpdate, onSceneStateChanged, onMemoryWarning, children, }) => {
74
+ // Reference to the native component
75
+ const containerRef = (0, react_1.useRef)(null);
76
+ // Root node ID for the scene
77
+ const rootNodeId = (0, react_1.useRef)("viro_root_scene");
78
+ // Event callback registry
79
+ const eventCallbacks = (0, react_1.useRef)({});
80
+ // Set up event handling for JSI and fallback event emitter approach
81
+ (0, react_1.useEffect)(() => {
82
+ // Set up global event handler for JSI events
83
+ if (typeof global !== "undefined") {
84
+ // @ts-ignore - This property will be added by the native code
85
+ global.handleViroEvent = (callbackId, eventData) => {
86
+ // Find the callback in the registry and call it
87
+ const callback = eventCallbacks.current[callbackId];
88
+ if (callback) {
89
+ callback(eventData);
90
+ }
91
+ else {
92
+ console.warn(`No callback found for ID: ${callbackId}`);
93
+ }
94
+ };
95
+ }
96
+ // Set up event emitter for fallback approach
97
+ const eventEmitter = new react_native_1.NativeEventEmitter(react_native_1.NativeModules.ViroFabricManager);
98
+ // Add the ViroEvent listener
99
+ const subscription = eventEmitter.addListener("ViroEvent", (event) => {
100
+ const { callbackId, data } = event;
101
+ const callback = eventCallbacks.current[callbackId];
102
+ if (callback) {
103
+ callback(data);
104
+ }
105
+ else {
106
+ console.warn(`No callback found for ID: ${callbackId} (via event emitter)`);
107
+ }
108
+ });
109
+ return () => {
110
+ // Clean up event subscription
111
+ subscription.remove();
112
+ // Clean up global event handler
113
+ if (typeof global !== "undefined") {
114
+ // @ts-ignore - This property was added by us
115
+ delete global.handleViroEvent;
116
+ }
117
+ };
118
+ }, []);
119
+ // Initialize the Viro system when the component mounts
120
+ (0, react_1.useEffect)(() => {
121
+ if (containerRef.current && isFabricComponentAvailable()) {
122
+ const nodeHandle = (0, react_native_1.findNodeHandle)(containerRef.current);
123
+ if (!nodeHandle) {
124
+ console.error("Failed to get node handle for ViroFabricContainer");
125
+ return;
126
+ }
127
+ try {
128
+ // Use the codegenNativeCommands approach for New Architecture
129
+ const ViroFabricContainerCommands = react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView").Commands;
130
+ if (!ViroFabricContainerCommands) {
131
+ console.error("ViroFabricContainerView commands not found in UIManager");
132
+ return;
133
+ }
134
+ // Call the native method to initialize
135
+ react_native_1.UIManager.dispatchViewManagerCommand(nodeHandle, ViroFabricContainerCommands.initialize, [debug || false, arEnabled || false, worldAlignment || "Gravity"]);
136
+ }
137
+ catch (error) {
138
+ console.error("Failed to initialize ViroFabricContainer:", error);
139
+ }
140
+ }
141
+ // Cleanup when unmounting
142
+ return () => {
143
+ if (containerRef.current) {
144
+ const nodeHandle = (0, react_native_1.findNodeHandle)(containerRef.current);
145
+ if (!nodeHandle)
146
+ return;
147
+ try {
148
+ // Use the same approach as initialize for cleanup
149
+ const ViroFabricContainerCommands = react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView").Commands;
150
+ if (!ViroFabricContainerCommands ||
151
+ !ViroFabricContainerCommands.cleanup) {
152
+ console.error("ViroFabricContainerView cleanup command not found in UIManager");
153
+ return;
154
+ }
155
+ // Call the native method to cleanup
156
+ react_native_1.UIManager.dispatchViewManagerCommand(nodeHandle, ViroFabricContainerCommands.cleanup, []);
157
+ }
158
+ catch (error) {
159
+ console.error("Failed to cleanup ViroFabricContainer:", error);
160
+ }
161
+ }
162
+ };
163
+ }, [debug, arEnabled, worldAlignment]);
164
+ // Handle initialization event
165
+ const handleInitialized = (event) => {
166
+ if (onInitialized) {
167
+ onInitialized(event.nativeEvent.success);
168
+ }
169
+ };
170
+ // Handle tracking updated event
171
+ const handleTrackingUpdated = (event) => {
172
+ if (onTrackingUpdated) {
173
+ onTrackingUpdated(event.nativeEvent);
174
+ }
175
+ };
176
+ // Handle camera transform update event
177
+ const handleCameraTransformUpdate = (event) => {
178
+ if (onCameraTransformUpdate) {
179
+ onCameraTransformUpdate(event.nativeEvent);
180
+ }
181
+ };
182
+ // Handle scene state changed event
183
+ const handleSceneStateChanged = (event) => {
184
+ if (onSceneStateChanged) {
185
+ onSceneStateChanged(event.nativeEvent);
186
+ }
187
+ };
188
+ // Handle memory warning event
189
+ const handleMemoryWarning = (event) => {
190
+ if (onMemoryWarning) {
191
+ onMemoryWarning(event.nativeEvent);
192
+ }
193
+ };
194
+ // This will throw an error if the native component is not available or New Architecture is not enabled
195
+ isFabricComponentAvailable();
196
+ return (<NativeViroFabricContainer ref={containerRef} style={{ flex: 1 }} onInitialized={handleInitialized} onTrackingUpdated={handleTrackingUpdated} onCameraTransformUpdate={handleCameraTransformUpdate} onSceneStateChanged={handleSceneStateChanged} onMemoryWarning={handleMemoryWarning}>
197
+ {children}
198
+ </NativeViroFabricContainer>);
199
+ };
200
+ exports.ViroFabricContainer = ViroFabricContainer;
201
+ //# sourceMappingURL=ViroFabricContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroFabricContainer.js","sourceRoot":"","sources":["../ViroFabricContainer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ViroARPlane
3
+ *
4
+ * Container for Viro Components anchored to a detected plane.
5
+ */
6
+ import * as React from "react";
7
+ import { ViroCommonProps, ViroObjectProps } from "./ViroCommonProps";
8
+ import { ViroAnchorFoundMap, ViroAnchorUpdatedMap } from "../Types/ViroEvents";
9
+ type Props = ViroCommonProps & ViroObjectProps & {
10
+ anchorId?: string;
11
+ minHeight?: number;
12
+ minWidth?: number;
13
+ alignment?: "Horizontal" | "HorizontalUpward" | "HorizontalDownward" | "Vertical";
14
+ onAnchorFound?: (anchorMap: ViroAnchorFoundMap) => void;
15
+ onAnchorUpdated?: (anchorMap: ViroAnchorUpdatedMap) => void;
16
+ onAnchorRemoved?: () => void;
17
+ };
18
+ /**
19
+ * Container for Viro Components anchored to a detected plane.
20
+ */
21
+ export declare function ViroARPlane(props: Props): React.ReactElement;
22
+ export {};
23
+ //# sourceMappingURL=ViroARPlane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroARPlane.d.ts","sourceRoot":"","sources":["../../../components/AR/ViroARPlane.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,KAAK,KAAK,GAAG,eAAe,GAC1B,eAAe,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EACN,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,GACpB,UAAU,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEJ;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAwE5D"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * ViroARPlane
4
+ *
5
+ * Container for Viro Components anchored to a detected plane.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.ViroARPlane = ViroARPlane;
42
+ const React = __importStar(require("react"));
43
+ const react_1 = require("react");
44
+ const ViroNode_1 = require("../ViroNode");
45
+ const ViroUtils_1 = require("../ViroUtils");
46
+ const NativeViro_1 = require("../../NativeViro");
47
+ /**
48
+ * Container for Viro Components anchored to a detected plane.
49
+ */
50
+ function ViroARPlane(props) {
51
+ const { anchorId, minHeight, minWidth, alignment, onAnchorFound, onAnchorUpdated, onAnchorRemoved, children, ...rest } = props;
52
+ // Create the node
53
+ const nodeProps = {
54
+ ...rest,
55
+ anchorId,
56
+ minHeight,
57
+ minWidth,
58
+ alignment,
59
+ };
60
+ const nodeId = (0, ViroUtils_1.useViroNode)("arPlane", nodeProps);
61
+ // Set up event listeners
62
+ (0, react_1.useEffect)(() => {
63
+ const anchorFoundCallbackId = onAnchorFound
64
+ ? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorFound", (event) => {
65
+ onAnchorFound(event.anchorFoundMap);
66
+ })
67
+ : null;
68
+ const anchorUpdatedCallbackId = onAnchorUpdated
69
+ ? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorUpdated", (event) => {
70
+ onAnchorUpdated(event.anchorUpdatedMap);
71
+ })
72
+ : null;
73
+ const anchorRemovedCallbackId = onAnchorRemoved
74
+ ? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorRemoved", () => {
75
+ onAnchorRemoved();
76
+ })
77
+ : null;
78
+ // Clean up event listeners
79
+ return () => {
80
+ if (anchorFoundCallbackId) {
81
+ (0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorFound", anchorFoundCallbackId);
82
+ }
83
+ if (anchorUpdatedCallbackId) {
84
+ (0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorUpdated", anchorUpdatedCallbackId);
85
+ }
86
+ if (anchorRemovedCallbackId) {
87
+ (0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorRemoved", anchorRemovedCallbackId);
88
+ }
89
+ };
90
+ }, [nodeId, onAnchorFound, onAnchorUpdated, onAnchorRemoved]);
91
+ // Render children within this node
92
+ return (<ViroNode_1.ViroNode viroTag={nodeId} position={[0, 0, 0]}>
93
+ {children}
94
+ </ViroNode_1.ViroNode>);
95
+ }
96
+ //# sourceMappingURL=ViroARPlane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroARPlane.js","sourceRoot":"","sources":["../../../components/AR/ViroARPlane.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BH,kCAwEC;AArGD,6CAA+B;AAC/B,iCAA4C;AAC5C,0CAAuC;AACvC,4CAA2C;AAC3C,iDAG0B;AAmB1B;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAY;IACtC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,kBAAkB;IAClB,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI;QACP,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,uBAAW,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjD,yBAAyB;IACzB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,qBAAqB,GAAG,aAAa;YACzC,CAAC,CAAC,IAAA,kCAAqB,EAAC,MAAM,EAAE,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvD,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,uBAAuB,GAAG,eAAe;YAC7C,CAAC,CAAC,IAAA,kCAAqB,EAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzD,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC1C,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,uBAAuB,GAAG,eAAe;YAC7C,CAAC,CAAC,IAAA,kCAAqB,EAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE;gBACpD,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,2BAA2B;QAC3B,OAAO,GAAG,EAAE;YACV,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,IAAA,oCAAuB,EAAC,MAAM,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,IAAA,oCAAuB,EACrB,MAAM,EACN,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;YACJ,CAAC;YACD,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,IAAA,oCAAuB,EACrB,MAAM,EACN,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAE9D,mCAAmC;IACnC,OAAO,CACL,CAAC,mBAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7C;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,mBAAQ,CAAC,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ViroARPlaneSelector
3
+ *
4
+ * This component wraps the logic required to enable user selection
5
+ * of an AR plane. This currently only allows for 1 plane to be selected,
6
+ * but could easily be modified to allow for more planes.
7
+ */
8
+ import * as React from "react";
9
+ import { ViroPlaneUpdatedMap, ViroARPlaneSizes, ViroClickStateEvent } from "../../components/Types/ViroEvents";
10
+ import { ViroARPlaneType, ViroNativeRef } from "../../components/Types/ViroUtils";
11
+ import { ViroCommonProps, ViroObjectProps } from "../../components/AR/ViroCommonProps";
12
+ type Props = ViroCommonProps & ViroObjectProps & {
13
+ maxPlanes?: number;
14
+ minHeight?: number;
15
+ minWidth?: number;
16
+ alignment?: "Horizontal" | "HorizontalUpward" | "HorizontalDownward" | "Vertical";
17
+ onPlaneSelected?: (updateMap: ViroPlaneUpdatedMap) => void;
18
+ };
19
+ type State = {
20
+ selectedSurface: number;
21
+ foundARPlanes: ViroARPlaneType[];
22
+ arPlaneSizes: ViroARPlaneSizes;
23
+ };
24
+ /**
25
+ * This component wraps the logic required to enable user selection
26
+ * of an AR plane. This currently only allows for 1 plane to be selected,
27
+ * but could easily be modified to allow for more planes.
28
+ */
29
+ export declare class ViroARPlaneSelector extends React.Component<Props, State> {
30
+ _component: ViroNativeRef;
31
+ state: {
32
+ selectedSurface: number;
33
+ foundARPlanes: ViroARPlaneType[];
34
+ arPlaneSizes: number[];
35
+ };
36
+ render(): React.JSX.Element;
37
+ _getARPlanes(): JSX.Element[];
38
+ _getOnClickSurface: (index: number, event: ViroClickStateEvent) => void;
39
+ _onARPlaneUpdated: (index: number) => (updateMap: ViroPlaneUpdatedMap) => void;
40
+ _onPlaneSelected: (updateMap: ViroPlaneUpdatedMap) => void;
41
+ reset: () => void;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=ViroARPlaneSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroARPlaneSelector.d.ts","sourceRoot":"","sources":["../../../components/AR/ViroARPlaneSelector.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,aAAa,EACd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAM7C,KAAK,KAAK,GAAG,eAAe,GAC1B,eAAe,GAAG;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EACN,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,GACpB,UAAU,CAAC;IAEf,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEJ,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,YAAY,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACpE,UAAU,EAAE,aAAa,CAAQ;IACjC,KAAK;;uBAEkB,eAAe,EAAE;sBAClB,MAAM,EAAE;MAC5B;IAEF,MAAM;IAIN,YAAY;IAkEZ,kBAAkB,UAAW,MAAM,SAAS,mBAAmB,UAkB7D;IAEF,iBAAiB,UAAW,MAAM,iBACb,mBAAmB,UAQtC;IAEF,gBAAgB,cAAe,mBAAmB,UAEhD;IAKF,KAAK,aAIH;CACH"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ /**
3
+ * ViroARPlaneSelector
4
+ *
5
+ * This component wraps the logic required to enable user selection
6
+ * of an AR plane. This currently only allows for 1 plane to be selected,
7
+ * but could easily be modified to allow for more planes.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.ViroARPlaneSelector = void 0;
47
+ const React = __importStar(require("react"));
48
+ const ViroNode_1 = require("../ViroNode");
49
+ const ViroQuad_1 = require("../ViroQuad");
50
+ const ViroMaterials_1 = __importDefault(require("../Material/ViroMaterials"));
51
+ const ViroARPlane_1 = require("../AR/ViroARPlane");
52
+ const _maxPlanes = 15;
53
+ const _planePrefix = "ViroARPlaneSelector_Plane_";
54
+ /**
55
+ * This component wraps the logic required to enable user selection
56
+ * of an AR plane. This currently only allows for 1 plane to be selected,
57
+ * but could easily be modified to allow for more planes.
58
+ */
59
+ class ViroARPlaneSelector extends React.Component {
60
+ constructor() {
61
+ super(...arguments);
62
+ this._component = null;
63
+ this.state = {
64
+ selectedSurface: -1,
65
+ foundARPlanes: [],
66
+ arPlaneSizes: [],
67
+ };
68
+ this._getOnClickSurface = (index, event) => {
69
+ if (event.clickState < 3) {
70
+ return;
71
+ }
72
+ // Get the plane data before updating state to avoid race conditions
73
+ const selectedPlane = this.state.foundARPlanes[index];
74
+ if (!selectedPlane) {
75
+ console.warn("ViroARPlaneSelector: Cannot select plane - plane data not found");
76
+ return;
77
+ }
78
+ // Update state and call callback with the captured data
79
+ this.setState({ selectedSurface: index }, () => {
80
+ this._onPlaneSelected(selectedPlane);
81
+ });
82
+ };
83
+ this._onARPlaneUpdated = (index) => {
84
+ return (updateMap) => {
85
+ let newPlanes = [...this.state.foundARPlanes];
86
+ newPlanes[index] = updateMap;
87
+ this.setState({
88
+ foundARPlanes: newPlanes,
89
+ arPlaneSizes: this.state.arPlaneSizes,
90
+ });
91
+ };
92
+ };
93
+ this._onPlaneSelected = (updateMap) => {
94
+ this.props.onPlaneSelected && this.props.onPlaneSelected(updateMap);
95
+ };
96
+ /*
97
+ This function allows the user to reset the surface and select a new plane.
98
+ */
99
+ this.reset = () => {
100
+ this.setState({
101
+ selectedSurface: -1,
102
+ });
103
+ };
104
+ }
105
+ render() {
106
+ return <ViroNode_1.ViroNode>{this._getARPlanes()}</ViroNode_1.ViroNode>;
107
+ }
108
+ _getARPlanes() {
109
+ // Always render a fixed number of planes, controlling visibility instead of conditional rendering
110
+ let arPlanes = [];
111
+ let numPlanes = this.props.maxPlanes || _maxPlanes;
112
+ // Create all plane slots (both detected and placeholder)
113
+ for (let i = 0; i < numPlanes; i++) {
114
+ // Determine if this is the selected plane
115
+ const isSelected = this.state.selectedSurface === i;
116
+ // Get real plane data if available, or use defaults
117
+ const foundARPlane = this.state.foundARPlanes[i];
118
+ const hasPlaneData = !!foundARPlane;
119
+ // Extract plane data or use defaults
120
+ const surfaceWidth = hasPlaneData ? foundARPlane.width || 0.5 : 0.5;
121
+ const surfaceHeight = hasPlaneData ? foundARPlane.height || 0.5 : 0.5;
122
+ const surfacePosition = hasPlaneData
123
+ ? foundARPlane.center || [0, 0, 0]
124
+ : [0, 0, 0];
125
+ const anchorId = hasPlaneData
126
+ ? foundARPlane.anchorId
127
+ : undefined;
128
+ // Determine visibility based on selection state
129
+ // - In selection mode (selectedSurface === -1): show all planes
130
+ // - In selected mode: only show the selected plane
131
+ const isVisible = this.state.selectedSurface === -1 || isSelected;
132
+ arPlanes.push(<ViroARPlane_1.ViroARPlane key={_planePrefix + i} minWidth={this.props.minWidth || 0.5} minHeight={this.props.minHeight || 0.5} alignment={this.props.alignment} anchorId={anchorId} onAnchorFound={(anchor) => {
133
+ // If we find an anchor, update our plane data
134
+ this._onARPlaneUpdated(i)(anchor);
135
+ }} onAnchorUpdated={this._onARPlaneUpdated(i)}>
136
+ {/* Always render both the quad and children, controlling only visibility */}
137
+ <ViroQuad_1.ViroQuad materials={"ViroARPlaneSelector_Translucent"} onClickState={(event) => this._getOnClickSurface(i, event)} position={surfacePosition} width={surfaceWidth} height={surfaceHeight} rotation={[-90, 0, 0]} opacity={isSelected ? 0 : isVisible ? 1 : 0}/>
138
+
139
+ {/* Wrap children in a ViroNode to control visibility if children exist */}
140
+ {this.props.children && (<ViroNode_1.ViroNode opacity={isSelected ? 1 : 0}>
141
+ {this.props.children}
142
+ </ViroNode_1.ViroNode>)}
143
+ </ViroARPlane_1.ViroARPlane>);
144
+ }
145
+ return arPlanes;
146
+ }
147
+ }
148
+ exports.ViroARPlaneSelector = ViroARPlaneSelector;
149
+ // Register the translucent material for the plane selector
150
+ ViroMaterials_1.default.registerMaterials({
151
+ ViroARPlaneSelector_Translucent: {
152
+ lightingModel: "Constant",
153
+ diffuseColor: "#88888888",
154
+ },
155
+ });
156
+ //# sourceMappingURL=ViroARPlaneSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroARPlaneSelector.js","sourceRoot":"","sources":["../../../components/AR/ViroARPlaneSelector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * ViroARTrackingTargets
3
+ *
4
+ * A utility for registering AR tracking targets.
5
+ */
6
+ export interface ViroARImageTarget {
7
+ source: {
8
+ uri: string;
9
+ } | number;
10
+ orientation: "Up" | "Down" | "Left" | "Right";
11
+ physicalWidth?: number;
12
+ type?: "Image";
13
+ }
14
+ export interface ViroARObjectTarget {
15
+ source: {
16
+ uri: string;
17
+ } | number;
18
+ scale?: [number, number, number];
19
+ type: "Object";
20
+ }
21
+ export type ViroARTrackingTarget = ViroARImageTarget | ViroARObjectTarget;
22
+ /**
23
+ * Register AR tracking targets with the Viro system.
24
+ * @param targetMap A map of target names to target definitions.
25
+ */
26
+ export declare function registerTargets(targetMap: Record<string, ViroARTrackingTarget>): void;
27
+ /**
28
+ * Get a tracking target by name.
29
+ * @param name The name of the tracking target.
30
+ * @returns The tracking target definition, or undefined if not found.
31
+ */
32
+ export declare function getTarget(name: string): ViroARTrackingTarget | undefined;
33
+ /**
34
+ * Get all registered tracking targets.
35
+ * @returns A map of tracking target names to tracking target definitions.
36
+ */
37
+ export declare function getAllTargets(): Record<string, ViroARTrackingTarget>;
38
+ /**
39
+ * Clear all registered tracking targets.
40
+ */
41
+ export declare function clearTargets(): void;
42
+ /**
43
+ * Delete a specific tracking target.
44
+ * @param targetName The name of the tracking target to delete.
45
+ */
46
+ export declare function deleteTarget(targetName: string): void;
47
+ declare const ViroARTrackingTargets: {
48
+ registerTargets: typeof registerTargets;
49
+ getTarget: typeof getTarget;
50
+ getAllTargets: typeof getAllTargets;
51
+ clearTargets: typeof clearTargets;
52
+ deleteTarget: typeof deleteTarget;
53
+ createTargets: typeof registerTargets;
54
+ };
55
+ export default ViroARTrackingTargets;
56
+ //# sourceMappingURL=ViroARTrackingTargets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViroARTrackingTargets.d.ts","sourceRoot":"","sources":["../../../components/AR/ViroARTrackingTargets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACjC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAK1E;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAC9C,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAExE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAWnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAWrD;AAGD,QAAA,MAAM,qBAAqB;;;;;;;CAQ1B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}