@reactvision/react-viro 2.43.1 → 2.43.4

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 (501) hide show
  1. package/README.md +14 -11
  2. package/android/react_viro/react_viro-release.aar +0 -0
  3. package/android/viro_renderer/viro_renderer-release.aar +0 -0
  4. package/components/AR/ViroARPlaneSelector.tsx +1 -1
  5. package/components/AR/ViroARSceneNavigator.tsx +16 -17
  6. package/components/Utilities/ViroVersion.ts +1 -1
  7. package/components/ViroVRSceneNavigator.tsx +1 -1
  8. package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
  9. package/dist/components/AR/ViroARSceneNavigator.d.ts +9 -9
  10. package/dist/components/AR/ViroARSceneNavigator.js +11 -11
  11. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  12. package/dist/components/Utilities/ViroVersion.js +1 -1
  13. package/dist/components/ViroVRSceneNavigator.d.ts +1 -1
  14. package/dist/dynamic-index.js +2 -2
  15. package/dist/plugins/withViroAndroid.js +20 -60
  16. package/ios/ViroReact.podspec +7 -9
  17. package/ios/dist/ViroRenderer/ViroKit.framework/Headers/VROBodyMesher.h +1 -0
  18. package/ios/dist/ViroRenderer/ViroKit.framework/Headers/VROVideoTextureCache.h +1 -0
  19. package/ios/dist/ViroRenderer/ViroKit.framework/Headers/ViroKit.h +11 -0
  20. package/ios/dist/ViroRenderer/ViroKit.framework/Info.plist +0 -0
  21. package/ios/dist/ViroRenderer/ViroKit.framework/ViroKit +0 -0
  22. package/ios/dist/ViroRenderer/ViroKit.framework/bodymesh.mlmodelc/metadata.json +14 -11
  23. package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1.mlmodelc/metadata.json +12 -9
  24. package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1_ds_t.mlmodelc/metadata.json +12 -9
  25. package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1_t.mlmodelc/metadata.json +12 -9
  26. package/ios/dist/ViroRenderer/ViroKit.podspec +4 -4
  27. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/VROBodyMesher.h +1 -0
  28. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/VROVideoTextureCache.h +1 -0
  29. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/ViroKit.h +11 -0
  30. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Info.plist +0 -0
  31. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/ViroKit +0 -0
  32. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/bodymesh.mlmodelc/metadata.json +14 -11
  33. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1.mlmodelc/metadata.json +12 -9
  34. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1_ds_t.mlmodelc/metadata.json +12 -9
  35. package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1_t.mlmodelc/metadata.json +12 -9
  36. package/ios/dist/armv7_arm64/libViroReact.a +0 -0
  37. package/ios/dist/include/VRTFabricCrashFix.h +16 -0
  38. package/ios/dist/lib/libViroReact.a +0 -0
  39. package/package.json +13 -20
  40. package/dist/components/Telemetry/ViroTelemetry.d.ts +0 -16
  41. package/dist/components/Telemetry/ViroTelemetry.js +0 -87
  42. package/dist/components/Telemetry/index.d.ts +0 -16
  43. package/dist/components/Telemetry/index.js +0 -97
  44. package/dist/examples/AutoDetectionExample.d.ts +0 -10
  45. package/dist/examples/AutoDetectionExample.js +0 -91
  46. package/dist/fabric-interop/NativeViro.d.ts +0 -42
  47. package/dist/fabric-interop/NativeViro.js +0 -262
  48. package/dist/fabric-interop/ViroEventsManager.d.ts +0 -83
  49. package/dist/fabric-interop/ViroEventsManager.js +0 -222
  50. package/dist/fabric-interop/ViroFabricContainer.d.ts +0 -34
  51. package/dist/fabric-interop/ViroFabricContainer.js +0 -200
  52. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +0 -35
  53. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +0 -20
  54. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +0 -22
  55. package/dist/fabric-interop/components/AR/ViroARPlane.js +0 -95
  56. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +0 -43
  57. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +0 -152
  58. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +0 -55
  59. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +0 -85
  60. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +0 -91
  61. package/dist/fabric-interop/components/AR/ViroCommonProps.js +0 -7
  62. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +0 -48
  63. package/dist/fabric-interop/components/Animation/ViroAnimations.js +0 -64
  64. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +0 -66
  65. package/dist/fabric-interop/components/Material/ViroMaterials.js +0 -85
  66. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +0 -202
  67. package/dist/fabric-interop/components/Types/ViroEvents.js +0 -53
  68. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +0 -137
  69. package/dist/fabric-interop/components/Types/ViroUtils.js +0 -7
  70. package/dist/fabric-interop/components/Viro360Image.d.ts +0 -23
  71. package/dist/fabric-interop/components/Viro360Image.js +0 -45
  72. package/dist/fabric-interop/components/Viro360Video.d.ts +0 -29
  73. package/dist/fabric-interop/components/Viro360Video.js +0 -47
  74. package/dist/fabric-interop/components/Viro3DObject.d.ts +0 -60
  75. package/dist/fabric-interop/components/Viro3DObject.js +0 -49
  76. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +0 -49
  77. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +0 -388
  78. package/dist/fabric-interop/components/ViroARCamera.d.ts +0 -29
  79. package/dist/fabric-interop/components/ViroARCamera.js +0 -64
  80. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +0 -21
  81. package/dist/fabric-interop/components/ViroARImageMarker.js +0 -71
  82. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +0 -21
  83. package/dist/fabric-interop/components/ViroARObjectMarker.js +0 -71
  84. package/dist/fabric-interop/components/ViroARPlane.d.ts +0 -24
  85. package/dist/fabric-interop/components/ViroARPlane.js +0 -88
  86. package/dist/fabric-interop/components/ViroARScene.d.ts +0 -29
  87. package/dist/fabric-interop/components/ViroARScene.js +0 -89
  88. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +0 -29
  89. package/dist/fabric-interop/components/ViroARSceneNavigator.js +0 -76
  90. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +0 -19
  91. package/dist/fabric-interop/components/ViroAmbientLight.js +0 -46
  92. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +0 -24
  93. package/dist/fabric-interop/components/ViroAnimatedComponent.js +0 -63
  94. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +0 -28
  95. package/dist/fabric-interop/components/ViroAnimatedImage.js +0 -49
  96. package/dist/fabric-interop/components/ViroBox.d.ts +0 -20
  97. package/dist/fabric-interop/components/ViroBox.js +0 -47
  98. package/dist/fabric-interop/components/ViroButton.d.ts +0 -32
  99. package/dist/fabric-interop/components/ViroButton.js +0 -92
  100. package/dist/fabric-interop/components/ViroCamera.d.ts +0 -17
  101. package/dist/fabric-interop/components/ViroCamera.js +0 -30
  102. package/dist/fabric-interop/components/ViroController.d.ts +0 -19
  103. package/dist/fabric-interop/components/ViroController.js +0 -64
  104. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +0 -28
  105. package/dist/fabric-interop/components/ViroDirectionalLight.js +0 -55
  106. package/dist/fabric-interop/components/ViroFlexView.d.ts +0 -36
  107. package/dist/fabric-interop/components/ViroFlexView.js +0 -97
  108. package/dist/fabric-interop/components/ViroGeometry.d.ts +0 -23
  109. package/dist/fabric-interop/components/ViroGeometry.js +0 -50
  110. package/dist/fabric-interop/components/ViroGlobal.d.ts +0 -45
  111. package/dist/fabric-interop/components/ViroGlobal.js +0 -20
  112. package/dist/fabric-interop/components/ViroImage.d.ts +0 -29
  113. package/dist/fabric-interop/components/ViroImage.js +0 -52
  114. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +0 -19
  115. package/dist/fabric-interop/components/ViroLightingEnvironment.js +0 -44
  116. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +0 -30
  117. package/dist/fabric-interop/components/ViroMaterialVideo.js +0 -48
  118. package/dist/fabric-interop/components/ViroNode.d.ts +0 -36
  119. package/dist/fabric-interop/components/ViroNode.js +0 -28
  120. package/dist/fabric-interop/components/ViroOmniLight.d.ts +0 -21
  121. package/dist/fabric-interop/components/ViroOmniLight.js +0 -48
  122. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +0 -17
  123. package/dist/fabric-interop/components/ViroOrbitCamera.js +0 -30
  124. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +0 -51
  125. package/dist/fabric-interop/components/ViroParticleEmitter.js +0 -50
  126. package/dist/fabric-interop/components/ViroPolygon.d.ts +0 -20
  127. package/dist/fabric-interop/components/ViroPolygon.js +0 -47
  128. package/dist/fabric-interop/components/ViroPolyline.d.ts +0 -19
  129. package/dist/fabric-interop/components/ViroPolyline.js +0 -46
  130. package/dist/fabric-interop/components/ViroPortal.d.ts +0 -16
  131. package/dist/fabric-interop/components/ViroPortal.js +0 -73
  132. package/dist/fabric-interop/components/ViroPortalScene.d.ts +0 -16
  133. package/dist/fabric-interop/components/ViroPortalScene.js +0 -29
  134. package/dist/fabric-interop/components/ViroQuad.d.ts +0 -39
  135. package/dist/fabric-interop/components/ViroQuad.js +0 -49
  136. package/dist/fabric-interop/components/ViroScene.d.ts +0 -29
  137. package/dist/fabric-interop/components/ViroScene.js +0 -103
  138. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +0 -23
  139. package/dist/fabric-interop/components/ViroSceneNavigator.js +0 -73
  140. package/dist/fabric-interop/components/ViroSkyBox.d.ts +0 -39
  141. package/dist/fabric-interop/components/ViroSkyBox.js +0 -44
  142. package/dist/fabric-interop/components/ViroSound.d.ts +0 -23
  143. package/dist/fabric-interop/components/ViroSound.js +0 -46
  144. package/dist/fabric-interop/components/ViroSoundField.d.ts +0 -24
  145. package/dist/fabric-interop/components/ViroSoundField.js +0 -47
  146. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +0 -27
  147. package/dist/fabric-interop/components/ViroSpatialSound.js +0 -50
  148. package/dist/fabric-interop/components/ViroSphere.d.ts +0 -22
  149. package/dist/fabric-interop/components/ViroSphere.js +0 -49
  150. package/dist/fabric-interop/components/ViroSpinner.d.ts +0 -18
  151. package/dist/fabric-interop/components/ViroSpinner.js +0 -45
  152. package/dist/fabric-interop/components/ViroSpotLight.d.ts +0 -30
  153. package/dist/fabric-interop/components/ViroSpotLight.js +0 -57
  154. package/dist/fabric-interop/components/ViroSurface.d.ts +0 -38
  155. package/dist/fabric-interop/components/ViroSurface.js +0 -48
  156. package/dist/fabric-interop/components/ViroText.d.ts +0 -36
  157. package/dist/fabric-interop/components/ViroText.js +0 -59
  158. package/dist/fabric-interop/components/ViroUtils.d.ts +0 -63
  159. package/dist/fabric-interop/components/ViroUtils.js +0 -140
  160. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +0 -25
  161. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +0 -73
  162. package/dist/fabric-interop/components/ViroVideo.d.ts +0 -32
  163. package/dist/fabric-interop/components/ViroVideo.js +0 -52
  164. package/dist/fabric-interop/components/index.d.ts +0 -62
  165. package/dist/fabric-interop/components/index.js +0 -144
  166. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +0 -11
  167. package/dist/fabric-interop/examples/BasicSceneExample.js +0 -244
  168. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +0 -13
  169. package/dist/fabric-interop/examples/ComprehensiveExample.js +0 -327
  170. package/dist/fabric-interop/examples/SimpleARExample.d.ts +0 -8
  171. package/dist/fabric-interop/examples/SimpleARExample.js +0 -62
  172. package/dist/fabric-interop/index.d.ts +0 -14
  173. package/dist/fabric-interop/index.js +0 -117
  174. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +0 -19
  175. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +0 -11
  176. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +0 -9
  177. package/dist/fabric-interop/test/BasicFunctionalityTest.js +0 -222
  178. package/dist/fabric.d.ts +0 -13
  179. package/dist/fabric.js +0 -29
  180. package/dynamic-index-source.d.ts +0 -77
  181. package/dynamic-index.ts +0 -41
  182. package/fabric-interop/NativeViro.ts +0 -335
  183. package/fabric-interop/README.md +0 -282
  184. package/fabric-interop/ViroEventsManager.js +0 -257
  185. package/fabric-interop/ViroFabricContainer.tsx +0 -273
  186. package/fabric-interop/components/AR/ViroARPlane.tsx +0 -108
  187. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +0 -185
  188. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +0 -108
  189. package/fabric-interop/components/AR/ViroCommonProps.ts +0 -140
  190. package/fabric-interop/components/Animation/ViroAnimations.ts +0 -96
  191. package/fabric-interop/components/Material/ViroMaterials.ts +0 -127
  192. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  193. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  194. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  195. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  196. package/fabric-interop/components/Types/ViroEvents.ts +0 -285
  197. package/fabric-interop/components/Types/ViroUtils.ts +0 -160
  198. package/fabric-interop/components/Viro360Image.tsx +0 -70
  199. package/fabric-interop/components/Viro360Video.tsx +0 -78
  200. package/fabric-interop/components/Viro3DObject.tsx +0 -122
  201. package/fabric-interop/components/Viro3DSceneNavigator.tsx +0 -503
  202. package/fabric-interop/components/ViroARCamera.tsx +0 -105
  203. package/fabric-interop/components/ViroARImageMarker.tsx +0 -98
  204. package/fabric-interop/components/ViroARObjectMarker.tsx +0 -100
  205. package/fabric-interop/components/ViroARPlane.tsx +0 -120
  206. package/fabric-interop/components/ViroARScene.tsx +0 -127
  207. package/fabric-interop/components/ViroARSceneNavigator.tsx +0 -82
  208. package/fabric-interop/components/ViroAmbientLight.tsx +0 -62
  209. package/fabric-interop/components/ViroAnimatedComponent.tsx +0 -91
  210. package/fabric-interop/components/ViroAnimatedImage.tsx +0 -81
  211. package/fabric-interop/components/ViroBox.tsx +0 -72
  212. package/fabric-interop/components/ViroButton.tsx +0 -125
  213. package/fabric-interop/components/ViroCamera.tsx +0 -45
  214. package/fabric-interop/components/ViroController.tsx +0 -87
  215. package/fabric-interop/components/ViroDirectionalLight.tsx +0 -84
  216. package/fabric-interop/components/ViroFlexView.tsx +0 -146
  217. package/fabric-interop/components/ViroGeometry.tsx +0 -78
  218. package/fabric-interop/components/ViroGlobal.ts +0 -114
  219. package/fabric-interop/components/ViroImage.tsx +0 -85
  220. package/fabric-interop/components/ViroLightingEnvironment.tsx +0 -63
  221. package/fabric-interop/components/ViroMaterialVideo.tsx +0 -82
  222. package/fabric-interop/components/ViroNode.tsx +0 -62
  223. package/fabric-interop/components/ViroOmniLight.tsx +0 -66
  224. package/fabric-interop/components/ViroOrbitCamera.tsx +0 -45
  225. package/fabric-interop/components/ViroParticleEmitter.tsx +0 -111
  226. package/fabric-interop/components/ViroPolygon.tsx +0 -72
  227. package/fabric-interop/components/ViroPolyline.tsx +0 -71
  228. package/fabric-interop/components/ViroPortal.tsx +0 -91
  229. package/fabric-interop/components/ViroPortalScene.tsx +0 -43
  230. package/fabric-interop/components/ViroQuad.tsx +0 -82
  231. package/fabric-interop/components/ViroScene.tsx +0 -117
  232. package/fabric-interop/components/ViroSceneNavigator.tsx +0 -71
  233. package/fabric-interop/components/ViroSkyBox.tsx +0 -75
  234. package/fabric-interop/components/ViroSound.tsx +0 -71
  235. package/fabric-interop/components/ViroSoundField.tsx +0 -75
  236. package/fabric-interop/components/ViroSpatialSound.tsx +0 -81
  237. package/fabric-interop/components/ViroSphere.tsx +0 -75
  238. package/fabric-interop/components/ViroSpinner.tsx +0 -63
  239. package/fabric-interop/components/ViroSpotLight.tsx +0 -86
  240. package/fabric-interop/components/ViroSurface.tsx +0 -80
  241. package/fabric-interop/components/ViroText.tsx +0 -114
  242. package/fabric-interop/components/ViroUtils.ts +0 -208
  243. package/fabric-interop/components/ViroVRSceneNavigator.tsx +0 -75
  244. package/fabric-interop/components/ViroVideo.tsx +0 -91
  245. package/fabric-interop/components/index.ts +0 -94
  246. package/fabric-interop/dist/NativeViro.d.ts +0 -43
  247. package/fabric-interop/dist/NativeViro.d.ts.map +0 -1
  248. package/fabric-interop/dist/NativeViro.js +0 -263
  249. package/fabric-interop/dist/NativeViro.js.map +0 -1
  250. package/fabric-interop/dist/ViroFabricContainer.d.ts +0 -35
  251. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +0 -1
  252. package/fabric-interop/dist/ViroFabricContainer.js +0 -201
  253. package/fabric-interop/dist/ViroFabricContainer.js.map +0 -1
  254. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +0 -23
  255. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +0 -1
  256. package/fabric-interop/dist/components/AR/ViroARPlane.js +0 -96
  257. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +0 -1
  258. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +0 -44
  259. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +0 -1
  260. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +0 -156
  261. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +0 -1
  262. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +0 -56
  263. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +0 -1
  264. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +0 -86
  265. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +0 -1
  266. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +0 -92
  267. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +0 -1
  268. package/fabric-interop/dist/components/AR/ViroCommonProps.js +0 -8
  269. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +0 -1
  270. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +0 -49
  271. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +0 -1
  272. package/fabric-interop/dist/components/Animation/ViroAnimations.js +0 -65
  273. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +0 -1
  274. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +0 -67
  275. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +0 -1
  276. package/fabric-interop/dist/components/Material/ViroMaterials.js +0 -86
  277. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +0 -1
  278. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +0 -203
  279. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +0 -1
  280. package/fabric-interop/dist/components/Types/ViroEvents.js +0 -54
  281. package/fabric-interop/dist/components/Types/ViroEvents.js.map +0 -1
  282. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +0 -138
  283. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +0 -1
  284. package/fabric-interop/dist/components/Types/ViroUtils.js +0 -8
  285. package/fabric-interop/dist/components/Types/ViroUtils.js.map +0 -1
  286. package/fabric-interop/dist/components/Viro360Image.d.ts +0 -24
  287. package/fabric-interop/dist/components/Viro360Image.d.ts.map +0 -1
  288. package/fabric-interop/dist/components/Viro360Image.js +0 -47
  289. package/fabric-interop/dist/components/Viro360Image.js.map +0 -1
  290. package/fabric-interop/dist/components/Viro360Video.d.ts +0 -30
  291. package/fabric-interop/dist/components/Viro360Video.d.ts.map +0 -1
  292. package/fabric-interop/dist/components/Viro360Video.js +0 -49
  293. package/fabric-interop/dist/components/Viro360Video.js.map +0 -1
  294. package/fabric-interop/dist/components/Viro3DObject.d.ts +0 -61
  295. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +0 -1
  296. package/fabric-interop/dist/components/Viro3DObject.js +0 -51
  297. package/fabric-interop/dist/components/Viro3DObject.js.map +0 -1
  298. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +0 -50
  299. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +0 -1
  300. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +0 -389
  301. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +0 -1
  302. package/fabric-interop/dist/components/ViroARCamera.d.ts +0 -30
  303. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +0 -1
  304. package/fabric-interop/dist/components/ViroARCamera.js +0 -65
  305. package/fabric-interop/dist/components/ViroARCamera.js.map +0 -1
  306. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +0 -22
  307. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +0 -1
  308. package/fabric-interop/dist/components/ViroARImageMarker.js +0 -72
  309. package/fabric-interop/dist/components/ViroARImageMarker.js.map +0 -1
  310. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +0 -22
  311. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +0 -1
  312. package/fabric-interop/dist/components/ViroARObjectMarker.js +0 -72
  313. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +0 -1
  314. package/fabric-interop/dist/components/ViroARPlane.d.ts +0 -25
  315. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +0 -1
  316. package/fabric-interop/dist/components/ViroARPlane.js +0 -89
  317. package/fabric-interop/dist/components/ViroARPlane.js.map +0 -1
  318. package/fabric-interop/dist/components/ViroARScene.d.ts +0 -30
  319. package/fabric-interop/dist/components/ViroARScene.d.ts.map +0 -1
  320. package/fabric-interop/dist/components/ViroARScene.js +0 -90
  321. package/fabric-interop/dist/components/ViroARScene.js.map +0 -1
  322. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +0 -30
  323. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +0 -1
  324. package/fabric-interop/dist/components/ViroARSceneNavigator.js +0 -78
  325. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +0 -1
  326. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +0 -20
  327. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +0 -1
  328. package/fabric-interop/dist/components/ViroAmbientLight.js +0 -48
  329. package/fabric-interop/dist/components/ViroAmbientLight.js.map +0 -1
  330. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +0 -25
  331. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +0 -1
  332. package/fabric-interop/dist/components/ViroAnimatedComponent.js +0 -65
  333. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +0 -1
  334. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +0 -29
  335. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +0 -1
  336. package/fabric-interop/dist/components/ViroAnimatedImage.js +0 -51
  337. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +0 -1
  338. package/fabric-interop/dist/components/ViroBox.d.ts +0 -21
  339. package/fabric-interop/dist/components/ViroBox.d.ts.map +0 -1
  340. package/fabric-interop/dist/components/ViroBox.js +0 -49
  341. package/fabric-interop/dist/components/ViroBox.js.map +0 -1
  342. package/fabric-interop/dist/components/ViroButton.d.ts +0 -33
  343. package/fabric-interop/dist/components/ViroButton.d.ts.map +0 -1
  344. package/fabric-interop/dist/components/ViroButton.js +0 -94
  345. package/fabric-interop/dist/components/ViroButton.js.map +0 -1
  346. package/fabric-interop/dist/components/ViroCamera.d.ts +0 -18
  347. package/fabric-interop/dist/components/ViroCamera.d.ts.map +0 -1
  348. package/fabric-interop/dist/components/ViroCamera.js +0 -31
  349. package/fabric-interop/dist/components/ViroCamera.js.map +0 -1
  350. package/fabric-interop/dist/components/ViroController.d.ts +0 -20
  351. package/fabric-interop/dist/components/ViroController.d.ts.map +0 -1
  352. package/fabric-interop/dist/components/ViroController.js +0 -65
  353. package/fabric-interop/dist/components/ViroController.js.map +0 -1
  354. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +0 -29
  355. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +0 -1
  356. package/fabric-interop/dist/components/ViroDirectionalLight.js +0 -57
  357. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +0 -1
  358. package/fabric-interop/dist/components/ViroFlexView.d.ts +0 -37
  359. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +0 -1
  360. package/fabric-interop/dist/components/ViroFlexView.js +0 -98
  361. package/fabric-interop/dist/components/ViroFlexView.js.map +0 -1
  362. package/fabric-interop/dist/components/ViroGeometry.d.ts +0 -24
  363. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +0 -1
  364. package/fabric-interop/dist/components/ViroGeometry.js +0 -52
  365. package/fabric-interop/dist/components/ViroGeometry.js.map +0 -1
  366. package/fabric-interop/dist/components/ViroGlobal.d.ts +0 -46
  367. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +0 -1
  368. package/fabric-interop/dist/components/ViroGlobal.js +0 -21
  369. package/fabric-interop/dist/components/ViroGlobal.js.map +0 -1
  370. package/fabric-interop/dist/components/ViroImage.d.ts +0 -30
  371. package/fabric-interop/dist/components/ViroImage.d.ts.map +0 -1
  372. package/fabric-interop/dist/components/ViroImage.js +0 -54
  373. package/fabric-interop/dist/components/ViroImage.js.map +0 -1
  374. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +0 -20
  375. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +0 -1
  376. package/fabric-interop/dist/components/ViroLightingEnvironment.js +0 -46
  377. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +0 -1
  378. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +0 -31
  379. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +0 -1
  380. package/fabric-interop/dist/components/ViroMaterialVideo.js +0 -50
  381. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +0 -1
  382. package/fabric-interop/dist/components/ViroNode.d.ts +0 -37
  383. package/fabric-interop/dist/components/ViroNode.d.ts.map +0 -1
  384. package/fabric-interop/dist/components/ViroNode.js +0 -29
  385. package/fabric-interop/dist/components/ViroNode.js.map +0 -1
  386. package/fabric-interop/dist/components/ViroOmniLight.d.ts +0 -22
  387. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +0 -1
  388. package/fabric-interop/dist/components/ViroOmniLight.js +0 -50
  389. package/fabric-interop/dist/components/ViroOmniLight.js.map +0 -1
  390. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +0 -18
  391. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +0 -1
  392. package/fabric-interop/dist/components/ViroOrbitCamera.js +0 -31
  393. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +0 -1
  394. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +0 -52
  395. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +0 -1
  396. package/fabric-interop/dist/components/ViroParticleEmitter.js +0 -52
  397. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +0 -1
  398. package/fabric-interop/dist/components/ViroPolygon.d.ts +0 -21
  399. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +0 -1
  400. package/fabric-interop/dist/components/ViroPolygon.js +0 -49
  401. package/fabric-interop/dist/components/ViroPolygon.js.map +0 -1
  402. package/fabric-interop/dist/components/ViroPolyline.d.ts +0 -20
  403. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +0 -1
  404. package/fabric-interop/dist/components/ViroPolyline.js +0 -48
  405. package/fabric-interop/dist/components/ViroPolyline.js.map +0 -1
  406. package/fabric-interop/dist/components/ViroPortal.d.ts +0 -17
  407. package/fabric-interop/dist/components/ViroPortal.d.ts.map +0 -1
  408. package/fabric-interop/dist/components/ViroPortal.js +0 -74
  409. package/fabric-interop/dist/components/ViroPortal.js.map +0 -1
  410. package/fabric-interop/dist/components/ViroPortalScene.d.ts +0 -17
  411. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +0 -1
  412. package/fabric-interop/dist/components/ViroPortalScene.js +0 -30
  413. package/fabric-interop/dist/components/ViroPortalScene.js.map +0 -1
  414. package/fabric-interop/dist/components/ViroQuad.d.ts +0 -40
  415. package/fabric-interop/dist/components/ViroQuad.d.ts.map +0 -1
  416. package/fabric-interop/dist/components/ViroQuad.js +0 -51
  417. package/fabric-interop/dist/components/ViroQuad.js.map +0 -1
  418. package/fabric-interop/dist/components/ViroScene.d.ts +0 -30
  419. package/fabric-interop/dist/components/ViroScene.d.ts.map +0 -1
  420. package/fabric-interop/dist/components/ViroScene.js +0 -105
  421. package/fabric-interop/dist/components/ViroScene.js.map +0 -1
  422. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +0 -24
  423. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +0 -1
  424. package/fabric-interop/dist/components/ViroSceneNavigator.js +0 -74
  425. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +0 -1
  426. package/fabric-interop/dist/components/ViroSkyBox.d.ts +0 -40
  427. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +0 -1
  428. package/fabric-interop/dist/components/ViroSkyBox.js +0 -46
  429. package/fabric-interop/dist/components/ViroSkyBox.js.map +0 -1
  430. package/fabric-interop/dist/components/ViroSound.d.ts +0 -24
  431. package/fabric-interop/dist/components/ViroSound.d.ts.map +0 -1
  432. package/fabric-interop/dist/components/ViroSound.js +0 -48
  433. package/fabric-interop/dist/components/ViroSound.js.map +0 -1
  434. package/fabric-interop/dist/components/ViroSoundField.d.ts +0 -25
  435. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +0 -1
  436. package/fabric-interop/dist/components/ViroSoundField.js +0 -49
  437. package/fabric-interop/dist/components/ViroSoundField.js.map +0 -1
  438. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +0 -28
  439. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +0 -1
  440. package/fabric-interop/dist/components/ViroSpatialSound.js +0 -52
  441. package/fabric-interop/dist/components/ViroSpatialSound.js.map +0 -1
  442. package/fabric-interop/dist/components/ViroSphere.d.ts +0 -23
  443. package/fabric-interop/dist/components/ViroSphere.d.ts.map +0 -1
  444. package/fabric-interop/dist/components/ViroSphere.js +0 -51
  445. package/fabric-interop/dist/components/ViroSphere.js.map +0 -1
  446. package/fabric-interop/dist/components/ViroSpinner.d.ts +0 -19
  447. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +0 -1
  448. package/fabric-interop/dist/components/ViroSpinner.js +0 -47
  449. package/fabric-interop/dist/components/ViroSpinner.js.map +0 -1
  450. package/fabric-interop/dist/components/ViroSpotLight.d.ts +0 -31
  451. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +0 -1
  452. package/fabric-interop/dist/components/ViroSpotLight.js +0 -59
  453. package/fabric-interop/dist/components/ViroSpotLight.js.map +0 -1
  454. package/fabric-interop/dist/components/ViroSurface.d.ts +0 -39
  455. package/fabric-interop/dist/components/ViroSurface.d.ts.map +0 -1
  456. package/fabric-interop/dist/components/ViroSurface.js +0 -50
  457. package/fabric-interop/dist/components/ViroSurface.js.map +0 -1
  458. package/fabric-interop/dist/components/ViroText.d.ts +0 -37
  459. package/fabric-interop/dist/components/ViroText.d.ts.map +0 -1
  460. package/fabric-interop/dist/components/ViroText.js +0 -61
  461. package/fabric-interop/dist/components/ViroText.js.map +0 -1
  462. package/fabric-interop/dist/components/ViroUtils.d.ts +0 -64
  463. package/fabric-interop/dist/components/ViroUtils.d.ts.map +0 -1
  464. package/fabric-interop/dist/components/ViroUtils.js +0 -141
  465. package/fabric-interop/dist/components/ViroUtils.js.map +0 -1
  466. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +0 -26
  467. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +0 -1
  468. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +0 -74
  469. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +0 -1
  470. package/fabric-interop/dist/components/ViroVideo.d.ts +0 -33
  471. package/fabric-interop/dist/components/ViroVideo.d.ts.map +0 -1
  472. package/fabric-interop/dist/components/ViroVideo.js +0 -54
  473. package/fabric-interop/dist/components/ViroVideo.js.map +0 -1
  474. package/fabric-interop/dist/components/index.d.ts +0 -63
  475. package/fabric-interop/dist/components/index.d.ts.map +0 -1
  476. package/fabric-interop/dist/components/index.js +0 -145
  477. package/fabric-interop/dist/components/index.js.map +0 -1
  478. package/fabric-interop/dist/index.d.ts +0 -15
  479. package/fabric-interop/dist/index.d.ts.map +0 -1
  480. package/fabric-interop/dist/index.js +0 -118
  481. package/fabric-interop/dist/index.js.map +0 -1
  482. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +0 -20
  483. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +0 -1
  484. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +0 -12
  485. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +0 -1
  486. package/fabric-interop/examples/BasicSceneExample.tsx +0 -287
  487. package/fabric-interop/examples/ComprehensiveExample.tsx +0 -441
  488. package/fabric-interop/examples/SimpleARExample.tsx +0 -95
  489. package/fabric-interop/global.d.ts +0 -14
  490. package/fabric-interop/index.ts +0 -107
  491. package/fabric-interop/metro.config.js +0 -12
  492. package/fabric-interop/package.json +0 -40
  493. package/fabric-interop/react-native.config.js +0 -22
  494. package/fabric-interop/scripts/validate-build.js +0 -393
  495. package/fabric-interop/scripts/validate-implementation.js +0 -272
  496. package/fabric-interop/specs/README.md +0 -22
  497. package/fabric-interop/specs/ViroEventsTurboModule.ts +0 -27
  498. package/fabric-interop/test/BasicFunctionalityTest.tsx +0 -243
  499. package/fabric-interop/tsconfig.json +0 -38
  500. package/fabric.d.ts +0 -5
  501. package/fabric.ts +0 -14
@@ -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
- };