@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,335 +0,0 @@
1
- /**
2
- * NativeViro - JSI Bridge Functions
3
- *
4
- * This module provides direct JSI functions to communicate with the native Viro implementation.
5
- * These functions bypass the React Native bridge and codegen, providing direct access to
6
- * the existing native implementation.
7
- */
8
-
9
- // Type definitions for props and events
10
- export type ViroNodeProps = Record<string, any>;
11
- export type ViroNodeType =
12
- | "box"
13
- | "sphere"
14
- | "text"
15
- | "image"
16
- | "animatedImage"
17
- | "animatedComponent"
18
- | "object"
19
- | "scene"
20
- | "arScene"
21
- | "camera"
22
- | "arCamera"
23
- | "orbitCamera"
24
- | "light"
25
- | "ambientLight"
26
- | "directionalLight"
27
- | "spotLight"
28
- | "omniLight"
29
- | "sound"
30
- | "soundField"
31
- | "spatialSound"
32
- | "video"
33
- | "materialVideo"
34
- | "portal"
35
- | "portalScene"
36
- | "plane"
37
- | "arPlane"
38
- | "arImageMarker"
39
- | "arObjectMarker"
40
- | "quad"
41
- | "polygon"
42
- | "polyline"
43
- | "geometry"
44
- | "particle"
45
- | "flexView"
46
- | "surface"
47
- | "360Image"
48
- | "360Video"
49
- | "skyBox"
50
- | "lightingEnvironment"
51
- | "button"
52
- | "controller"
53
- | "node";
54
-
55
- export type ViroEventCallback = (event: any) => void;
56
-
57
- // The global NativeViro object is injected by the native code
58
- // Note: The type declaration is in the generated .d.ts file
59
- // We don't redeclare it here to avoid conflicts
60
-
61
- // Additional methods that may not be in the type declaration
62
- // These are accessed using type assertions in the components
63
- // - recenterTracking(nodeId: string): void
64
- // - project(nodeId: string, point: [number, number, number]): Promise<[number, number, number]>
65
- // - unproject(nodeId: string, point: [number, number, number]): Promise<[number, number, number]>
66
-
67
- // Event callback registry
68
- const eventCallbacks: Record<string, ViroEventCallback> = {};
69
-
70
- // Generate a unique ID for nodes
71
- let nextNodeId = 1;
72
- export const generateNodeId = (): string => `viro_node_${nextNodeId++}`;
73
-
74
- // Generate a unique ID for callbacks
75
- let nextCallbackId = 1;
76
- export const generateCallbackId = (): string =>
77
- `viro_callback_${nextCallbackId++}`;
78
-
79
- // Event handler that receives events from native code
80
- export function handleViroEvent(callbackId: string, event: any): void {
81
- const callback = eventCallbacks[callbackId];
82
- if (callback) {
83
- callback(event);
84
- } else {
85
- console.warn(`No callback found for ID: ${callbackId}`);
86
- }
87
- }
88
-
89
- // Set up the global event handler
90
- if (typeof global !== "undefined") {
91
- // @ts-ignore - This property will be added by the native code
92
- global.handleViroEvent = handleViroEvent;
93
- }
94
-
95
- import { getNativeViro, isNativeViroAvailable } from "./components/ViroGlobal";
96
-
97
- // Register a JS callback for native events
98
- export function registerEventListener(
99
- nodeId: string,
100
- eventName: string,
101
- callback: ViroEventCallback
102
- ): string {
103
- const callbackId = generateCallbackId();
104
- eventCallbacks[callbackId] = callback;
105
-
106
- // Register with native code
107
- const nativeViro = getNativeViro();
108
- if (nativeViro) {
109
- nativeViro.registerEventCallback(nodeId, eventName, callbackId);
110
- }
111
-
112
- return callbackId;
113
- }
114
-
115
- // Unregister a callback
116
- export function unregisterEventListener(
117
- nodeId: string,
118
- eventName: string,
119
- callbackId: string
120
- ): void {
121
- delete eventCallbacks[callbackId];
122
-
123
- // Unregister with native code
124
- const nativeViro = getNativeViro();
125
- if (nativeViro) {
126
- nativeViro.unregisterEventCallback(nodeId, eventName, callbackId);
127
- }
128
- }
129
-
130
- // Initialize the Viro platform
131
- export function initializeViro(config?: {
132
- debug?: boolean;
133
- arEnabled?: boolean;
134
- worldAlignment?: string;
135
- }): Promise<boolean> {
136
- const nativeViro = getNativeViro();
137
- if (nativeViro) {
138
- return nativeViro.initialize(config);
139
- }
140
- return Promise.reject(new Error("NativeViro not available"));
141
- }
142
-
143
- // Scene Management Functions
144
- export function createScene(
145
- sceneId: string,
146
- sceneType: string,
147
- props: ViroNodeProps = {}
148
- ): void {
149
- const nativeViro = getNativeViro();
150
- if (nativeViro && nativeViro.createViroScene) {
151
- nativeViro.createViroScene(sceneId, sceneType, props);
152
- } else {
153
- console.warn("Scene management not available - createScene");
154
- }
155
- }
156
-
157
- export function activateScene(sceneId: string): void {
158
- const nativeViro = getNativeViro();
159
- if (nativeViro && nativeViro.activateViroScene) {
160
- nativeViro.activateViroScene(sceneId);
161
- } else {
162
- console.warn("Scene management not available - activateScene");
163
- }
164
- }
165
-
166
- export function deactivateScene(sceneId: string): void {
167
- const nativeViro = getNativeViro();
168
- if (nativeViro && nativeViro.deactivateViroScene) {
169
- nativeViro.deactivateViroScene(sceneId);
170
- } else {
171
- console.warn("Scene management not available - deactivateScene");
172
- }
173
- }
174
-
175
- export function destroyScene(sceneId: string): void {
176
- const nativeViro = getNativeViro();
177
- if (nativeViro && nativeViro.destroyViroScene) {
178
- nativeViro.destroyViroScene(sceneId);
179
- } else {
180
- console.warn("Scene management not available - destroyScene");
181
- }
182
- }
183
-
184
- export function getSceneState(sceneId: string): string | null {
185
- const nativeViro = getNativeViro();
186
- if (nativeViro && nativeViro.getViroSceneState) {
187
- return nativeViro.getViroSceneState(sceneId);
188
- }
189
- return null;
190
- }
191
-
192
- export function getMemoryStats(): Record<string, any> | null {
193
- const nativeViro = getNativeViro();
194
- if (nativeViro && nativeViro.getViroMemoryStats) {
195
- return nativeViro.getViroMemoryStats();
196
- }
197
- return null;
198
- }
199
-
200
- export function performMemoryCleanup(): void {
201
- const nativeViro = getNativeViro();
202
- if (nativeViro && nativeViro.performViroMemoryCleanup) {
203
- nativeViro.performViroMemoryCleanup();
204
- } else {
205
- console.warn("Memory management not available - performMemoryCleanup");
206
- }
207
- }
208
-
209
- // Node Management Functions (enhanced)
210
- export function createNode(
211
- nodeId: string,
212
- nodeType: ViroNodeType,
213
- props: ViroNodeProps = {}
214
- ): void {
215
- const nativeViro = getNativeViro();
216
- if (nativeViro) {
217
- nativeViro.createViroNode(nodeId, nodeType, props);
218
- } else {
219
- console.warn("NativeViro not available - createNode");
220
- }
221
- }
222
-
223
- export function updateNode(nodeId: string, props: ViroNodeProps): void {
224
- const nativeViro = getNativeViro();
225
- if (nativeViro) {
226
- nativeViro.updateViroNode(nodeId, props);
227
- } else {
228
- console.warn("NativeViro not available - updateNode");
229
- }
230
- }
231
-
232
- export function deleteNode(nodeId: string): void {
233
- const nativeViro = getNativeViro();
234
- if (nativeViro) {
235
- nativeViro.deleteViroNode(nodeId);
236
- } else {
237
- console.warn("NativeViro not available - deleteNode");
238
- }
239
- }
240
-
241
- export function addChild(parentId: string, childId: string): void {
242
- const nativeViro = getNativeViro();
243
- if (nativeViro) {
244
- nativeViro.addViroNodeChild(parentId, childId);
245
- } else {
246
- console.warn("NativeViro not available - addChild");
247
- }
248
- }
249
-
250
- export function removeChild(parentId: string, childId: string): void {
251
- const nativeViro = getNativeViro();
252
- if (nativeViro) {
253
- nativeViro.removeViroNodeChild(parentId, childId);
254
- } else {
255
- console.warn("NativeViro not available - removeChild");
256
- }
257
- }
258
-
259
- // Material Management Functions (enhanced)
260
- export function createMaterial(
261
- materialName: string,
262
- properties: Record<string, any>
263
- ): void {
264
- const nativeViro = getNativeViro();
265
- if (nativeViro) {
266
- nativeViro.createViroMaterial(materialName, properties);
267
- } else {
268
- console.warn("NativeViro not available - createMaterial");
269
- }
270
- }
271
-
272
- export function updateMaterial(
273
- materialName: string,
274
- properties: Record<string, any>
275
- ): void {
276
- const nativeViro = getNativeViro();
277
- if (nativeViro) {
278
- nativeViro.updateViroMaterial(materialName, properties);
279
- } else {
280
- console.warn("NativeViro not available - updateMaterial");
281
- }
282
- }
283
-
284
- // Animation Management Functions (enhanced)
285
- export function createAnimation(
286
- animationName: string,
287
- properties: Record<string, any>
288
- ): void {
289
- const nativeViro = getNativeViro();
290
- if (nativeViro) {
291
- nativeViro.createViroAnimation(animationName, properties);
292
- } else {
293
- console.warn("NativeViro not available - createAnimation");
294
- }
295
- }
296
-
297
- export function executeAnimation(
298
- nodeId: string,
299
- animationName: string,
300
- options: Record<string, any> = {}
301
- ): void {
302
- const nativeViro = getNativeViro();
303
- if (nativeViro) {
304
- nativeViro.executeViroAnimation(nodeId, animationName, options);
305
- } else {
306
- console.warn("NativeViro not available - executeAnimation");
307
- }
308
- }
309
-
310
- // AR Configuration Functions (enhanced)
311
- export function setARPlaneDetection(config: {
312
- enabled?: boolean;
313
- alignment?: string;
314
- }): void {
315
- const nativeViro = getNativeViro();
316
- if (nativeViro) {
317
- nativeViro.setViroARPlaneDetection(config);
318
- } else {
319
- console.warn("NativeViro not available - setARPlaneDetection");
320
- }
321
- }
322
-
323
- export function setARImageTargets(targets: Record<string, any>): void {
324
- const nativeViro = getNativeViro();
325
- if (nativeViro) {
326
- nativeViro.setViroARImageTargets(targets);
327
- } else {
328
- console.warn("NativeViro not available - setARImageTargets");
329
- }
330
- }
331
-
332
- // Check if the JSI interface is available
333
- export function isViroJSIAvailable(): boolean {
334
- return isNativeViroAvailable();
335
- }
@@ -1,282 +0,0 @@
1
- # ViroReact Fabric Interop Layer
2
-
3
- This directory contains the **New Architecture (Fabric) interop layer** for ViroReact. As of version 2.43.1, ViroReact **requires React Native New Architecture** to be enabled.
4
-
5
- ## 🚀 **New Architecture Required**
6
-
7
- **IMPORTANT:** This library only works with React Native's New Architecture (Fabric). Legacy architecture support has been removed.
8
-
9
- ### **Minimum Requirements:**
10
-
11
- - **React Native 0.76.9+**
12
- - **New Architecture enabled** (`newArchEnabled=true`)
13
- - **Fabric UI Manager** available at runtime
14
-
15
- ## 📦 **What's Included**
16
-
17
- ### **JavaScript Layer**
18
-
19
- - **`NativeViro.ts`** - JSI bridge functions for direct native communication
20
- - **`ViroGlobal.ts`** - Type-safe access to the global NativeViro object
21
- - **`ViroFabricContainer.tsx`** - Main container component for Fabric
22
- - **`components/`** - All 42+ ViroReact components updated for New Architecture
23
-
24
- ### **Native iOS Implementation**
25
-
26
- - **`ViroFabricJSI.h/.mm`** - JSI bridge implementation
27
- - **`ViroFabricContainer.mm`** - iOS Fabric container
28
- - **`ViroFabricSceneManager.mm`** - Scene lifecycle management
29
- - **`ViroFabricManager.mm`** - Event handling system
30
- - **`ViroFabric.podspec`** - CocoaPods specification
31
-
32
- ### **Native Android Implementation**
33
-
34
- - **`ViroFabricContainerJSI.cpp`** - JSI bridge with JNI
35
- - **`ViroFabricContainer.java`** - Android Fabric container
36
- - **`ViroFabricSceneManager.java`** - Scene lifecycle management
37
- - **`build.gradle`** - Android build configuration
38
- - **`CMakeLists.txt`** - C++ build configuration
39
-
40
- ## 🔧 **Setup Instructions**
41
-
42
- ### **1. Enable New Architecture**
43
-
44
- #### **Android:**
45
-
46
- Add to `android/gradle.properties`:
47
-
48
- ```properties
49
- newArchEnabled=true
50
- ```
51
-
52
- #### **iOS:**
53
-
54
- Add to `ios/.xcode.env`:
55
-
56
- ```bash
57
- export RCT_NEW_ARCH_ENABLED=1
58
- ```
59
-
60
- **For Firebase or Static Library Integration:**
61
-
62
- See the [Static Library Integration Guide](./STATIC_LIBRARY_INTEGRATION.md) for detailed Podfile configuration when using Firebase or encountering folly header issues.
63
-
64
- ### **2. Install Dependencies**
65
-
66
- ```bash
67
- npm install @reactvision/react-viro
68
- cd ios && pod install
69
- ```
70
-
71
- **Note:** If you encounter folly header issues or need Firebase compatibility, see the [Static Library Integration Guide](./STATIC_LIBRARY_INTEGRATION.md) for the recommended static library approach.
72
-
73
- ### **3. Usage**
74
-
75
- ```typescript
76
- import { ViroARScene, ViroBox } from '@reactvision/react-viro';
77
-
78
- // Components automatically use the Fabric implementation
79
- function MyARScene() {
80
- return (
81
- <ViroARScene>
82
- <ViroBox position={[0, 0, -1]} />
83
- </ViroARScene>
84
- );
85
- }
86
- ```
87
-
88
- ## 🏗️ **Architecture Overview**
89
-
90
- ### **Component Flow:**
91
-
92
- ```
93
- React Component → ViroFabricContainer → JSI Bridge → Native ViroReact
94
- ```
95
-
96
- ### **Event Flow:**
97
-
98
- ```
99
- Native Event → JSI Callback → JavaScript Handler → React Component
100
- ```
101
-
102
- ### **Memory Management:**
103
-
104
- - Automatic cleanup on component unmount
105
- - Scene lifecycle management
106
- - Memory monitoring and optimization
107
-
108
- ## 🔍 **Key Features**
109
-
110
- ### **✅ Performance Benefits**
111
-
112
- - **Direct JSI communication** - No bridge serialization overhead
113
- - **Individual property updates** - Only changed properties are sent
114
- - **Optimized rendering** - Fabric's concurrent rendering support
115
-
116
- ### **✅ Developer Experience**
117
-
118
- - **Zero breaking changes** - Existing ViroReact code works unchanged
119
- - **Enhanced debugging** - Better error messages and logging
120
- - **Type safety** - Complete TypeScript support
121
-
122
- ### **✅ Future-Proof**
123
-
124
- - **New Architecture first** - Aligned with React Native's direction
125
- - **Fabric optimized** - Built specifically for the new renderer
126
- - **Maintainable** - Single implementation path
127
-
128
- ## 📋 **Component Support**
129
-
130
- All ViroReact components are supported:
131
-
132
- ### **Basic Components**
133
-
134
- - ViroNode, ViroScene, ViroARScene, ViroFlexView
135
-
136
- ### **3D Primitives**
137
-
138
- - ViroBox, ViroSphere, Viro3DObject, ViroGeometry, ViroQuad, ViroPolygon, ViroPolyline, ViroSurface
139
-
140
- ### **2D Components**
141
-
142
- - ViroText, ViroImage, ViroVideo, ViroAnimatedImage
143
-
144
- ### **360 Components**
145
-
146
- - Viro360Image, Viro360Video, ViroSkyBox
147
-
148
- ### **Lighting**
149
-
150
- - ViroAmbientLight, ViroDirectionalLight, ViroSpotLight, ViroOmniLight, ViroLightingEnvironment
151
-
152
- ### **Audio**
153
-
154
- - ViroSound, ViroSoundField, ViroSpatialSound
155
-
156
- ### **Interactive**
157
-
158
- - ViroButton, ViroController, ViroSpinner
159
-
160
- ### **Effects**
161
-
162
- - ViroParticleEmitter, ViroAnimatedComponent, ViroMaterialVideo
163
-
164
- ### **Scene Navigators**
165
-
166
- - ViroSceneNavigator, ViroVRSceneNavigator, ViroARSceneNavigator, Viro3DSceneNavigator
167
-
168
- ### **AR Components**
169
-
170
- - ViroARCamera, ViroARPlane, ViroARPlaneSelector, ViroARImageMarker, ViroARObjectMarker
171
-
172
- ## 🛠️ **Build Configuration**
173
-
174
- ### **Package.json Integration**
175
-
176
- The main package now points directly to fabric-interop:
177
-
178
- ```json
179
- {
180
- "main": "fabric-interop/dist/index.js",
181
- "types": "fabric-interop/dist/index.d.ts"
182
- }
183
- ```
184
-
185
- ### **Expo Plugin Support**
186
-
187
- The Expo plugin automatically:
188
-
189
- - Validates New Architecture is enabled
190
- - Configures native dependencies
191
- - Sets up proper build flags
192
-
193
- ### **Metro Configuration**
194
-
195
- No special Metro configuration required - the fabric-interop layer is automatically used.
196
-
197
- ## 🔧 **Troubleshooting**
198
-
199
- ### **"folly/folly-config.h file not found" Error**
200
-
201
- **Solution:** Use the static library approach for better compatibility:
202
-
203
- 1. See the [Static Library Integration Guide](./STATIC_LIBRARY_INTEGRATION.md)
204
- 2. Configure your Podfile with `use_frameworks! :linkage => :static`
205
- 3. The ViroFabric pod is now configured as a static library by default
206
-
207
- ### **Firebase Integration Issues**
208
-
209
- **Solution:** The static library approach resolves Firebase compatibility:
210
-
211
- 1. Follow the [Static Library Integration Guide](./STATIC_LIBRARY_INTEGRATION.md)
212
- 2. Add `$RNFirebaseAsStaticFramework = true` to your Podfile
213
- 3. Use `use_frameworks! :linkage => :static`
214
-
215
- ### **"New Architecture not detected" Error**
216
-
217
- **Solution:** Ensure New Architecture is properly enabled:
218
-
219
- 1. Check `android/gradle.properties` has `newArchEnabled=true`
220
- 2. Check `ios/.xcode.env` has `export RCT_NEW_ARCH_ENABLED=1`
221
- 3. Clean and rebuild your project
222
-
223
- ### **"ViroFabricContainerView not available" Error**
224
-
225
- **Solution:** The native module wasn't properly linked:
226
-
227
- 1. Run `cd ios && pod install`
228
- 2. For Android, ensure the module is in `settings.gradle`
229
- 3. Clean and rebuild
230
-
231
- ### **JSI Functions Not Available**
232
-
233
- **Solution:** The JSI bridge wasn't initialized:
234
-
235
- 1. Ensure ViroFabricContainer is rendered
236
- 2. Check that New Architecture is actually enabled
237
- 3. Verify React Native version is 0.76.9+
238
-
239
- ## 📚 **API Reference**
240
-
241
- ### **Core Functions**
242
-
243
- - `createNode(nodeId, nodeType, props)` - Create a new Viro node
244
- - `updateNode(nodeId, props)` - Update node properties
245
- - `deleteNode(nodeId)` - Remove a node
246
- - `addChild(parentId, childId)` - Add child to parent
247
- - `removeChild(parentId, childId)` - Remove child from parent
248
-
249
- ### **Scene Management**
250
-
251
- - `createScene(sceneId, sceneType, props)` - Create a new scene
252
- - `activateScene(sceneId)` - Activate a scene
253
- - `destroyScene(sceneId)` - Destroy a scene
254
- - `getSceneState(sceneId)` - Get scene state
255
-
256
- ### **Event Handling**
257
-
258
- - `registerEventListener(nodeId, eventName, callback)` - Register event handler
259
- - `unregisterEventListener(nodeId, eventName, callbackId)` - Remove event handler
260
-
261
- ### **Memory Management**
262
-
263
- - `getMemoryStats()` - Get current memory usage
264
- - `performMemoryCleanup()` - Force memory cleanup
265
-
266
- ## 🤝 **Contributing**
267
-
268
- When contributing to the fabric-interop layer:
269
-
270
- 1. **Test both platforms** - Ensure changes work on iOS and Android
271
- 2. **Maintain API compatibility** - Don't break existing ViroReact code
272
- 3. **Update documentation** - Keep this README current
273
- 4. **Add TypeScript types** - Ensure type safety
274
- 5. **Test memory management** - Verify no leaks are introduced
275
-
276
- ## 📄 **License**
277
-
278
- MIT License - see the main project LICENSE file.
279
-
280
- ---
281
-
282
- **ViroReact Fabric Interop** - Bringing ViroReact into the New Architecture era! 🚀