@reactvision/react-viro 2.43.1 → 2.43.3

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 +3 -5
  2. package/android/react_viro/react_viro-release.aar +0 -0
  3. package/components/Utilities/ViroVersion.ts +1 -1
  4. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  5. package/dist/components/Utilities/ViroVersion.js +1 -1
  6. package/dist/plugins/withViro.d.ts +0 -3
  7. package/dist/plugins/withViro.js +0 -19
  8. package/dist/plugins/withViroAndroid.js +20 -24
  9. package/dist/plugins/withViroIos.js +2 -20
  10. package/ios/ViroReact.podspec +11 -51
  11. package/ios/dist/armv7_arm64/libViroReact.a +0 -0
  12. package/ios/dist/include/VRTFabricCrashFix.h +16 -0
  13. package/ios/dist/lib/libViroReact.a +0 -0
  14. package/package.json +10 -23
  15. package/dist/dynamic-index.d.ts +0 -11
  16. package/dist/dynamic-index.js +0 -28
  17. package/dist/examples/AutoDetectionExample.d.ts +0 -10
  18. package/dist/examples/AutoDetectionExample.js +0 -91
  19. package/dist/fabric-interop/NativeViro.d.ts +0 -42
  20. package/dist/fabric-interop/NativeViro.js +0 -262
  21. package/dist/fabric-interop/ViroEventsManager.d.ts +0 -83
  22. package/dist/fabric-interop/ViroEventsManager.js +0 -222
  23. package/dist/fabric-interop/ViroFabricContainer.d.ts +0 -34
  24. package/dist/fabric-interop/ViroFabricContainer.js +0 -200
  25. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +0 -35
  26. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +0 -20
  27. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +0 -22
  28. package/dist/fabric-interop/components/AR/ViroARPlane.js +0 -95
  29. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +0 -43
  30. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +0 -152
  31. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +0 -55
  32. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +0 -85
  33. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +0 -91
  34. package/dist/fabric-interop/components/AR/ViroCommonProps.js +0 -7
  35. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +0 -48
  36. package/dist/fabric-interop/components/Animation/ViroAnimations.js +0 -64
  37. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +0 -66
  38. package/dist/fabric-interop/components/Material/ViroMaterials.js +0 -85
  39. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +0 -202
  40. package/dist/fabric-interop/components/Types/ViroEvents.js +0 -53
  41. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +0 -137
  42. package/dist/fabric-interop/components/Types/ViroUtils.js +0 -7
  43. package/dist/fabric-interop/components/Viro360Image.d.ts +0 -23
  44. package/dist/fabric-interop/components/Viro360Image.js +0 -45
  45. package/dist/fabric-interop/components/Viro360Video.d.ts +0 -29
  46. package/dist/fabric-interop/components/Viro360Video.js +0 -47
  47. package/dist/fabric-interop/components/Viro3DObject.d.ts +0 -60
  48. package/dist/fabric-interop/components/Viro3DObject.js +0 -49
  49. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +0 -49
  50. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +0 -388
  51. package/dist/fabric-interop/components/ViroARCamera.d.ts +0 -29
  52. package/dist/fabric-interop/components/ViroARCamera.js +0 -64
  53. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +0 -21
  54. package/dist/fabric-interop/components/ViroARImageMarker.js +0 -71
  55. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +0 -21
  56. package/dist/fabric-interop/components/ViroARObjectMarker.js +0 -71
  57. package/dist/fabric-interop/components/ViroARPlane.d.ts +0 -24
  58. package/dist/fabric-interop/components/ViroARPlane.js +0 -88
  59. package/dist/fabric-interop/components/ViroARScene.d.ts +0 -29
  60. package/dist/fabric-interop/components/ViroARScene.js +0 -89
  61. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +0 -29
  62. package/dist/fabric-interop/components/ViroARSceneNavigator.js +0 -76
  63. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +0 -19
  64. package/dist/fabric-interop/components/ViroAmbientLight.js +0 -46
  65. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +0 -24
  66. package/dist/fabric-interop/components/ViroAnimatedComponent.js +0 -63
  67. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +0 -28
  68. package/dist/fabric-interop/components/ViroAnimatedImage.js +0 -49
  69. package/dist/fabric-interop/components/ViroBox.d.ts +0 -20
  70. package/dist/fabric-interop/components/ViroBox.js +0 -47
  71. package/dist/fabric-interop/components/ViroButton.d.ts +0 -32
  72. package/dist/fabric-interop/components/ViroButton.js +0 -92
  73. package/dist/fabric-interop/components/ViroCamera.d.ts +0 -17
  74. package/dist/fabric-interop/components/ViroCamera.js +0 -30
  75. package/dist/fabric-interop/components/ViroController.d.ts +0 -19
  76. package/dist/fabric-interop/components/ViroController.js +0 -64
  77. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +0 -28
  78. package/dist/fabric-interop/components/ViroDirectionalLight.js +0 -55
  79. package/dist/fabric-interop/components/ViroFlexView.d.ts +0 -36
  80. package/dist/fabric-interop/components/ViroFlexView.js +0 -97
  81. package/dist/fabric-interop/components/ViroGeometry.d.ts +0 -23
  82. package/dist/fabric-interop/components/ViroGeometry.js +0 -50
  83. package/dist/fabric-interop/components/ViroGlobal.d.ts +0 -45
  84. package/dist/fabric-interop/components/ViroGlobal.js +0 -20
  85. package/dist/fabric-interop/components/ViroImage.d.ts +0 -29
  86. package/dist/fabric-interop/components/ViroImage.js +0 -52
  87. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +0 -19
  88. package/dist/fabric-interop/components/ViroLightingEnvironment.js +0 -44
  89. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +0 -30
  90. package/dist/fabric-interop/components/ViroMaterialVideo.js +0 -48
  91. package/dist/fabric-interop/components/ViroNode.d.ts +0 -36
  92. package/dist/fabric-interop/components/ViroNode.js +0 -28
  93. package/dist/fabric-interop/components/ViroOmniLight.d.ts +0 -21
  94. package/dist/fabric-interop/components/ViroOmniLight.js +0 -48
  95. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +0 -17
  96. package/dist/fabric-interop/components/ViroOrbitCamera.js +0 -30
  97. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +0 -51
  98. package/dist/fabric-interop/components/ViroParticleEmitter.js +0 -50
  99. package/dist/fabric-interop/components/ViroPolygon.d.ts +0 -20
  100. package/dist/fabric-interop/components/ViroPolygon.js +0 -47
  101. package/dist/fabric-interop/components/ViroPolyline.d.ts +0 -19
  102. package/dist/fabric-interop/components/ViroPolyline.js +0 -46
  103. package/dist/fabric-interop/components/ViroPortal.d.ts +0 -16
  104. package/dist/fabric-interop/components/ViroPortal.js +0 -73
  105. package/dist/fabric-interop/components/ViroPortalScene.d.ts +0 -16
  106. package/dist/fabric-interop/components/ViroPortalScene.js +0 -29
  107. package/dist/fabric-interop/components/ViroQuad.d.ts +0 -39
  108. package/dist/fabric-interop/components/ViroQuad.js +0 -49
  109. package/dist/fabric-interop/components/ViroScene.d.ts +0 -29
  110. package/dist/fabric-interop/components/ViroScene.js +0 -103
  111. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +0 -23
  112. package/dist/fabric-interop/components/ViroSceneNavigator.js +0 -73
  113. package/dist/fabric-interop/components/ViroSkyBox.d.ts +0 -39
  114. package/dist/fabric-interop/components/ViroSkyBox.js +0 -44
  115. package/dist/fabric-interop/components/ViroSound.d.ts +0 -23
  116. package/dist/fabric-interop/components/ViroSound.js +0 -46
  117. package/dist/fabric-interop/components/ViroSoundField.d.ts +0 -24
  118. package/dist/fabric-interop/components/ViroSoundField.js +0 -47
  119. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +0 -27
  120. package/dist/fabric-interop/components/ViroSpatialSound.js +0 -50
  121. package/dist/fabric-interop/components/ViroSphere.d.ts +0 -22
  122. package/dist/fabric-interop/components/ViroSphere.js +0 -49
  123. package/dist/fabric-interop/components/ViroSpinner.d.ts +0 -18
  124. package/dist/fabric-interop/components/ViroSpinner.js +0 -45
  125. package/dist/fabric-interop/components/ViroSpotLight.d.ts +0 -30
  126. package/dist/fabric-interop/components/ViroSpotLight.js +0 -57
  127. package/dist/fabric-interop/components/ViroSurface.d.ts +0 -38
  128. package/dist/fabric-interop/components/ViroSurface.js +0 -48
  129. package/dist/fabric-interop/components/ViroText.d.ts +0 -36
  130. package/dist/fabric-interop/components/ViroText.js +0 -59
  131. package/dist/fabric-interop/components/ViroUtils.d.ts +0 -63
  132. package/dist/fabric-interop/components/ViroUtils.js +0 -140
  133. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +0 -25
  134. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +0 -73
  135. package/dist/fabric-interop/components/ViroVideo.d.ts +0 -32
  136. package/dist/fabric-interop/components/ViroVideo.js +0 -52
  137. package/dist/fabric-interop/components/index.d.ts +0 -62
  138. package/dist/fabric-interop/components/index.js +0 -144
  139. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +0 -11
  140. package/dist/fabric-interop/examples/BasicSceneExample.js +0 -244
  141. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +0 -13
  142. package/dist/fabric-interop/examples/ComprehensiveExample.js +0 -327
  143. package/dist/fabric-interop/examples/SimpleARExample.d.ts +0 -8
  144. package/dist/fabric-interop/examples/SimpleARExample.js +0 -62
  145. package/dist/fabric-interop/index.d.ts +0 -14
  146. package/dist/fabric-interop/index.js +0 -117
  147. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +0 -19
  148. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +0 -11
  149. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +0 -9
  150. package/dist/fabric-interop/test/BasicFunctionalityTest.js +0 -222
  151. package/dist/fabric.d.ts +0 -13
  152. package/dist/fabric.js +0 -29
  153. package/dynamic-index-source.d.ts +0 -77
  154. package/dynamic-index.ts +0 -41
  155. package/fabric-interop/NativeViro.ts +0 -335
  156. package/fabric-interop/README.md +0 -282
  157. package/fabric-interop/ViroEventsManager.js +0 -257
  158. package/fabric-interop/ViroFabricContainer.tsx +0 -273
  159. package/fabric-interop/components/AR/ViroARPlane.tsx +0 -108
  160. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +0 -185
  161. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +0 -108
  162. package/fabric-interop/components/AR/ViroCommonProps.ts +0 -140
  163. package/fabric-interop/components/Animation/ViroAnimations.ts +0 -96
  164. package/fabric-interop/components/Material/ViroMaterials.ts +0 -127
  165. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  166. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  167. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  168. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  169. package/fabric-interop/components/Types/ViroEvents.ts +0 -285
  170. package/fabric-interop/components/Types/ViroUtils.ts +0 -160
  171. package/fabric-interop/components/Viro360Image.tsx +0 -70
  172. package/fabric-interop/components/Viro360Video.tsx +0 -78
  173. package/fabric-interop/components/Viro3DObject.tsx +0 -122
  174. package/fabric-interop/components/Viro3DSceneNavigator.tsx +0 -503
  175. package/fabric-interop/components/ViroARCamera.tsx +0 -105
  176. package/fabric-interop/components/ViroARImageMarker.tsx +0 -98
  177. package/fabric-interop/components/ViroARObjectMarker.tsx +0 -100
  178. package/fabric-interop/components/ViroARPlane.tsx +0 -120
  179. package/fabric-interop/components/ViroARScene.tsx +0 -127
  180. package/fabric-interop/components/ViroARSceneNavigator.tsx +0 -82
  181. package/fabric-interop/components/ViroAmbientLight.tsx +0 -62
  182. package/fabric-interop/components/ViroAnimatedComponent.tsx +0 -91
  183. package/fabric-interop/components/ViroAnimatedImage.tsx +0 -81
  184. package/fabric-interop/components/ViroBox.tsx +0 -72
  185. package/fabric-interop/components/ViroButton.tsx +0 -125
  186. package/fabric-interop/components/ViroCamera.tsx +0 -45
  187. package/fabric-interop/components/ViroController.tsx +0 -87
  188. package/fabric-interop/components/ViroDirectionalLight.tsx +0 -84
  189. package/fabric-interop/components/ViroFlexView.tsx +0 -146
  190. package/fabric-interop/components/ViroGeometry.tsx +0 -78
  191. package/fabric-interop/components/ViroGlobal.ts +0 -114
  192. package/fabric-interop/components/ViroImage.tsx +0 -85
  193. package/fabric-interop/components/ViroLightingEnvironment.tsx +0 -63
  194. package/fabric-interop/components/ViroMaterialVideo.tsx +0 -82
  195. package/fabric-interop/components/ViroNode.tsx +0 -62
  196. package/fabric-interop/components/ViroOmniLight.tsx +0 -66
  197. package/fabric-interop/components/ViroOrbitCamera.tsx +0 -45
  198. package/fabric-interop/components/ViroParticleEmitter.tsx +0 -111
  199. package/fabric-interop/components/ViroPolygon.tsx +0 -72
  200. package/fabric-interop/components/ViroPolyline.tsx +0 -71
  201. package/fabric-interop/components/ViroPortal.tsx +0 -91
  202. package/fabric-interop/components/ViroPortalScene.tsx +0 -43
  203. package/fabric-interop/components/ViroQuad.tsx +0 -82
  204. package/fabric-interop/components/ViroScene.tsx +0 -117
  205. package/fabric-interop/components/ViroSceneNavigator.tsx +0 -71
  206. package/fabric-interop/components/ViroSkyBox.tsx +0 -75
  207. package/fabric-interop/components/ViroSound.tsx +0 -71
  208. package/fabric-interop/components/ViroSoundField.tsx +0 -75
  209. package/fabric-interop/components/ViroSpatialSound.tsx +0 -81
  210. package/fabric-interop/components/ViroSphere.tsx +0 -75
  211. package/fabric-interop/components/ViroSpinner.tsx +0 -63
  212. package/fabric-interop/components/ViroSpotLight.tsx +0 -86
  213. package/fabric-interop/components/ViroSurface.tsx +0 -80
  214. package/fabric-interop/components/ViroText.tsx +0 -114
  215. package/fabric-interop/components/ViroUtils.ts +0 -208
  216. package/fabric-interop/components/ViroVRSceneNavigator.tsx +0 -75
  217. package/fabric-interop/components/ViroVideo.tsx +0 -91
  218. package/fabric-interop/components/index.ts +0 -94
  219. package/fabric-interop/dist/NativeViro.d.ts +0 -43
  220. package/fabric-interop/dist/NativeViro.d.ts.map +0 -1
  221. package/fabric-interop/dist/NativeViro.js +0 -263
  222. package/fabric-interop/dist/NativeViro.js.map +0 -1
  223. package/fabric-interop/dist/ViroFabricContainer.d.ts +0 -35
  224. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +0 -1
  225. package/fabric-interop/dist/ViroFabricContainer.js +0 -201
  226. package/fabric-interop/dist/ViroFabricContainer.js.map +0 -1
  227. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +0 -23
  228. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +0 -1
  229. package/fabric-interop/dist/components/AR/ViroARPlane.js +0 -96
  230. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +0 -1
  231. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +0 -44
  232. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +0 -1
  233. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +0 -156
  234. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +0 -1
  235. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +0 -56
  236. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +0 -1
  237. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +0 -86
  238. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +0 -1
  239. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +0 -92
  240. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +0 -1
  241. package/fabric-interop/dist/components/AR/ViroCommonProps.js +0 -8
  242. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +0 -1
  243. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +0 -49
  244. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +0 -1
  245. package/fabric-interop/dist/components/Animation/ViroAnimations.js +0 -65
  246. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +0 -1
  247. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +0 -67
  248. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +0 -1
  249. package/fabric-interop/dist/components/Material/ViroMaterials.js +0 -86
  250. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +0 -1
  251. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +0 -203
  252. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +0 -1
  253. package/fabric-interop/dist/components/Types/ViroEvents.js +0 -54
  254. package/fabric-interop/dist/components/Types/ViroEvents.js.map +0 -1
  255. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +0 -138
  256. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +0 -1
  257. package/fabric-interop/dist/components/Types/ViroUtils.js +0 -8
  258. package/fabric-interop/dist/components/Types/ViroUtils.js.map +0 -1
  259. package/fabric-interop/dist/components/Viro360Image.d.ts +0 -24
  260. package/fabric-interop/dist/components/Viro360Image.d.ts.map +0 -1
  261. package/fabric-interop/dist/components/Viro360Image.js +0 -47
  262. package/fabric-interop/dist/components/Viro360Image.js.map +0 -1
  263. package/fabric-interop/dist/components/Viro360Video.d.ts +0 -30
  264. package/fabric-interop/dist/components/Viro360Video.d.ts.map +0 -1
  265. package/fabric-interop/dist/components/Viro360Video.js +0 -49
  266. package/fabric-interop/dist/components/Viro360Video.js.map +0 -1
  267. package/fabric-interop/dist/components/Viro3DObject.d.ts +0 -61
  268. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +0 -1
  269. package/fabric-interop/dist/components/Viro3DObject.js +0 -51
  270. package/fabric-interop/dist/components/Viro3DObject.js.map +0 -1
  271. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +0 -50
  272. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +0 -1
  273. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +0 -389
  274. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +0 -1
  275. package/fabric-interop/dist/components/ViroARCamera.d.ts +0 -30
  276. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +0 -1
  277. package/fabric-interop/dist/components/ViroARCamera.js +0 -65
  278. package/fabric-interop/dist/components/ViroARCamera.js.map +0 -1
  279. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +0 -22
  280. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +0 -1
  281. package/fabric-interop/dist/components/ViroARImageMarker.js +0 -72
  282. package/fabric-interop/dist/components/ViroARImageMarker.js.map +0 -1
  283. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +0 -22
  284. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +0 -1
  285. package/fabric-interop/dist/components/ViroARObjectMarker.js +0 -72
  286. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +0 -1
  287. package/fabric-interop/dist/components/ViroARPlane.d.ts +0 -25
  288. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +0 -1
  289. package/fabric-interop/dist/components/ViroARPlane.js +0 -89
  290. package/fabric-interop/dist/components/ViroARPlane.js.map +0 -1
  291. package/fabric-interop/dist/components/ViroARScene.d.ts +0 -30
  292. package/fabric-interop/dist/components/ViroARScene.d.ts.map +0 -1
  293. package/fabric-interop/dist/components/ViroARScene.js +0 -90
  294. package/fabric-interop/dist/components/ViroARScene.js.map +0 -1
  295. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +0 -30
  296. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +0 -1
  297. package/fabric-interop/dist/components/ViroARSceneNavigator.js +0 -78
  298. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +0 -1
  299. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +0 -20
  300. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +0 -1
  301. package/fabric-interop/dist/components/ViroAmbientLight.js +0 -48
  302. package/fabric-interop/dist/components/ViroAmbientLight.js.map +0 -1
  303. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +0 -25
  304. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +0 -1
  305. package/fabric-interop/dist/components/ViroAnimatedComponent.js +0 -65
  306. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +0 -1
  307. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +0 -29
  308. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +0 -1
  309. package/fabric-interop/dist/components/ViroAnimatedImage.js +0 -51
  310. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +0 -1
  311. package/fabric-interop/dist/components/ViroBox.d.ts +0 -21
  312. package/fabric-interop/dist/components/ViroBox.d.ts.map +0 -1
  313. package/fabric-interop/dist/components/ViroBox.js +0 -49
  314. package/fabric-interop/dist/components/ViroBox.js.map +0 -1
  315. package/fabric-interop/dist/components/ViroButton.d.ts +0 -33
  316. package/fabric-interop/dist/components/ViroButton.d.ts.map +0 -1
  317. package/fabric-interop/dist/components/ViroButton.js +0 -94
  318. package/fabric-interop/dist/components/ViroButton.js.map +0 -1
  319. package/fabric-interop/dist/components/ViroCamera.d.ts +0 -18
  320. package/fabric-interop/dist/components/ViroCamera.d.ts.map +0 -1
  321. package/fabric-interop/dist/components/ViroCamera.js +0 -31
  322. package/fabric-interop/dist/components/ViroCamera.js.map +0 -1
  323. package/fabric-interop/dist/components/ViroController.d.ts +0 -20
  324. package/fabric-interop/dist/components/ViroController.d.ts.map +0 -1
  325. package/fabric-interop/dist/components/ViroController.js +0 -65
  326. package/fabric-interop/dist/components/ViroController.js.map +0 -1
  327. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +0 -29
  328. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +0 -1
  329. package/fabric-interop/dist/components/ViroDirectionalLight.js +0 -57
  330. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +0 -1
  331. package/fabric-interop/dist/components/ViroFlexView.d.ts +0 -37
  332. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +0 -1
  333. package/fabric-interop/dist/components/ViroFlexView.js +0 -98
  334. package/fabric-interop/dist/components/ViroFlexView.js.map +0 -1
  335. package/fabric-interop/dist/components/ViroGeometry.d.ts +0 -24
  336. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +0 -1
  337. package/fabric-interop/dist/components/ViroGeometry.js +0 -52
  338. package/fabric-interop/dist/components/ViroGeometry.js.map +0 -1
  339. package/fabric-interop/dist/components/ViroGlobal.d.ts +0 -46
  340. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +0 -1
  341. package/fabric-interop/dist/components/ViroGlobal.js +0 -21
  342. package/fabric-interop/dist/components/ViroGlobal.js.map +0 -1
  343. package/fabric-interop/dist/components/ViroImage.d.ts +0 -30
  344. package/fabric-interop/dist/components/ViroImage.d.ts.map +0 -1
  345. package/fabric-interop/dist/components/ViroImage.js +0 -54
  346. package/fabric-interop/dist/components/ViroImage.js.map +0 -1
  347. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +0 -20
  348. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +0 -1
  349. package/fabric-interop/dist/components/ViroLightingEnvironment.js +0 -46
  350. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +0 -1
  351. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +0 -31
  352. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +0 -1
  353. package/fabric-interop/dist/components/ViroMaterialVideo.js +0 -50
  354. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +0 -1
  355. package/fabric-interop/dist/components/ViroNode.d.ts +0 -37
  356. package/fabric-interop/dist/components/ViroNode.d.ts.map +0 -1
  357. package/fabric-interop/dist/components/ViroNode.js +0 -29
  358. package/fabric-interop/dist/components/ViroNode.js.map +0 -1
  359. package/fabric-interop/dist/components/ViroOmniLight.d.ts +0 -22
  360. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +0 -1
  361. package/fabric-interop/dist/components/ViroOmniLight.js +0 -50
  362. package/fabric-interop/dist/components/ViroOmniLight.js.map +0 -1
  363. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +0 -18
  364. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +0 -1
  365. package/fabric-interop/dist/components/ViroOrbitCamera.js +0 -31
  366. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +0 -1
  367. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +0 -52
  368. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +0 -1
  369. package/fabric-interop/dist/components/ViroParticleEmitter.js +0 -52
  370. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +0 -1
  371. package/fabric-interop/dist/components/ViroPolygon.d.ts +0 -21
  372. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +0 -1
  373. package/fabric-interop/dist/components/ViroPolygon.js +0 -49
  374. package/fabric-interop/dist/components/ViroPolygon.js.map +0 -1
  375. package/fabric-interop/dist/components/ViroPolyline.d.ts +0 -20
  376. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +0 -1
  377. package/fabric-interop/dist/components/ViroPolyline.js +0 -48
  378. package/fabric-interop/dist/components/ViroPolyline.js.map +0 -1
  379. package/fabric-interop/dist/components/ViroPortal.d.ts +0 -17
  380. package/fabric-interop/dist/components/ViroPortal.d.ts.map +0 -1
  381. package/fabric-interop/dist/components/ViroPortal.js +0 -74
  382. package/fabric-interop/dist/components/ViroPortal.js.map +0 -1
  383. package/fabric-interop/dist/components/ViroPortalScene.d.ts +0 -17
  384. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +0 -1
  385. package/fabric-interop/dist/components/ViroPortalScene.js +0 -30
  386. package/fabric-interop/dist/components/ViroPortalScene.js.map +0 -1
  387. package/fabric-interop/dist/components/ViroQuad.d.ts +0 -40
  388. package/fabric-interop/dist/components/ViroQuad.d.ts.map +0 -1
  389. package/fabric-interop/dist/components/ViroQuad.js +0 -51
  390. package/fabric-interop/dist/components/ViroQuad.js.map +0 -1
  391. package/fabric-interop/dist/components/ViroScene.d.ts +0 -30
  392. package/fabric-interop/dist/components/ViroScene.d.ts.map +0 -1
  393. package/fabric-interop/dist/components/ViroScene.js +0 -105
  394. package/fabric-interop/dist/components/ViroScene.js.map +0 -1
  395. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +0 -24
  396. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +0 -1
  397. package/fabric-interop/dist/components/ViroSceneNavigator.js +0 -74
  398. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +0 -1
  399. package/fabric-interop/dist/components/ViroSkyBox.d.ts +0 -40
  400. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +0 -1
  401. package/fabric-interop/dist/components/ViroSkyBox.js +0 -46
  402. package/fabric-interop/dist/components/ViroSkyBox.js.map +0 -1
  403. package/fabric-interop/dist/components/ViroSound.d.ts +0 -24
  404. package/fabric-interop/dist/components/ViroSound.d.ts.map +0 -1
  405. package/fabric-interop/dist/components/ViroSound.js +0 -48
  406. package/fabric-interop/dist/components/ViroSound.js.map +0 -1
  407. package/fabric-interop/dist/components/ViroSoundField.d.ts +0 -25
  408. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +0 -1
  409. package/fabric-interop/dist/components/ViroSoundField.js +0 -49
  410. package/fabric-interop/dist/components/ViroSoundField.js.map +0 -1
  411. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +0 -28
  412. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +0 -1
  413. package/fabric-interop/dist/components/ViroSpatialSound.js +0 -52
  414. package/fabric-interop/dist/components/ViroSpatialSound.js.map +0 -1
  415. package/fabric-interop/dist/components/ViroSphere.d.ts +0 -23
  416. package/fabric-interop/dist/components/ViroSphere.d.ts.map +0 -1
  417. package/fabric-interop/dist/components/ViroSphere.js +0 -51
  418. package/fabric-interop/dist/components/ViroSphere.js.map +0 -1
  419. package/fabric-interop/dist/components/ViroSpinner.d.ts +0 -19
  420. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +0 -1
  421. package/fabric-interop/dist/components/ViroSpinner.js +0 -47
  422. package/fabric-interop/dist/components/ViroSpinner.js.map +0 -1
  423. package/fabric-interop/dist/components/ViroSpotLight.d.ts +0 -31
  424. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +0 -1
  425. package/fabric-interop/dist/components/ViroSpotLight.js +0 -59
  426. package/fabric-interop/dist/components/ViroSpotLight.js.map +0 -1
  427. package/fabric-interop/dist/components/ViroSurface.d.ts +0 -39
  428. package/fabric-interop/dist/components/ViroSurface.d.ts.map +0 -1
  429. package/fabric-interop/dist/components/ViroSurface.js +0 -50
  430. package/fabric-interop/dist/components/ViroSurface.js.map +0 -1
  431. package/fabric-interop/dist/components/ViroText.d.ts +0 -37
  432. package/fabric-interop/dist/components/ViroText.d.ts.map +0 -1
  433. package/fabric-interop/dist/components/ViroText.js +0 -61
  434. package/fabric-interop/dist/components/ViroText.js.map +0 -1
  435. package/fabric-interop/dist/components/ViroUtils.d.ts +0 -64
  436. package/fabric-interop/dist/components/ViroUtils.d.ts.map +0 -1
  437. package/fabric-interop/dist/components/ViroUtils.js +0 -141
  438. package/fabric-interop/dist/components/ViroUtils.js.map +0 -1
  439. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +0 -26
  440. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +0 -1
  441. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +0 -74
  442. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +0 -1
  443. package/fabric-interop/dist/components/ViroVideo.d.ts +0 -33
  444. package/fabric-interop/dist/components/ViroVideo.d.ts.map +0 -1
  445. package/fabric-interop/dist/components/ViroVideo.js +0 -54
  446. package/fabric-interop/dist/components/ViroVideo.js.map +0 -1
  447. package/fabric-interop/dist/components/index.d.ts +0 -63
  448. package/fabric-interop/dist/components/index.d.ts.map +0 -1
  449. package/fabric-interop/dist/components/index.js +0 -145
  450. package/fabric-interop/dist/components/index.js.map +0 -1
  451. package/fabric-interop/dist/index.d.ts +0 -15
  452. package/fabric-interop/dist/index.d.ts.map +0 -1
  453. package/fabric-interop/dist/index.js +0 -118
  454. package/fabric-interop/dist/index.js.map +0 -1
  455. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +0 -20
  456. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +0 -1
  457. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +0 -12
  458. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +0 -1
  459. package/fabric-interop/examples/BasicSceneExample.tsx +0 -287
  460. package/fabric-interop/examples/ComprehensiveExample.tsx +0 -441
  461. package/fabric-interop/examples/SimpleARExample.tsx +0 -95
  462. package/fabric-interop/global.d.ts +0 -14
  463. package/fabric-interop/index.ts +0 -107
  464. package/fabric-interop/metro.config.js +0 -12
  465. package/fabric-interop/package.json +0 -40
  466. package/fabric-interop/react-native.config.js +0 -22
  467. package/fabric-interop/scripts/validate-build.js +0 -393
  468. package/fabric-interop/scripts/validate-implementation.js +0 -272
  469. package/fabric-interop/specs/README.md +0 -22
  470. package/fabric-interop/specs/ViroEventsTurboModule.ts +0 -27
  471. package/fabric-interop/test/BasicFunctionalityTest.tsx +0 -243
  472. package/fabric-interop/tsconfig.json +0 -38
  473. package/fabric.d.ts +0 -5
  474. package/fabric.ts +0 -14
  475. package/scripts/copy-types.js +0 -46
@@ -1,503 +0,0 @@
1
- /**
2
- * Viro3DSceneNavigator
3
- *
4
- * Component for transitioning between multiple scenes in a 3D environment.
5
- */
6
-
7
- import * as React from "react";
8
- import { useEffect, useRef, useState } from "react";
9
- import { StyleSheet, View, ViewProps } from "react-native";
10
- import { ViroScene } from "./ViroScene";
11
- import {
12
- registerEventListener,
13
- unregisterEventListener,
14
- generateNodeId,
15
- } from "../NativeViro";
16
- import { Viro3DPoint, ViroSceneDictionary } from "./Types/ViroUtils";
17
- import { getNativeViro } from "./ViroGlobal";
18
-
19
- type Props = ViewProps & {
20
- /**
21
- * initial scene key
22
- */
23
- initialSceneKey?: string;
24
-
25
- /**
26
- * A flag to enable/disable some debug features
27
- */
28
- debug?: boolean;
29
-
30
- viroAppProps?: any;
31
-
32
- /**
33
- * ViroSceneNavigator uses "scene" objects like the following to
34
- * describe a scene.
35
- */
36
- initialScene: {
37
- /**
38
- * The React Component to render for this scene.
39
- */
40
- scene: typeof ViroScene;
41
- passProps?: any;
42
- };
43
-
44
- /**
45
- * Called when either the user physically decides to exit vr (hits
46
- * the "X" button).
47
- */
48
- onExitViro?: () => void;
49
-
50
- /**
51
- * Renderer settings that can be used to enable or disable various
52
- * renderer capabilities and algorithms.
53
- */
54
- hdrEnabled?: boolean;
55
- pbrEnabled?: boolean;
56
- bloomEnabled?: boolean;
57
- shadowsEnabled?: boolean;
58
- multisamplingEnabled?: boolean;
59
- };
60
-
61
- /**
62
- * Viro3DSceneNavigator is used to transition between multiple scenes.
63
- */
64
- export function Viro3DSceneNavigator(props: Props): React.ReactElement {
65
- const {
66
- initialSceneKey,
67
- initialScene,
68
- viroAppProps,
69
- onExitViro,
70
- debug = false,
71
- hdrEnabled,
72
- pbrEnabled,
73
- bloomEnabled,
74
- shadowsEnabled,
75
- multisamplingEnabled,
76
- style,
77
- ...rest
78
- } = props;
79
-
80
- // Generate a random tag for scenes
81
- const mathRandomOffsetRef = useRef(0);
82
- const getRandomTag = () => {
83
- const randomTag = Math.random() + mathRandomOffsetRef.current;
84
- mathRandomOffsetRef.current++;
85
- return randomTag.toString();
86
- };
87
-
88
- // Initialize state
89
- const initialTag = initialSceneKey || getRandomTag();
90
- const initialSceneObj = {
91
- sceneClass: initialScene,
92
- tag: initialTag,
93
- referenceCount: 1,
94
- };
95
-
96
- const [sceneDictionary, setSceneDictionary] = useState<ViroSceneDictionary>({
97
- [initialTag]: initialSceneObj,
98
- });
99
-
100
- const [sceneHistory, setSceneHistory] = useState<string[]>([initialTag]);
101
- const [currentSceneIndex, setCurrentSceneIndex] = useState<number>(0);
102
-
103
- // Create a ref for the navigator node
104
- const navigatorRef = useRef<string>(generateNodeId());
105
-
106
- // Set up event listeners
107
- useEffect(() => {
108
- if (!navigatorRef.current) return;
109
-
110
- const exitViroCallbackId = onExitViro
111
- ? registerEventListener(navigatorRef.current, "onExitViro", () => {
112
- onExitViro();
113
- })
114
- : null;
115
-
116
- // Clean up event listeners
117
- return () => {
118
- if (exitViroCallbackId) {
119
- unregisterEventListener(
120
- navigatorRef.current,
121
- "onExitViro",
122
- exitViroCallbackId
123
- );
124
- }
125
- };
126
- }, [navigatorRef.current, onExitViro]);
127
-
128
- /**
129
- * Increments the reference count for a scene within sceneDictionary that is
130
- * mapped to the given sceneKey. If no scenes are found / mapped, we create
131
- * one, initialize it with a reference count of 1, and store it within the
132
- * sceneDictionary for future reference.
133
- */
134
- const incrementSceneReference = (
135
- scene: any,
136
- sceneKey: string,
137
- limitOne: boolean
138
- ) => {
139
- setSceneDictionary((prevDictionary) => {
140
- const newDictionary = { ...prevDictionary };
141
-
142
- if (!(sceneKey in newDictionary)) {
143
- const newScene = {
144
- sceneClass: scene,
145
- tag: sceneKey,
146
- referenceCount: 0,
147
- };
148
- newDictionary[sceneKey] = newScene;
149
- }
150
-
151
- // Error out if there are no scenes matching the given sceneKey
152
- const currentScene = newDictionary[sceneKey];
153
- if (!currentScene) {
154
- console.log("ERROR: No scene found for: " + sceneKey);
155
- return prevDictionary;
156
- }
157
-
158
- // Update the scene's reference count
159
- if ((limitOne && currentScene.referenceCount < 1) || !limitOne) {
160
- currentScene.referenceCount++;
161
- }
162
-
163
- newDictionary[sceneKey] = currentScene;
164
- return newDictionary;
165
- });
166
- };
167
-
168
- /**
169
- * Decrements the reference count for the last N scenes within
170
- * the sceneHistory by 1. If nothing else references that given scene
171
- * (counts equals 0), we then remove that scene from sceneDictionary.
172
- */
173
- const decrementReferenceForLastNScenes = (n: number) => {
174
- setSceneDictionary((prevDictionary) => {
175
- const newDictionary = { ...prevDictionary };
176
-
177
- // Now update and release any reference counts
178
- for (let i = 1; i <= n; i++) {
179
- const sceneTag = sceneHistory[sceneHistory.length - i];
180
- const scene = newDictionary[sceneTag];
181
- if (!scene) continue;
182
-
183
- scene.referenceCount--;
184
-
185
- if (scene.referenceCount <= 0) {
186
- delete newDictionary[sceneTag];
187
- } else {
188
- newDictionary[sceneTag] = scene;
189
- }
190
- }
191
-
192
- return newDictionary;
193
- });
194
- };
195
-
196
- /**
197
- * Adds the given sceneKey to the sceneHistory and updates the currentSceneIndex to point
198
- * to the scene on the top of the history stack (the most recent scene).
199
- */
200
- const addToHistory = (sceneKey: string) => {
201
- setSceneHistory((prevHistory) => [...prevHistory, sceneKey]);
202
-
203
- // Find the index of the scene in the dictionary
204
- let index = 0;
205
- for (const key in sceneDictionary) {
206
- if (sceneKey === sceneDictionary[key].tag) {
207
- setCurrentSceneIndex(index);
208
- break;
209
- }
210
- index++;
211
- }
212
- };
213
-
214
- /**
215
- * Instead of preserving history, we find the last pushed sceneKey within the history stack
216
- * matching the given sceneKey and re-order it to the front.
217
- */
218
- const reorderHistory = (sceneKey: string) => {
219
- setSceneHistory((prevHistory) => {
220
- // Find the last sceneKey within sceneHistory and remove it
221
- const newHistory = [...prevHistory];
222
- for (let i = newHistory.length - 1; i >= 0; i--) {
223
- if (sceneKey === newHistory[i]) {
224
- newHistory.splice(i, 1);
225
- break;
226
- }
227
- }
228
-
229
- // Add back the sceneKey to the front of the History stack
230
- return [...newHistory, sceneKey];
231
- });
232
-
233
- // Find the index of the scene in the dictionary
234
- let index = 0;
235
- for (const key in sceneDictionary) {
236
- if (sceneKey === sceneDictionary[key].tag) {
237
- setCurrentSceneIndex(index);
238
- break;
239
- }
240
- index++;
241
- }
242
- };
243
-
244
- /**
245
- * Removes the last N scenes from the history stack
246
- */
247
- const popHistoryByN = (n: number) => {
248
- setSceneHistory((prevHistory) => {
249
- const newHistory = [...prevHistory];
250
- newHistory.splice(newHistory.length - n, n);
251
-
252
- // Find the index of the last scene in the dictionary
253
- if (newHistory.length > 0) {
254
- const lastSceneTag = newHistory[newHistory.length - 1];
255
- let index = 0;
256
- for (const key in sceneDictionary) {
257
- if (lastSceneTag === sceneDictionary[key].tag) {
258
- setCurrentSceneIndex(index);
259
- break;
260
- }
261
- index++;
262
- }
263
- }
264
-
265
- return newHistory;
266
- });
267
- };
268
-
269
- /**
270
- * Pushes a scene and reference it with the given key if provided.
271
- */
272
- const push = (param1?: any, param2?: any) => {
273
- let sceneKey: string | undefined = undefined;
274
- let scene: any = undefined;
275
-
276
- if (typeof param1 === "string") {
277
- sceneKey = param1;
278
- scene = param2;
279
- } else {
280
- scene = param1;
281
- }
282
-
283
- if (scene === undefined && sceneKey === undefined) {
284
- console.log(
285
- "ERROR: pushing requires either the scene tag, or both the tag and scene."
286
- );
287
- return;
288
- } else if (
289
- scene === undefined &&
290
- sceneKey !== undefined &&
291
- !(sceneKey in sceneDictionary)
292
- ) {
293
- console.log(
294
- "ERROR: Cannot push with a new sceneKey with no associated scene."
295
- );
296
- return;
297
- }
298
-
299
- if (
300
- sceneKey === undefined ||
301
- (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
302
- ) {
303
- sceneKey = getRandomTag();
304
- }
305
-
306
- incrementSceneReference(scene, sceneKey, false);
307
- addToHistory(sceneKey);
308
- };
309
-
310
- /**
311
- * Replace the top scene in the stack with the given scene.
312
- */
313
- const replace = (param1?: any, param2?: any) => {
314
- let sceneKey: string | undefined = undefined;
315
- let scene: any = undefined;
316
-
317
- if (typeof param1 === "string") {
318
- sceneKey = param1;
319
- scene = param2;
320
- } else {
321
- scene = param1;
322
- }
323
-
324
- if (scene === undefined && sceneKey === undefined) {
325
- console.log(
326
- "ERROR: replacing requires either the scene tag, or both the tag and scene."
327
- );
328
- return;
329
- } else if (
330
- scene === undefined &&
331
- sceneKey !== undefined &&
332
- !(sceneKey in sceneDictionary)
333
- ) {
334
- console.log(
335
- "ERROR: Cannot replace with a new sceneKey with no associated scene."
336
- );
337
- return;
338
- }
339
-
340
- if (
341
- sceneKey === undefined ||
342
- (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
343
- ) {
344
- sceneKey = getRandomTag();
345
- }
346
-
347
- // Pop 1 off the scene history, then push this scene
348
- decrementReferenceForLastNScenes(1);
349
- popHistoryByN(1);
350
- incrementSceneReference(scene, sceneKey, false);
351
- addToHistory(sceneKey);
352
- };
353
-
354
- /**
355
- * Jumps to a given scene that had been previously pushed.
356
- */
357
- const jump = (param1?: any, param2?: any) => {
358
- let sceneKey: string | undefined = undefined;
359
- let scene: any = undefined;
360
-
361
- if (typeof param1 === "string") {
362
- sceneKey = param1;
363
- scene = param2;
364
- } else {
365
- scene = param1;
366
- }
367
-
368
- if (scene === undefined && sceneKey === undefined) {
369
- console.log(
370
- "ERROR: jumping requires either the scene tag, or both the tag and scene."
371
- );
372
- return;
373
- } else if (
374
- scene === undefined &&
375
- sceneKey !== undefined &&
376
- !(sceneKey in sceneDictionary)
377
- ) {
378
- console.log(
379
- "ERROR: Cannot jump with a new sceneKey with no associated scene."
380
- );
381
- return;
382
- }
383
-
384
- if (
385
- sceneKey === undefined ||
386
- (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
387
- ) {
388
- sceneKey = getRandomTag();
389
- }
390
-
391
- incrementSceneReference(scene, sceneKey, true);
392
- reorderHistory(sceneKey);
393
- };
394
-
395
- /**
396
- * Pops the current scene from the stack
397
- */
398
- const pop = () => {
399
- popN(1);
400
- };
401
-
402
- /**
403
- * Pops N scenes from the stack
404
- */
405
- const popN = (n: number) => {
406
- if (n === 0) {
407
- return;
408
- }
409
-
410
- if (sceneHistory.length - n <= 0) {
411
- console.log(
412
- "WARN: Attempted to pop the root scene in ViroSceneNavigator!"
413
- );
414
- return;
415
- }
416
-
417
- decrementReferenceForLastNScenes(n);
418
- popHistoryByN(n);
419
- };
420
-
421
- /**
422
- * Recenter the tracking
423
- */
424
- const recenterTracking = () => {
425
- const nativeViro = getNativeViro();
426
- if (nativeViro && navigatorRef.current) {
427
- nativeViro.recenterTracking(navigatorRef.current);
428
- }
429
- };
430
-
431
- /**
432
- * Project a 3D point to screen space
433
- */
434
- const project = async (point: Viro3DPoint) => {
435
- const nativeViro = getNativeViro();
436
- if (nativeViro && navigatorRef.current) {
437
- return await nativeViro.project(navigatorRef.current, point);
438
- }
439
- return null;
440
- };
441
-
442
- /**
443
- * Unproject a screen point to 3D space
444
- */
445
- const unproject = async (point: Viro3DPoint) => {
446
- const nativeViro = getNativeViro();
447
- if (nativeViro && navigatorRef.current) {
448
- return await nativeViro.unproject(navigatorRef.current, point);
449
- }
450
- return null;
451
- };
452
-
453
- // Create the sceneNavigator object to pass to scenes
454
- const sceneNavigator = {
455
- push,
456
- pop,
457
- popN,
458
- jump,
459
- replace,
460
- recenterTracking,
461
- project,
462
- unproject,
463
- viroAppProps: viroAppProps || {},
464
- };
465
-
466
- // Render the scenes
467
- const renderScenes = () => {
468
- const views = [];
469
- let i = 0;
470
-
471
- for (const key in sceneDictionary) {
472
- const sceneInfo = sceneDictionary[key];
473
- const Component = sceneInfo.sceneClass.scene;
474
- const passProps = sceneInfo.sceneClass.passProps || {};
475
-
476
- views.push(
477
- <Component
478
- key={`scene${i}`}
479
- sceneNavigator={sceneNavigator}
480
- {...passProps}
481
- />
482
- );
483
- i++;
484
- }
485
-
486
- return views;
487
- };
488
-
489
- // Render the navigator
490
- return (
491
- <View style={[styles.container, style]} {...rest}>
492
- {renderScenes()}
493
- </View>
494
- );
495
- }
496
-
497
- const styles = StyleSheet.create({
498
- container: {
499
- flex: 1,
500
- justifyContent: "center",
501
- alignItems: "center",
502
- },
503
- });
@@ -1,105 +0,0 @@
1
- /**
2
- * ViroARCamera
3
- *
4
- * A component for controlling the camera in an AR scene.
5
- */
6
-
7
- import React from "react";
8
- import {
9
- ViroCommonProps,
10
- useViroNode,
11
- convertCommonProps,
12
- ViroContextProvider,
13
- useViroEventListeners,
14
- } from "./ViroUtils";
15
- import { getNativeViro } from "./ViroGlobal";
16
-
17
- // Custom type for transform update event
18
- export type ViroARCameraTransformUpdateEvent = {
19
- position: [number, number, number];
20
- rotation: [number, number, number];
21
- forward: [number, number, number];
22
- up: [number, number, number];
23
- };
24
-
25
- // Custom type for tracking state update event
26
- export type ViroARTrackingStateEvent = {
27
- state: "NORMAL" | "LIMITED" | "NOT_AVAILABLE";
28
- reason?:
29
- | "NONE"
30
- | "INITIALIZING"
31
- | "EXCESSIVE_MOTION"
32
- | "INSUFFICIENT_FEATURES";
33
- };
34
-
35
- export interface ViroARCameraProps
36
- extends Omit<ViroCommonProps, "onTransformUpdate"> {
37
- // Camera properties
38
- active?: boolean;
39
-
40
- // Events with specific types
41
- onTransformUpdate?: (event: ViroARCameraTransformUpdateEvent) => void;
42
- onTrackingUpdated?: (event: ViroARTrackingStateEvent) => void;
43
-
44
- // Children components
45
- children?: React.ReactNode;
46
- }
47
-
48
- /**
49
- * ViroARCamera is a component for controlling the camera in an AR scene.
50
- * It provides information about the camera's position and orientation in the real world,
51
- * as well as tracking state updates.
52
- */
53
- export const ViroARCamera: React.FC<ViroARCameraProps> = (props) => {
54
- // Convert common props to the format expected by the native code
55
- const nativeProps = {
56
- ...convertCommonProps(props),
57
- active: props.active,
58
- };
59
-
60
- // Create the node (parent will be determined by context)
61
- const nodeId = useViroNode("arCamera", nativeProps);
62
-
63
- // Register event handlers
64
- React.useEffect(() => {
65
- const nativeViro = getNativeViro();
66
- if (!nativeViro) return;
67
-
68
- const eventHandlers = [
69
- { name: "onTransformUpdate", handler: props.onTransformUpdate },
70
- { name: "onTrackingUpdated", handler: props.onTrackingUpdated },
71
- ];
72
-
73
- // Register all event handlers and store callback IDs for cleanup
74
- const registeredCallbacks = eventHandlers
75
- .filter(({ handler }) => !!handler)
76
- .map(({ name, handler }) => {
77
- const callbackId = `${nodeId}_${name}`;
78
-
79
- // Register the callback in the global registry
80
- if (typeof global !== "undefined" && global.registerViroEventCallback) {
81
- global.registerViroEventCallback(callbackId, handler);
82
- }
83
-
84
- // Register with native code
85
- nativeViro.registerEventCallback(nodeId, name, callbackId);
86
- return { name, callbackId };
87
- });
88
-
89
- // Cleanup when unmounting
90
- return () => {
91
- const nativeViro = getNativeViro();
92
- if (!nativeViro) return;
93
-
94
- // Unregister all event handlers
95
- registeredCallbacks.forEach(({ name, callbackId }) => {
96
- nativeViro.unregisterEventCallback(nodeId, name, callbackId);
97
- });
98
- };
99
- }, [nodeId, props.onTransformUpdate, props.onTrackingUpdated]);
100
-
101
- // Render children with this AR camera as their parent
102
- return (
103
- <ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
104
- );
105
- };
@@ -1,98 +0,0 @@
1
- /**
2
- * ViroARImageMarker
3
- *
4
- * A component for detecting and tracking images in the real world.
5
- */
6
-
7
- import React from "react";
8
- import {
9
- ViroCommonProps,
10
- useViroNode,
11
- convertCommonProps,
12
- ViroContextProvider,
13
- useViroEventListeners,
14
- } from "./ViroUtils";
15
- import { getNativeViro } from "./ViroGlobal";
16
-
17
- export interface ViroARImageMarkerProps extends ViroCommonProps {
18
- // Image marker properties
19
- target: string;
20
-
21
- // Visual properties
22
- visible?: boolean;
23
- opacity?: number;
24
-
25
- // Events
26
- onAnchorFound?: () => void;
27
- onAnchorUpdated?: () => void;
28
- onAnchorRemoved?: () => void;
29
-
30
- // Children components
31
- children?: React.ReactNode;
32
- }
33
-
34
- /**
35
- * ViroARImageMarker is a component for detecting and tracking images in the real world.
36
- * It allows you to attach virtual content to real-world images, such as posters, book covers, or logos.
37
- */
38
- export const ViroARImageMarker: React.FC<ViroARImageMarkerProps> = (props) => {
39
- // Convert common props to the format expected by the native code
40
- const nativeProps = {
41
- ...convertCommonProps(props),
42
- target: props.target,
43
- visible: props.visible,
44
- opacity: props.opacity,
45
- };
46
-
47
- // Create the node (parent will be determined by context)
48
- const nodeId = useViroNode("arImageMarker", nativeProps);
49
-
50
- // Register event handlers
51
- React.useEffect(() => {
52
- const nativeViro = getNativeViro();
53
- if (!nativeViro) return;
54
-
55
- const eventHandlers = [
56
- { name: "onAnchorFound", handler: props.onAnchorFound },
57
- { name: "onAnchorUpdated", handler: props.onAnchorUpdated },
58
- { name: "onAnchorRemoved", handler: props.onAnchorRemoved },
59
- ];
60
-
61
- // Register all event handlers and store callback IDs for cleanup
62
- const registeredCallbacks = eventHandlers
63
- .filter(({ handler }) => !!handler)
64
- .map(({ name, handler }) => {
65
- const callbackId = `${nodeId}_${name}`;
66
-
67
- // Register the callback in the global registry
68
- if (typeof global !== "undefined" && global.registerViroEventCallback) {
69
- global.registerViroEventCallback(callbackId, handler);
70
- }
71
-
72
- // Register with native code
73
- nativeViro.registerEventCallback(nodeId, name, callbackId);
74
- return { name, callbackId };
75
- });
76
-
77
- // Cleanup when unmounting
78
- return () => {
79
- const nativeViro = getNativeViro();
80
- if (!nativeViro) return;
81
-
82
- // Unregister all event handlers
83
- registeredCallbacks.forEach(({ name, callbackId }) => {
84
- nativeViro.unregisterEventCallback(nodeId, name, callbackId);
85
- });
86
- };
87
- }, [
88
- nodeId,
89
- props.onAnchorFound,
90
- props.onAnchorUpdated,
91
- props.onAnchorRemoved,
92
- ]);
93
-
94
- // Render children with this AR image marker as their parent
95
- return (
96
- <ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
97
- );
98
- };