@reactvision/react-viro 2.42.0 → 2.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/README.md +12 -6
  2. package/android/react_viro/react_viro-release.aar +0 -0
  3. package/components/AR/ViroARPlaneSelector.tsx +76 -37
  4. package/components/Utilities/ViroVersion.ts +1 -1
  5. package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
  6. package/dist/components/AR/ViroARPlaneSelector.js +46 -18
  7. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  8. package/dist/components/Utilities/ViroVersion.js +1 -1
  9. package/dist/dynamic-index.d.ts +11 -0
  10. package/dist/dynamic-index.js +28 -0
  11. package/dist/examples/AutoDetectionExample.d.ts +10 -0
  12. package/dist/examples/AutoDetectionExample.js +91 -0
  13. package/dist/fabric-interop/NativeViro.d.ts +42 -0
  14. package/dist/fabric-interop/NativeViro.js +262 -0
  15. package/dist/fabric-interop/ViroEventsManager.d.ts +83 -0
  16. package/dist/fabric-interop/ViroEventsManager.js +222 -0
  17. package/dist/fabric-interop/ViroFabricContainer.d.ts +34 -0
  18. package/dist/fabric-interop/ViroFabricContainer.js +200 -0
  19. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +35 -0
  20. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +20 -0
  21. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +22 -0
  22. package/dist/fabric-interop/components/AR/ViroARPlane.js +95 -0
  23. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +43 -0
  24. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +152 -0
  25. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +55 -0
  26. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +85 -0
  27. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +91 -0
  28. package/dist/fabric-interop/components/AR/ViroCommonProps.js +7 -0
  29. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +48 -0
  30. package/dist/fabric-interop/components/Animation/ViroAnimations.js +64 -0
  31. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +66 -0
  32. package/dist/fabric-interop/components/Material/ViroMaterials.js +85 -0
  33. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +202 -0
  34. package/dist/fabric-interop/components/Types/ViroEvents.js +53 -0
  35. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +137 -0
  36. package/dist/fabric-interop/components/Types/ViroUtils.js +7 -0
  37. package/dist/fabric-interop/components/Viro360Image.d.ts +23 -0
  38. package/dist/fabric-interop/components/Viro360Image.js +45 -0
  39. package/dist/fabric-interop/components/Viro360Video.d.ts +29 -0
  40. package/dist/fabric-interop/components/Viro360Video.js +47 -0
  41. package/dist/fabric-interop/components/Viro3DObject.d.ts +60 -0
  42. package/dist/fabric-interop/components/Viro3DObject.js +49 -0
  43. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +49 -0
  44. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +388 -0
  45. package/dist/fabric-interop/components/ViroARCamera.d.ts +29 -0
  46. package/dist/fabric-interop/components/ViroARCamera.js +64 -0
  47. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +21 -0
  48. package/dist/fabric-interop/components/ViroARImageMarker.js +71 -0
  49. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +21 -0
  50. package/dist/fabric-interop/components/ViroARObjectMarker.js +71 -0
  51. package/dist/fabric-interop/components/ViroARPlane.d.ts +24 -0
  52. package/dist/fabric-interop/components/ViroARPlane.js +88 -0
  53. package/dist/fabric-interop/components/ViroARScene.d.ts +29 -0
  54. package/dist/fabric-interop/components/ViroARScene.js +89 -0
  55. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +29 -0
  56. package/dist/fabric-interop/components/ViroARSceneNavigator.js +76 -0
  57. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +19 -0
  58. package/dist/fabric-interop/components/ViroAmbientLight.js +46 -0
  59. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +24 -0
  60. package/dist/fabric-interop/components/ViroAnimatedComponent.js +63 -0
  61. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +28 -0
  62. package/dist/fabric-interop/components/ViroAnimatedImage.js +49 -0
  63. package/dist/fabric-interop/components/ViroBox.d.ts +20 -0
  64. package/dist/fabric-interop/components/ViroBox.js +47 -0
  65. package/dist/fabric-interop/components/ViroButton.d.ts +32 -0
  66. package/dist/fabric-interop/components/ViroButton.js +92 -0
  67. package/dist/fabric-interop/components/ViroCamera.d.ts +17 -0
  68. package/dist/fabric-interop/components/ViroCamera.js +30 -0
  69. package/dist/fabric-interop/components/ViroController.d.ts +19 -0
  70. package/dist/fabric-interop/components/ViroController.js +64 -0
  71. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +28 -0
  72. package/dist/fabric-interop/components/ViroDirectionalLight.js +55 -0
  73. package/dist/fabric-interop/components/ViroFlexView.d.ts +36 -0
  74. package/dist/fabric-interop/components/ViroFlexView.js +97 -0
  75. package/dist/fabric-interop/components/ViroGeometry.d.ts +23 -0
  76. package/dist/fabric-interop/components/ViroGeometry.js +50 -0
  77. package/dist/fabric-interop/components/ViroGlobal.d.ts +45 -0
  78. package/dist/fabric-interop/components/ViroGlobal.js +20 -0
  79. package/dist/fabric-interop/components/ViroImage.d.ts +29 -0
  80. package/dist/fabric-interop/components/ViroImage.js +52 -0
  81. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +19 -0
  82. package/dist/fabric-interop/components/ViroLightingEnvironment.js +44 -0
  83. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +30 -0
  84. package/dist/fabric-interop/components/ViroMaterialVideo.js +48 -0
  85. package/dist/fabric-interop/components/ViroNode.d.ts +36 -0
  86. package/dist/fabric-interop/components/ViroNode.js +28 -0
  87. package/dist/fabric-interop/components/ViroOmniLight.d.ts +21 -0
  88. package/dist/fabric-interop/components/ViroOmniLight.js +48 -0
  89. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +17 -0
  90. package/dist/fabric-interop/components/ViroOrbitCamera.js +30 -0
  91. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +51 -0
  92. package/dist/fabric-interop/components/ViroParticleEmitter.js +50 -0
  93. package/dist/fabric-interop/components/ViroPolygon.d.ts +20 -0
  94. package/dist/fabric-interop/components/ViroPolygon.js +47 -0
  95. package/dist/fabric-interop/components/ViroPolyline.d.ts +19 -0
  96. package/dist/fabric-interop/components/ViroPolyline.js +46 -0
  97. package/dist/fabric-interop/components/ViroPortal.d.ts +16 -0
  98. package/dist/fabric-interop/components/ViroPortal.js +73 -0
  99. package/dist/fabric-interop/components/ViroPortalScene.d.ts +16 -0
  100. package/dist/fabric-interop/components/ViroPortalScene.js +29 -0
  101. package/dist/fabric-interop/components/ViroQuad.d.ts +39 -0
  102. package/dist/fabric-interop/components/ViroQuad.js +49 -0
  103. package/dist/fabric-interop/components/ViroScene.d.ts +29 -0
  104. package/dist/fabric-interop/components/ViroScene.js +103 -0
  105. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +23 -0
  106. package/dist/fabric-interop/components/ViroSceneNavigator.js +73 -0
  107. package/dist/fabric-interop/components/ViroSkyBox.d.ts +39 -0
  108. package/dist/fabric-interop/components/ViroSkyBox.js +44 -0
  109. package/dist/fabric-interop/components/ViroSound.d.ts +23 -0
  110. package/dist/fabric-interop/components/ViroSound.js +46 -0
  111. package/dist/fabric-interop/components/ViroSoundField.d.ts +24 -0
  112. package/dist/fabric-interop/components/ViroSoundField.js +47 -0
  113. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +27 -0
  114. package/dist/fabric-interop/components/ViroSpatialSound.js +50 -0
  115. package/dist/fabric-interop/components/ViroSphere.d.ts +22 -0
  116. package/dist/fabric-interop/components/ViroSphere.js +49 -0
  117. package/dist/fabric-interop/components/ViroSpinner.d.ts +18 -0
  118. package/dist/fabric-interop/components/ViroSpinner.js +45 -0
  119. package/dist/fabric-interop/components/ViroSpotLight.d.ts +30 -0
  120. package/dist/fabric-interop/components/ViroSpotLight.js +57 -0
  121. package/dist/fabric-interop/components/ViroSurface.d.ts +38 -0
  122. package/dist/fabric-interop/components/ViroSurface.js +48 -0
  123. package/dist/fabric-interop/components/ViroText.d.ts +36 -0
  124. package/dist/fabric-interop/components/ViroText.js +59 -0
  125. package/dist/fabric-interop/components/ViroUtils.d.ts +63 -0
  126. package/dist/fabric-interop/components/ViroUtils.js +140 -0
  127. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +25 -0
  128. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +73 -0
  129. package/dist/fabric-interop/components/ViroVideo.d.ts +32 -0
  130. package/dist/fabric-interop/components/ViroVideo.js +52 -0
  131. package/dist/fabric-interop/components/index.d.ts +62 -0
  132. package/dist/fabric-interop/components/index.js +144 -0
  133. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +11 -0
  134. package/dist/fabric-interop/examples/BasicSceneExample.js +244 -0
  135. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +13 -0
  136. package/dist/fabric-interop/examples/ComprehensiveExample.js +327 -0
  137. package/dist/fabric-interop/examples/SimpleARExample.d.ts +8 -0
  138. package/dist/fabric-interop/examples/SimpleARExample.js +62 -0
  139. package/dist/fabric-interop/index.d.ts +14 -0
  140. package/dist/fabric-interop/index.js +117 -0
  141. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +19 -0
  142. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +11 -0
  143. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +9 -0
  144. package/dist/fabric-interop/test/BasicFunctionalityTest.js +222 -0
  145. package/dist/fabric.d.ts +13 -0
  146. package/dist/fabric.js +29 -0
  147. package/dist/plugins/withViro.d.ts +3 -0
  148. package/dist/plugins/withViro.js +19 -0
  149. package/dist/plugins/withViroAndroid.js +24 -20
  150. package/dist/plugins/withViroIos.js +20 -2
  151. package/dynamic-index-source.d.ts +77 -0
  152. package/dynamic-index.ts +41 -0
  153. package/fabric-interop/NativeViro.ts +335 -0
  154. package/fabric-interop/README.md +282 -0
  155. package/fabric-interop/ViroEventsManager.js +257 -0
  156. package/fabric-interop/ViroFabricContainer.tsx +273 -0
  157. package/fabric-interop/components/AR/ViroARPlane.tsx +108 -0
  158. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +185 -0
  159. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +108 -0
  160. package/fabric-interop/components/AR/ViroCommonProps.ts +140 -0
  161. package/fabric-interop/components/Animation/ViroAnimations.ts +96 -0
  162. package/fabric-interop/components/Material/ViroMaterials.ts +127 -0
  163. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  164. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  165. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  166. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  167. package/fabric-interop/components/Types/ViroEvents.ts +285 -0
  168. package/fabric-interop/components/Types/ViroUtils.ts +160 -0
  169. package/fabric-interop/components/Viro360Image.tsx +70 -0
  170. package/fabric-interop/components/Viro360Video.tsx +78 -0
  171. package/fabric-interop/components/Viro3DObject.tsx +122 -0
  172. package/fabric-interop/components/Viro3DSceneNavigator.tsx +503 -0
  173. package/fabric-interop/components/ViroARCamera.tsx +105 -0
  174. package/fabric-interop/components/ViroARImageMarker.tsx +98 -0
  175. package/fabric-interop/components/ViroARObjectMarker.tsx +100 -0
  176. package/fabric-interop/components/ViroARPlane.tsx +120 -0
  177. package/fabric-interop/components/ViroARScene.tsx +127 -0
  178. package/fabric-interop/components/ViroARSceneNavigator.tsx +82 -0
  179. package/fabric-interop/components/ViroAmbientLight.tsx +62 -0
  180. package/fabric-interop/components/ViroAnimatedComponent.tsx +91 -0
  181. package/fabric-interop/components/ViroAnimatedImage.tsx +81 -0
  182. package/fabric-interop/components/ViroBox.tsx +72 -0
  183. package/fabric-interop/components/ViroButton.tsx +125 -0
  184. package/fabric-interop/components/ViroCamera.tsx +45 -0
  185. package/fabric-interop/components/ViroController.tsx +87 -0
  186. package/fabric-interop/components/ViroDirectionalLight.tsx +84 -0
  187. package/fabric-interop/components/ViroFlexView.tsx +146 -0
  188. package/fabric-interop/components/ViroGeometry.tsx +78 -0
  189. package/fabric-interop/components/ViroGlobal.ts +114 -0
  190. package/fabric-interop/components/ViroImage.tsx +85 -0
  191. package/fabric-interop/components/ViroLightingEnvironment.tsx +63 -0
  192. package/fabric-interop/components/ViroMaterialVideo.tsx +82 -0
  193. package/fabric-interop/components/ViroNode.tsx +62 -0
  194. package/fabric-interop/components/ViroOmniLight.tsx +66 -0
  195. package/fabric-interop/components/ViroOrbitCamera.tsx +45 -0
  196. package/fabric-interop/components/ViroParticleEmitter.tsx +111 -0
  197. package/fabric-interop/components/ViroPolygon.tsx +72 -0
  198. package/fabric-interop/components/ViroPolyline.tsx +71 -0
  199. package/fabric-interop/components/ViroPortal.tsx +91 -0
  200. package/fabric-interop/components/ViroPortalScene.tsx +43 -0
  201. package/fabric-interop/components/ViroQuad.tsx +82 -0
  202. package/fabric-interop/components/ViroScene.tsx +117 -0
  203. package/fabric-interop/components/ViroSceneNavigator.tsx +71 -0
  204. package/fabric-interop/components/ViroSkyBox.tsx +75 -0
  205. package/fabric-interop/components/ViroSound.tsx +71 -0
  206. package/fabric-interop/components/ViroSoundField.tsx +75 -0
  207. package/fabric-interop/components/ViroSpatialSound.tsx +81 -0
  208. package/fabric-interop/components/ViroSphere.tsx +75 -0
  209. package/fabric-interop/components/ViroSpinner.tsx +63 -0
  210. package/fabric-interop/components/ViroSpotLight.tsx +86 -0
  211. package/fabric-interop/components/ViroSurface.tsx +80 -0
  212. package/fabric-interop/components/ViroText.tsx +114 -0
  213. package/fabric-interop/components/ViroUtils.ts +208 -0
  214. package/fabric-interop/components/ViroVRSceneNavigator.tsx +75 -0
  215. package/fabric-interop/components/ViroVideo.tsx +91 -0
  216. package/fabric-interop/components/index.ts +94 -0
  217. package/fabric-interop/dist/NativeViro.d.ts +43 -0
  218. package/fabric-interop/dist/NativeViro.d.ts.map +1 -0
  219. package/fabric-interop/dist/NativeViro.js +263 -0
  220. package/fabric-interop/dist/NativeViro.js.map +1 -0
  221. package/fabric-interop/dist/ViroFabricContainer.d.ts +35 -0
  222. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +1 -0
  223. package/fabric-interop/dist/ViroFabricContainer.js +201 -0
  224. package/fabric-interop/dist/ViroFabricContainer.js.map +1 -0
  225. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +23 -0
  226. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +1 -0
  227. package/fabric-interop/dist/components/AR/ViroARPlane.js +96 -0
  228. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +1 -0
  229. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +44 -0
  230. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +1 -0
  231. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +156 -0
  232. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +1 -0
  233. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +56 -0
  234. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +1 -0
  235. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +86 -0
  236. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +1 -0
  237. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +92 -0
  238. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +1 -0
  239. package/fabric-interop/dist/components/AR/ViroCommonProps.js +8 -0
  240. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +1 -0
  241. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +49 -0
  242. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +1 -0
  243. package/fabric-interop/dist/components/Animation/ViroAnimations.js +65 -0
  244. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +1 -0
  245. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +67 -0
  246. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +1 -0
  247. package/fabric-interop/dist/components/Material/ViroMaterials.js +86 -0
  248. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +1 -0
  249. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +203 -0
  250. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +1 -0
  251. package/fabric-interop/dist/components/Types/ViroEvents.js +54 -0
  252. package/fabric-interop/dist/components/Types/ViroEvents.js.map +1 -0
  253. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +138 -0
  254. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +1 -0
  255. package/fabric-interop/dist/components/Types/ViroUtils.js +8 -0
  256. package/fabric-interop/dist/components/Types/ViroUtils.js.map +1 -0
  257. package/fabric-interop/dist/components/Viro360Image.d.ts +24 -0
  258. package/fabric-interop/dist/components/Viro360Image.d.ts.map +1 -0
  259. package/fabric-interop/dist/components/Viro360Image.js +47 -0
  260. package/fabric-interop/dist/components/Viro360Image.js.map +1 -0
  261. package/fabric-interop/dist/components/Viro360Video.d.ts +30 -0
  262. package/fabric-interop/dist/components/Viro360Video.d.ts.map +1 -0
  263. package/fabric-interop/dist/components/Viro360Video.js +49 -0
  264. package/fabric-interop/dist/components/Viro360Video.js.map +1 -0
  265. package/fabric-interop/dist/components/Viro3DObject.d.ts +61 -0
  266. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +1 -0
  267. package/fabric-interop/dist/components/Viro3DObject.js +51 -0
  268. package/fabric-interop/dist/components/Viro3DObject.js.map +1 -0
  269. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +50 -0
  270. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +1 -0
  271. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +389 -0
  272. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +1 -0
  273. package/fabric-interop/dist/components/ViroARCamera.d.ts +30 -0
  274. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +1 -0
  275. package/fabric-interop/dist/components/ViroARCamera.js +65 -0
  276. package/fabric-interop/dist/components/ViroARCamera.js.map +1 -0
  277. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +22 -0
  278. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +1 -0
  279. package/fabric-interop/dist/components/ViroARImageMarker.js +72 -0
  280. package/fabric-interop/dist/components/ViroARImageMarker.js.map +1 -0
  281. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +22 -0
  282. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +1 -0
  283. package/fabric-interop/dist/components/ViroARObjectMarker.js +72 -0
  284. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +1 -0
  285. package/fabric-interop/dist/components/ViroARPlane.d.ts +25 -0
  286. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +1 -0
  287. package/fabric-interop/dist/components/ViroARPlane.js +89 -0
  288. package/fabric-interop/dist/components/ViroARPlane.js.map +1 -0
  289. package/fabric-interop/dist/components/ViroARScene.d.ts +30 -0
  290. package/fabric-interop/dist/components/ViroARScene.d.ts.map +1 -0
  291. package/fabric-interop/dist/components/ViroARScene.js +90 -0
  292. package/fabric-interop/dist/components/ViroARScene.js.map +1 -0
  293. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +30 -0
  294. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +1 -0
  295. package/fabric-interop/dist/components/ViroARSceneNavigator.js +78 -0
  296. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +1 -0
  297. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +20 -0
  298. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +1 -0
  299. package/fabric-interop/dist/components/ViroAmbientLight.js +48 -0
  300. package/fabric-interop/dist/components/ViroAmbientLight.js.map +1 -0
  301. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +25 -0
  302. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +1 -0
  303. package/fabric-interop/dist/components/ViroAnimatedComponent.js +65 -0
  304. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +1 -0
  305. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +29 -0
  306. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +1 -0
  307. package/fabric-interop/dist/components/ViroAnimatedImage.js +51 -0
  308. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +1 -0
  309. package/fabric-interop/dist/components/ViroBox.d.ts +21 -0
  310. package/fabric-interop/dist/components/ViroBox.d.ts.map +1 -0
  311. package/fabric-interop/dist/components/ViroBox.js +49 -0
  312. package/fabric-interop/dist/components/ViroBox.js.map +1 -0
  313. package/fabric-interop/dist/components/ViroButton.d.ts +33 -0
  314. package/fabric-interop/dist/components/ViroButton.d.ts.map +1 -0
  315. package/fabric-interop/dist/components/ViroButton.js +94 -0
  316. package/fabric-interop/dist/components/ViroButton.js.map +1 -0
  317. package/fabric-interop/dist/components/ViroCamera.d.ts +18 -0
  318. package/fabric-interop/dist/components/ViroCamera.d.ts.map +1 -0
  319. package/fabric-interop/dist/components/ViroCamera.js +31 -0
  320. package/fabric-interop/dist/components/ViroCamera.js.map +1 -0
  321. package/fabric-interop/dist/components/ViroController.d.ts +20 -0
  322. package/fabric-interop/dist/components/ViroController.d.ts.map +1 -0
  323. package/fabric-interop/dist/components/ViroController.js +65 -0
  324. package/fabric-interop/dist/components/ViroController.js.map +1 -0
  325. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +29 -0
  326. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +1 -0
  327. package/fabric-interop/dist/components/ViroDirectionalLight.js +57 -0
  328. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +1 -0
  329. package/fabric-interop/dist/components/ViroFlexView.d.ts +37 -0
  330. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +1 -0
  331. package/fabric-interop/dist/components/ViroFlexView.js +98 -0
  332. package/fabric-interop/dist/components/ViroFlexView.js.map +1 -0
  333. package/fabric-interop/dist/components/ViroGeometry.d.ts +24 -0
  334. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +1 -0
  335. package/fabric-interop/dist/components/ViroGeometry.js +52 -0
  336. package/fabric-interop/dist/components/ViroGeometry.js.map +1 -0
  337. package/fabric-interop/dist/components/ViroGlobal.d.ts +46 -0
  338. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +1 -0
  339. package/fabric-interop/dist/components/ViroGlobal.js +21 -0
  340. package/fabric-interop/dist/components/ViroGlobal.js.map +1 -0
  341. package/fabric-interop/dist/components/ViroImage.d.ts +30 -0
  342. package/fabric-interop/dist/components/ViroImage.d.ts.map +1 -0
  343. package/fabric-interop/dist/components/ViroImage.js +54 -0
  344. package/fabric-interop/dist/components/ViroImage.js.map +1 -0
  345. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +20 -0
  346. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +1 -0
  347. package/fabric-interop/dist/components/ViroLightingEnvironment.js +46 -0
  348. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +1 -0
  349. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +31 -0
  350. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +1 -0
  351. package/fabric-interop/dist/components/ViroMaterialVideo.js +50 -0
  352. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +1 -0
  353. package/fabric-interop/dist/components/ViroNode.d.ts +37 -0
  354. package/fabric-interop/dist/components/ViroNode.d.ts.map +1 -0
  355. package/fabric-interop/dist/components/ViroNode.js +29 -0
  356. package/fabric-interop/dist/components/ViroNode.js.map +1 -0
  357. package/fabric-interop/dist/components/ViroOmniLight.d.ts +22 -0
  358. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +1 -0
  359. package/fabric-interop/dist/components/ViroOmniLight.js +50 -0
  360. package/fabric-interop/dist/components/ViroOmniLight.js.map +1 -0
  361. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +18 -0
  362. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +1 -0
  363. package/fabric-interop/dist/components/ViroOrbitCamera.js +31 -0
  364. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +1 -0
  365. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +52 -0
  366. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +1 -0
  367. package/fabric-interop/dist/components/ViroParticleEmitter.js +52 -0
  368. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +1 -0
  369. package/fabric-interop/dist/components/ViroPolygon.d.ts +21 -0
  370. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +1 -0
  371. package/fabric-interop/dist/components/ViroPolygon.js +49 -0
  372. package/fabric-interop/dist/components/ViroPolygon.js.map +1 -0
  373. package/fabric-interop/dist/components/ViroPolyline.d.ts +20 -0
  374. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +1 -0
  375. package/fabric-interop/dist/components/ViroPolyline.js +48 -0
  376. package/fabric-interop/dist/components/ViroPolyline.js.map +1 -0
  377. package/fabric-interop/dist/components/ViroPortal.d.ts +17 -0
  378. package/fabric-interop/dist/components/ViroPortal.d.ts.map +1 -0
  379. package/fabric-interop/dist/components/ViroPortal.js +74 -0
  380. package/fabric-interop/dist/components/ViroPortal.js.map +1 -0
  381. package/fabric-interop/dist/components/ViroPortalScene.d.ts +17 -0
  382. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +1 -0
  383. package/fabric-interop/dist/components/ViroPortalScene.js +30 -0
  384. package/fabric-interop/dist/components/ViroPortalScene.js.map +1 -0
  385. package/fabric-interop/dist/components/ViroQuad.d.ts +40 -0
  386. package/fabric-interop/dist/components/ViroQuad.d.ts.map +1 -0
  387. package/fabric-interop/dist/components/ViroQuad.js +51 -0
  388. package/fabric-interop/dist/components/ViroQuad.js.map +1 -0
  389. package/fabric-interop/dist/components/ViroScene.d.ts +30 -0
  390. package/fabric-interop/dist/components/ViroScene.d.ts.map +1 -0
  391. package/fabric-interop/dist/components/ViroScene.js +105 -0
  392. package/fabric-interop/dist/components/ViroScene.js.map +1 -0
  393. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +24 -0
  394. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +1 -0
  395. package/fabric-interop/dist/components/ViroSceneNavigator.js +74 -0
  396. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +1 -0
  397. package/fabric-interop/dist/components/ViroSkyBox.d.ts +40 -0
  398. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +1 -0
  399. package/fabric-interop/dist/components/ViroSkyBox.js +46 -0
  400. package/fabric-interop/dist/components/ViroSkyBox.js.map +1 -0
  401. package/fabric-interop/dist/components/ViroSound.d.ts +24 -0
  402. package/fabric-interop/dist/components/ViroSound.d.ts.map +1 -0
  403. package/fabric-interop/dist/components/ViroSound.js +48 -0
  404. package/fabric-interop/dist/components/ViroSound.js.map +1 -0
  405. package/fabric-interop/dist/components/ViroSoundField.d.ts +25 -0
  406. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +1 -0
  407. package/fabric-interop/dist/components/ViroSoundField.js +49 -0
  408. package/fabric-interop/dist/components/ViroSoundField.js.map +1 -0
  409. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +28 -0
  410. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +1 -0
  411. package/fabric-interop/dist/components/ViroSpatialSound.js +52 -0
  412. package/fabric-interop/dist/components/ViroSpatialSound.js.map +1 -0
  413. package/fabric-interop/dist/components/ViroSphere.d.ts +23 -0
  414. package/fabric-interop/dist/components/ViroSphere.d.ts.map +1 -0
  415. package/fabric-interop/dist/components/ViroSphere.js +51 -0
  416. package/fabric-interop/dist/components/ViroSphere.js.map +1 -0
  417. package/fabric-interop/dist/components/ViroSpinner.d.ts +19 -0
  418. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +1 -0
  419. package/fabric-interop/dist/components/ViroSpinner.js +47 -0
  420. package/fabric-interop/dist/components/ViroSpinner.js.map +1 -0
  421. package/fabric-interop/dist/components/ViroSpotLight.d.ts +31 -0
  422. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +1 -0
  423. package/fabric-interop/dist/components/ViroSpotLight.js +59 -0
  424. package/fabric-interop/dist/components/ViroSpotLight.js.map +1 -0
  425. package/fabric-interop/dist/components/ViroSurface.d.ts +39 -0
  426. package/fabric-interop/dist/components/ViroSurface.d.ts.map +1 -0
  427. package/fabric-interop/dist/components/ViroSurface.js +50 -0
  428. package/fabric-interop/dist/components/ViroSurface.js.map +1 -0
  429. package/fabric-interop/dist/components/ViroText.d.ts +37 -0
  430. package/fabric-interop/dist/components/ViroText.d.ts.map +1 -0
  431. package/fabric-interop/dist/components/ViroText.js +61 -0
  432. package/fabric-interop/dist/components/ViroText.js.map +1 -0
  433. package/fabric-interop/dist/components/ViroUtils.d.ts +64 -0
  434. package/fabric-interop/dist/components/ViroUtils.d.ts.map +1 -0
  435. package/fabric-interop/dist/components/ViroUtils.js +141 -0
  436. package/fabric-interop/dist/components/ViroUtils.js.map +1 -0
  437. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +26 -0
  438. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +1 -0
  439. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +74 -0
  440. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +1 -0
  441. package/fabric-interop/dist/components/ViroVideo.d.ts +33 -0
  442. package/fabric-interop/dist/components/ViroVideo.d.ts.map +1 -0
  443. package/fabric-interop/dist/components/ViroVideo.js +54 -0
  444. package/fabric-interop/dist/components/ViroVideo.js.map +1 -0
  445. package/fabric-interop/dist/components/index.d.ts +63 -0
  446. package/fabric-interop/dist/components/index.d.ts.map +1 -0
  447. package/fabric-interop/dist/components/index.js +145 -0
  448. package/fabric-interop/dist/components/index.js.map +1 -0
  449. package/fabric-interop/dist/index.d.ts +15 -0
  450. package/fabric-interop/dist/index.d.ts.map +1 -0
  451. package/fabric-interop/dist/index.js +118 -0
  452. package/fabric-interop/dist/index.js.map +1 -0
  453. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +20 -0
  454. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +1 -0
  455. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +12 -0
  456. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +1 -0
  457. package/fabric-interop/examples/BasicSceneExample.tsx +287 -0
  458. package/fabric-interop/examples/ComprehensiveExample.tsx +441 -0
  459. package/fabric-interop/examples/SimpleARExample.tsx +95 -0
  460. package/fabric-interop/global.d.ts +14 -0
  461. package/fabric-interop/index.ts +107 -0
  462. package/fabric-interop/metro.config.js +12 -0
  463. package/fabric-interop/package.json +40 -0
  464. package/fabric-interop/react-native.config.js +22 -0
  465. package/fabric-interop/scripts/validate-build.js +393 -0
  466. package/fabric-interop/scripts/validate-implementation.js +272 -0
  467. package/fabric-interop/specs/README.md +22 -0
  468. package/fabric-interop/specs/ViroEventsTurboModule.ts +27 -0
  469. package/fabric-interop/test/BasicFunctionalityTest.tsx +243 -0
  470. package/fabric-interop/tsconfig.json +38 -0
  471. package/fabric.d.ts +5 -0
  472. package/fabric.ts +14 -0
  473. package/ios/ViroReact.podspec +51 -11
  474. package/package.json +33 -20
  475. package/scripts/copy-types.js +46 -0
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ /**
3
+ * BasicFunctionalityTest - Integration test for fabric-interop layer
4
+ *
5
+ * This test verifies the core functionality of the fabric-interop layer
6
+ * by testing basic operations like node creation, scene management, and events.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.BasicFunctionalityTest = void 0;
43
+ const react_1 = __importStar(require("react"));
44
+ const react_native_1 = require("react-native");
45
+ const ViroFabricContainer_1 = require("../ViroFabricContainer");
46
+ const ViroScene_1 = require("../components/ViroScene");
47
+ const ViroBox_1 = require("../components/ViroBox");
48
+ const ViroText_1 = require("../components/ViroText");
49
+ const NativeViro_1 = require("../NativeViro");
50
+ const BasicFunctionalityTest = () => {
51
+ const [testResults, setTestResults] = (0, react_1.useState)([]);
52
+ const [isRunning, setIsRunning] = (0, react_1.useState)(false);
53
+ const [allTestsPassed, setAllTestsPassed] = (0, react_1.useState)(null);
54
+ (0, react_1.useEffect)(() => {
55
+ runTests();
56
+ }, []);
57
+ const addTestResult = (name, passed, error) => {
58
+ setTestResults((prev) => [...prev, { name, passed, error }]);
59
+ };
60
+ const runTests = async () => {
61
+ setIsRunning(true);
62
+ setTestResults([]);
63
+ try {
64
+ // Test 1: JSI Availability
65
+ const jsiAvailable = (0, NativeViro_1.isViroJSIAvailable)();
66
+ addTestResult("JSI Available", jsiAvailable, jsiAvailable ? undefined : "JSI bridge not available");
67
+ if (jsiAvailable) {
68
+ // Test 2: Scene Creation
69
+ try {
70
+ (0, NativeViro_1.createScene)("test_scene", "scene", { background: [0, 0, 0] });
71
+ addTestResult("Scene Creation", true);
72
+ }
73
+ catch (error) {
74
+ addTestResult("Scene Creation", false, `Error: ${error}`);
75
+ }
76
+ // Test 3: Node Creation
77
+ try {
78
+ (0, NativeViro_1.createNode)("test_box", "box", {
79
+ position: [0, 0, -1],
80
+ scale: [0.5, 0.5, 0.5],
81
+ });
82
+ addTestResult("Node Creation", true);
83
+ }
84
+ catch (error) {
85
+ addTestResult("Node Creation", false, `Error: ${error}`);
86
+ }
87
+ // Test 4: Memory Stats
88
+ try {
89
+ const stats = (0, NativeViro_1.getMemoryStats)();
90
+ const hasStats = stats && typeof stats === "object";
91
+ addTestResult("Memory Stats", !!hasStats, hasStats ? undefined : "No memory stats returned");
92
+ }
93
+ catch (error) {
94
+ addTestResult("Memory Stats", false, `Error: ${error}`);
95
+ }
96
+ // Test 5: Component Rendering (requires actual container)
97
+ // This will be tested by the component tree below
98
+ addTestResult("Component Rendering", true, "Testing via component tree");
99
+ }
100
+ // Calculate overall result
101
+ setTimeout(() => {
102
+ setIsRunning(false);
103
+ const passed = testResults.every((result) => result.passed);
104
+ setAllTestsPassed(passed);
105
+ if (passed) {
106
+ react_native_1.Alert.alert("Tests Passed", "All basic functionality tests passed!");
107
+ }
108
+ else {
109
+ const failed = testResults.filter((r) => !r.passed);
110
+ react_native_1.Alert.alert("Tests Failed", `${failed.length} test(s) failed. Check the log for details.`);
111
+ }
112
+ }, 1000);
113
+ }
114
+ catch (error) {
115
+ setIsRunning(false);
116
+ addTestResult("Test Execution", false, `Fatal error: ${error}`);
117
+ setAllTestsPassed(false);
118
+ }
119
+ };
120
+ const handleInitialized = (success) => {
121
+ console.log("ViroFabricContainer initialized:", success);
122
+ addTestResult("Container Initialization", success, success ? undefined : "Container failed to initialize");
123
+ };
124
+ return (<react_native_1.View style={styles.container}>
125
+ <react_native_1.Text style={styles.title}>Fabric-Interop Basic Functionality Test</react_native_1.Text>
126
+
127
+ <react_native_1.View style={styles.statusContainer}>
128
+ <react_native_1.Text style={styles.statusText}>
129
+ Status:{" "}
130
+ {isRunning
131
+ ? "Running..."
132
+ : allTestsPassed === null
133
+ ? "Not started"
134
+ : allTestsPassed
135
+ ? "PASSED"
136
+ : "FAILED"}
137
+ </react_native_1.Text>
138
+ </react_native_1.View>
139
+
140
+ <react_native_1.View style={styles.resultsContainer}>
141
+ <react_native_1.Text style={styles.resultsTitle}>Test Results:</react_native_1.Text>
142
+ {testResults.map((result, index) => (<react_native_1.View key={index} style={styles.resultItem}>
143
+ <react_native_1.Text style={[
144
+ styles.resultText,
145
+ { color: result.passed ? "green" : "red" },
146
+ ]}>
147
+ {result.passed ? "✓" : "✗"} {result.name}
148
+ </react_native_1.Text>
149
+ {result.error && (<react_native_1.Text style={styles.errorText}>{result.error}</react_native_1.Text>)}
150
+ </react_native_1.View>))}
151
+ </react_native_1.View>
152
+
153
+ <react_native_1.View style={styles.viroContainer}>
154
+ <ViroFabricContainer_1.ViroFabricContainer style={styles.viroFabric} arEnabled={false} debug={true} onInitialized={handleInitialized}>
155
+ <ViroScene_1.ViroScene>
156
+ <ViroBox_1.ViroBox position={[0, 0, -1]} scale={[0.3, 0.3, 0.3]} materials={["test_material"]}/>
157
+ <ViroText_1.ViroText text="Test Scene" position={[0, 0.5, -1]}/>
158
+ </ViroScene_1.ViroScene>
159
+ </ViroFabricContainer_1.ViroFabricContainer>
160
+ </react_native_1.View>
161
+ </react_native_1.View>);
162
+ };
163
+ exports.BasicFunctionalityTest = BasicFunctionalityTest;
164
+ const styles = react_native_1.StyleSheet.create({
165
+ container: {
166
+ flex: 1,
167
+ padding: 20,
168
+ backgroundColor: "#f0f0f0",
169
+ },
170
+ title: {
171
+ fontSize: 18,
172
+ fontWeight: "bold",
173
+ textAlign: "center",
174
+ marginBottom: 20,
175
+ },
176
+ statusContainer: {
177
+ backgroundColor: "#e0e0e0",
178
+ padding: 10,
179
+ borderRadius: 5,
180
+ marginBottom: 20,
181
+ },
182
+ statusText: {
183
+ fontSize: 16,
184
+ fontWeight: "bold",
185
+ textAlign: "center",
186
+ },
187
+ resultsContainer: {
188
+ backgroundColor: "#ffffff",
189
+ padding: 15,
190
+ borderRadius: 5,
191
+ marginBottom: 20,
192
+ maxHeight: 200,
193
+ },
194
+ resultsTitle: {
195
+ fontSize: 16,
196
+ fontWeight: "bold",
197
+ marginBottom: 10,
198
+ },
199
+ resultItem: {
200
+ marginBottom: 8,
201
+ },
202
+ resultText: {
203
+ fontSize: 14,
204
+ fontWeight: "bold",
205
+ },
206
+ errorText: {
207
+ fontSize: 12,
208
+ color: "#666",
209
+ marginLeft: 20,
210
+ marginTop: 2,
211
+ },
212
+ viroContainer: {
213
+ flex: 1,
214
+ backgroundColor: "#000000",
215
+ borderRadius: 5,
216
+ overflow: "hidden",
217
+ },
218
+ viroFabric: {
219
+ flex: 1,
220
+ },
221
+ });
222
+ exports.default = exports.BasicFunctionalityTest;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Viro React Native - Fabric (New Architecture) Components
3
+ *
4
+ * This entry point provides access to Viro components that are compatible with
5
+ * React Native's New Architecture (Fabric). Use these components when your app
6
+ * has the New Architecture enabled.
7
+ *
8
+ * @example
9
+ * ```
10
+ * import { ViroARScene, Viro3DObject } from '@reactvision/react-viro/fabric';
11
+ * ```
12
+ */
13
+ export * from "./fabric-interop";
package/dist/fabric.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * Viro React Native - Fabric (New Architecture) Components
4
+ *
5
+ * This entry point provides access to Viro components that are compatible with
6
+ * React Native's New Architecture (Fabric). Use these components when your app
7
+ * has the New Architecture enabled.
8
+ *
9
+ * @example
10
+ * ```
11
+ * import { ViroARScene, Viro3DObject } from '@reactvision/react-viro/fabric';
12
+ * ```
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ __exportStar(require("./fabric-interop"), exports);
@@ -51,6 +51,9 @@ export declare const DEFAULTS: {
51
51
  /**
52
52
  * Configures Viro to work with Expo projects.
53
53
  *
54
+ * IMPORTANT: This plugin requires React Native New Architecture (Fabric) to be enabled.
55
+ * ViroReact 2.43.1+ only supports New Architecture.
56
+ *
54
57
  * @param config Expo ConfigPlugin
55
58
  * @returns expo configuration
56
59
  */
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULTS = void 0;
4
+ const config_plugins_1 = require("@expo/config-plugins");
4
5
  const withViroAndroid_1 = require("./withViroAndroid");
5
6
  const withViroIos_1 = require("./withViroIos");
6
7
  const CAMERA_USAGE = "Allow $(PRODUCT_NAME) to use your camera";
@@ -24,10 +25,28 @@ exports.DEFAULTS = {
24
25
  /**
25
26
  * Configures Viro to work with Expo projects.
26
27
  *
28
+ * IMPORTANT: This plugin requires React Native New Architecture (Fabric) to be enabled.
29
+ * ViroReact 2.43.1+ only supports New Architecture.
30
+ *
27
31
  * @param config Expo ConfigPlugin
28
32
  * @returns expo configuration
29
33
  */
30
34
  const withViro = (config, props) => {
35
+ // Validate New Architecture is enabled
36
+ const newArchEnabled = config.plugins?.some((plugin) => Array.isArray(plugin) &&
37
+ plugin[0] === "expo-dev-client" &&
38
+ plugin[1]?.newArchEnabled === true) || config.newArchEnabled === true;
39
+ if (!newArchEnabled) {
40
+ config_plugins_1.WarningAggregator.addWarningAndroid("withViro", "ViroReact requires React Native New Architecture (Fabric) to be enabled. " +
41
+ "Please enable New Architecture in your app configuration. " +
42
+ 'Add "newArchEnabled": true to your app.json/app.config.js expo configuration, ' +
43
+ "or ensure your React Native project has New Architecture enabled.");
44
+ config_plugins_1.WarningAggregator.addWarningIOS("withViro", "ViroReact requires React Native New Architecture (Fabric) to be enabled. " +
45
+ "Please enable New Architecture in your app configuration. " +
46
+ 'Add "newArchEnabled": true to your app.json/app.config.js expo configuration, ' +
47
+ "or ensure your React Native project has New Architecture enabled.");
48
+ }
49
+ // Apply platform-specific configurations
31
50
  config = (0, withViroIos_1.withViroIos)(config, props);
32
51
  config = (0, withViroAndroid_1.withViroAndroid)(config, props);
33
52
  return config;
@@ -131,29 +131,28 @@ const withBranchAndroid = (config) => {
131
131
  ]);
132
132
  };
133
133
  const withViroProjectBuildGradle = (config) => (0, config_plugins_1.withProjectBuildGradle)(config, async (newConfig) => {
134
+ // Enforce New Architecture requirement
135
+ if (!newConfig.modResults.contents.includes("newArchEnabled=true")) {
136
+ config_plugins_1.WarningAggregator.addWarningAndroid("withViroAndroid", "ViroReact requires New Architecture to be enabled. " +
137
+ 'Please add "newArchEnabled=true" to your android/gradle.properties file.');
138
+ }
134
139
  newConfig.modResults.contents = newConfig.modResults.contents.replace(/minSdkVersion.*/, `minSdkVersion = 24`);
140
+ // Ensure New Architecture is enabled
141
+ if (!newConfig.modResults.contents.includes("newArchEnabled=true")) {
142
+ newConfig.modResults.contents +=
143
+ "\n# ViroReact requires New Architecture\nnewArchEnabled=true\n";
144
+ }
135
145
  newConfig.modResults.contents = newConfig.modResults.contents.replace(/classpath\("com.android.tools.build:gradle.*/, `classpath('com.android.tools.build:gradle:4.1.1')`);
136
146
  return newConfig;
137
147
  });
138
148
  const withViroAppBuildGradle = (config) => (0, config_plugins_1.withAppBuildGradle)(config, async (config) => {
139
- config.modResults.contents = config.modResults.contents.replace(/implementation "com.facebook.react:react-native:\+" \/\/ From node_modules/, `implementation "com.facebook.react:react-native:+" // From node_modules
140
-
149
+ // Prioritize fabric-interop for New Architecture
150
+ const viroNewArchDependencies = `
141
151
  // ========================================================================
142
- // https://viro-community.readme.io/docs/installation-instructions#2-in-your-androidappbuildgradle-add-the-following-lines-to-the-dependencies-section
143
- implementation project(':gvr_common')
144
- implementation project(':arcore_client')
145
- implementation project(path: ':react_viro')
146
- implementation project(path: ':viro_renderer')
147
- implementation 'androidx.media3:media3-exoplayer:1.1.1'
148
- implementation 'androidx.media3:media3-exoplayer-dash:1.1.1'
149
- implementation 'androidx.media3:media3-exoplayer-hls:1.1.1'
150
- implementation 'androidx.media3:media3-exoplayer-smoothstreaming:1.1.1'
151
- implementation 'com.google.protobuf.nano:protobuf-javanano:3.1.0'
152
- // ========================================================================`);
153
- config.modResults.contents = config.modResults.contents.replace(/implementation\("com.facebook.react:react-android"\)/, `implementation("com.facebook.react:react-android")
154
-
155
- // =====================================r===================================
156
- // https://viro-community.readme.io/docs/installation-instructions#2-in-your-androidappbuildgradle-add-the-following-lines-to-the-dependencies-section
152
+ // ViroReact New Architecture (Fabric) Dependencies
153
+ // https://viro-community.readme.io/docs/installation-instructions
154
+ implementation project(':fabric-interop')
155
+ implementation project(':viro_bridge')
157
156
  implementation project(':gvr_common')
158
157
  implementation project(':arcore_client')
159
158
  implementation project(path: ':react_viro')
@@ -163,17 +162,22 @@ const withViroAppBuildGradle = (config) => (0, config_plugins_1.withAppBuildGrad
163
162
  implementation 'androidx.media3:media3-exoplayer-hls:1.1.1'
164
163
  implementation 'androidx.media3:media3-exoplayer-smoothstreaming:1.1.1'
165
164
  implementation 'com.google.protobuf.nano:protobuf-javanano:3.1.0'
166
- // ========================================================================
167
- `);
165
+ // ========================================================================`;
166
+ // Add Viro dependencies for legacy architecture (fallback)
167
+ config.modResults.contents = config.modResults.contents.replace(/implementation "com.facebook.react:react-native:\+" \/\/ From node_modules/, `implementation "com.facebook.react:react-native:+" // From node_modules${viroNewArchDependencies}`);
168
+ // Add Viro dependencies for new architecture (primary)
169
+ config.modResults.contents = config.modResults.contents.replace(/implementation\("com.facebook.react:react-android"\)/, `implementation("com.facebook.react:react-android")${viroNewArchDependencies}`);
168
170
  return config;
169
171
  });
170
172
  const withViroSettingsGradle = (config) => (0, config_plugins_1.withSettingsGradle)(config, async (config) => {
171
173
  config.modResults.contents += `
172
- include ':react_viro', ':arcore_client', ':gvr_common', ':viro_renderer'
174
+ include ':react_viro', ':arcore_client', ':gvr_common', ':viro_renderer', ':viro_bridge', ':fabric-interop'
173
175
  project(':arcore_client').projectDir = new File('../node_modules/@reactvision/react-viro/android/arcore_client')
174
176
  project(':gvr_common').projectDir = new File('../node_modules/@reactvision/react-viro/android/gvr_common')
175
177
  project(':viro_renderer').projectDir = new File('../node_modules/@reactvision/react-viro/android/viro_renderer')
176
178
  project(':react_viro').projectDir = new File('../node_modules/@reactvision/react-viro/android/react_viro')
179
+ project(':viro_bridge').projectDir = new File('../node_modules/@reactvision/react-viro/android/viro_bridge')
180
+ project(':fabric-interop').projectDir = new File('../node_modules/@reactvision/react-viro/fabric-interop/android')
177
181
  `;
178
182
  return config;
179
183
  });
@@ -14,8 +14,26 @@ const withViroPods = (config) => {
14
14
  async (newConfig) => {
15
15
  const root = newConfig.modRequest.platformProjectRoot;
16
16
  fs_1.default.readFile(`${root}/Podfile`, "utf-8", (err, data) => {
17
- data = (0, insertLinesHelper_1.insertLinesHelper)(` pod 'ViroReact', :path => '../node_modules/@reactvision/react-viro/ios'\n` +
18
- ` pod 'ViroKit', :path => '../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/'`, "post_install do |installer|", data, -1);
17
+ // Check for New Architecture environment variable
18
+ if (!data.includes('ENV["RCT_NEW_ARCH_ENABLED"]') &&
19
+ !data.includes("RCT_NEW_ARCH_ENABLED=1")) {
20
+ config_plugins_1.WarningAggregator.addWarningIOS("withViroIos", "ViroReact requires New Architecture to be enabled. " +
21
+ "Please set RCT_NEW_ARCH_ENABLED=1 in your ios/.xcode.env file.");
22
+ }
23
+ // ViroReact with integrated Fabric support
24
+ let viroPods = ` # ViroReact with integrated New Architecture (Fabric) support\n` +
25
+ ` # Automatically includes Fabric components when RCT_NEW_ARCH_ENABLED=1\n` +
26
+ ` pod 'ViroReact', :path => '../node_modules/@reactvision/react-viro/ios'\n` +
27
+ ` pod 'ViroKit', :path => '../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/'`;
28
+ // Add New Architecture enforcement
29
+ viroPods +=
30
+ `\n\n # Enforce New Architecture requirement\n` +
31
+ ` # ViroReact 2.43.1+ requires React Native New Architecture\n` +
32
+ ` if ENV['RCT_NEW_ARCH_ENABLED'] != '1'\n` +
33
+ ` raise "ViroReact requires New Architecture to be enabled. Please set RCT_NEW_ARCH_ENABLED=1 in ios/.xcode.env"\n` +
34
+ ` end`;
35
+ // Insert the pods into the Podfile
36
+ data = (0, insertLinesHelper_1.insertLinesHelper)(viroPods, "post_install do |installer|", data, -1);
19
37
  fs_1.default.writeFile(`${root}/Podfile`, data, "utf-8", function (err) {
20
38
  if (err)
21
39
  console.log("Error writing Podfile");
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Type definitions for Viro React Native with dynamic architecture detection
3
+ *
4
+ * This file provides type definitions for the dynamic architecture detection.
5
+ * At runtime, either the legacy or Fabric implementation will be used,
6
+ * but for TypeScript purposes, we use the legacy implementation's types.
7
+ */
8
+
9
+ // Add type declarations for global variables used in New Architecture detection
10
+ declare global {
11
+ var nativeFabricUIManager: any;
12
+ var __turboModuleProxy: any;
13
+ }
14
+
15
+ // Export all types from the legacy implementation
16
+ /**
17
+ * Copyright (c) 2016-present, Viro Media, Inc.
18
+ * All rights reserved.
19
+ *
20
+ */
21
+ import { ViroAnimations } from "./components/Animation/ViroAnimations";
22
+ import { Viro3DObject } from "./components/Viro3DObject";
23
+ import { Viro360Image } from "./components/Viro360Image";
24
+ import { Viro360Video } from "./components/Viro360Video";
25
+ import { ViroAnimatedImage } from "./components/ViroAnimatedImage";
26
+ import { ViroAmbientLight } from "./components/ViroAmbientLight";
27
+ import { ViroAnimatedComponent } from "./components/ViroAnimatedComponent";
28
+ import { ViroARImageMarker } from "./components/AR/ViroARImageMarker";
29
+ import { ViroARObjectMarker } from "./components/AR/ViroARObjectMarker";
30
+ import { ViroARTrackingTargets } from "./components/AR/ViroARTrackingTargets";
31
+ import { ViroARPlane } from "./components/AR/ViroARPlane";
32
+ import { ViroARPlaneSelector } from "./components/AR/ViroARPlaneSelector";
33
+ import { ViroARScene } from "./components/AR/ViroARScene";
34
+ import { ViroARSceneNavigator } from "./components/AR/ViroARSceneNavigator";
35
+ import { ViroBox } from "./components/ViroBox";
36
+ import { ViroButton } from "./components/ViroButton";
37
+ import { ViroCamera } from "./components/ViroCamera";
38
+ import { ViroARTrackingReasonConstants, ViroRecordingErrorConstants, ViroTrackingStateConstants } from "./components/ViroConstants";
39
+ import { ViroController } from "./components/ViroController";
40
+ import { ViroDirectionalLight } from "./components/ViroDirectionalLight";
41
+ import { ViroFlexView } from "./components/ViroFlexView";
42
+ import { ViroGeometry } from "./components/ViroGeometry";
43
+ import { ViroLightingEnvironment } from "./components/ViroLightingEnvironment";
44
+ import { ViroImage } from "./components/ViroImage";
45
+ import { ViroMaterials } from "./components/Material/ViroMaterials";
46
+ import { ViroMaterialVideo } from "./components/ViroMaterialVideo";
47
+ import { ViroNode } from "./components/ViroNode";
48
+ import { ViroOmniLight } from "./components/ViroOmniLight";
49
+ import { ViroOrbitCamera } from "./components/ViroOrbitCamera";
50
+ import { ViroParticleEmitter } from "./components/ViroParticleEmitter";
51
+ import { ViroPolygon } from "./components/ViroPolygon";
52
+ import { ViroPolyline } from "./components/ViroPolyline";
53
+ import { ViroPortal } from "./components/ViroPortal";
54
+ import { ViroPortalScene } from "./components/ViroPortalScene";
55
+ import { ViroQuad } from "./components/ViroQuad";
56
+ import { ViroScene } from "./components/ViroScene";
57
+ import { ViroSkyBox } from "./components/ViroSkyBox";
58
+ import { ViroSound } from "./components/ViroSound";
59
+ import { ViroSoundField } from "./components/ViroSoundField";
60
+ import { ViroSpatialSound } from "./components/ViroSpatialSound";
61
+ import { ViroSphere } from "./components/ViroSphere";
62
+ import { ViroSpinner } from "./components/ViroSpinner";
63
+ import { ViroSpotLight } from "./components/ViroSpotLight";
64
+ import { ViroText } from "./components/ViroText";
65
+ import { ViroVideo } from "./components/ViroVideo";
66
+ import { ViroVRSceneNavigator } from "./components/ViroVRSceneNavigator";
67
+ import { Viro3DSceneNavigator } from "./components/Viro3DSceneNavigator";
68
+ import { ViroTextStyle } from "./components/Styles/ViroTextStyle";
69
+ import { ViroStyle } from "./components/Styles/ViroStyle";
70
+ import { polarToCartesian, polarToCartesianActual, isARSupportedOnDevice, ViroARSupportResponse } from "./components/Utilities/ViroUtils";
71
+ import { ViroARCamera } from "./components/AR/ViroARCamera";
72
+ import { ViroHoverEvent, ViroClickEvent, ViroClickStateEvent, ViroTouchEvent, ViroScrollEvent, ViroSwipeEvent, ViroFuseEvent, ViroPinchEvent, ViroRotateEvent, ViroDragEvent, ViroPlatformEvent, ViroCollisionEvent, ViroPlatformInfo, ViroCameraTransformEvent, ViroPlatformUpdateEvent, ViroCameraTransform, ViroExitViroEvent, ViroErrorEvent, ViroAnimationStartEvent, ViroAnimationFinishEvent, ViroLoadStartEvent, ViroLoadEndEvent, ViroLoadErrorEvent, ViroVideoBufferStartEvent, ViroVideoBufferEndEvent, ViroVideoUpdateTimeEvent, ViroVideoErrorEvent, ViroVideoFinishEvent, ViroAnimatedComponentStartEvent, ViroAnimatedComponentFinishEvent, ViroARAnchorRemovedEvent, ViroARAnchorUpdatedEvent, ViroARAnchorFoundEvent, ViroAnchor, ViroAnchorFoundMap, ViroAnchorUpdatedMap, ViroPlaneUpdatedMap, ViroPlaneUpdatedEvent, ViroARPlaneSizes, ViroCameraARHitTestEvent, ViroCameraARHitTest, ViroARHitTestResult, ViroARPointCloudUpdateEvent, ViroARPointCloud, ViroTrackingUpdatedEvent, ViroTrackingState, ViroTrackingReason, ViroAmbientLightUpdateEvent, ViroAmbientLightInfo, ViroWorldOrigin, ViroNativeTransformUpdateEvent, ViroControllerStatusEvent, ViroControllerStatus, ViroPortalEnterEvent, ViroPortalExitEvent, ViroSoundFinishEvent, ViroPinchStateTypes, ViroClickStateTypes, ViroRotateStateTypes } from "./components/Types/ViroEvents";
73
+ import { ViroSurface } from "./components/ViroSurface";
74
+ import { ViroSceneNavigator } from "./components/ViroSceneNavigator";
75
+ import { VIRO_VERSION } from "./components/Utilities/ViroVersion";
76
+ export { ViroARImageMarker, ViroARObjectMarker, ViroARTrackingTargets, ViroARPlane, ViroARPlaneSelector, ViroARScene, ViroARSceneNavigator, ViroBox, ViroButton, ViroCamera, ViroController, ViroDirectionalLight, ViroFlexView, ViroGeometry, ViroLightingEnvironment, ViroImage, ViroMaterials, ViroARCamera, ViroMaterialVideo, ViroNode, ViroOmniLight, ViroOrbitCamera, ViroParticleEmitter, ViroPolygon, ViroPolyline, ViroPortal, ViroPortalScene, ViroQuad, ViroScene, ViroSurface, ViroSceneNavigator, ViroSkyBox, ViroAnimations, Viro3DObject, Viro360Image, Viro360Video, ViroAnimatedImage, ViroAmbientLight, ViroAnimatedComponent, ViroSound, ViroSoundField, ViroSpatialSound, ViroSphere, ViroSpinner, ViroSpotLight, ViroText, ViroVideo, ViroVRSceneNavigator, Viro3DSceneNavigator, ViroARTrackingReasonConstants, ViroRecordingErrorConstants, ViroTrackingStateConstants, polarToCartesian, polarToCartesianActual, isARSupportedOnDevice, ViroARSupportResponse, ViroHoverEvent, ViroClickEvent, ViroClickStateEvent, ViroClickStateTypes, ViroTouchEvent, ViroScrollEvent, ViroSwipeEvent, ViroFuseEvent, ViroPinchEvent, ViroPinchStateTypes, ViroRotateEvent, ViroRotateStateTypes, ViroDragEvent, ViroPlatformEvent, ViroCollisionEvent, ViroPlatformInfo, ViroCameraTransformEvent, ViroPlatformUpdateEvent, ViroCameraTransform, ViroExitViroEvent, ViroErrorEvent, ViroAnimationStartEvent, ViroAnimationFinishEvent, ViroLoadStartEvent, ViroLoadEndEvent, ViroLoadErrorEvent, ViroVideoBufferStartEvent, ViroVideoBufferEndEvent, ViroVideoUpdateTimeEvent, ViroVideoErrorEvent, ViroVideoFinishEvent, ViroAnimatedComponentStartEvent, ViroAnimatedComponentFinishEvent, ViroARAnchorRemovedEvent, ViroARAnchorUpdatedEvent, ViroARAnchorFoundEvent, ViroAnchor, ViroAnchorFoundMap, ViroAnchorUpdatedMap, ViroPlaneUpdatedMap, ViroPlaneUpdatedEvent, ViroARPlaneSizes, ViroCameraARHitTestEvent, ViroCameraARHitTest, ViroARHitTestResult, ViroARPointCloudUpdateEvent, ViroARPointCloud, ViroTrackingUpdatedEvent, ViroTrackingState, ViroTrackingReason, ViroAmbientLightUpdateEvent, ViroAmbientLightInfo, ViroWorldOrigin, ViroNativeTransformUpdateEvent, ViroControllerStatusEvent, ViroControllerStatus, ViroPortalEnterEvent, ViroPortalExitEvent, ViroSoundFinishEvent, ViroTextStyle, ViroStyle, VIRO_VERSION, };
77
+
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Viro React Native - New Architecture Required
3
+ *
4
+ * This library requires React Native's New Architecture (Fabric) to be enabled.
5
+ * Legacy architecture support has been removed as of version 2.43.1.
6
+ */
7
+
8
+ import { NativeModules } from "react-native";
9
+
10
+ // Add type declarations for global variables used in New Architecture detection
11
+ declare global {
12
+ var nativeFabricUIManager: any;
13
+ var __turboModuleProxy: any;
14
+ }
15
+
16
+ // Strict New Architecture validation
17
+ function validateNewArchitecture(): void {
18
+ // Check for New Architecture indicators
19
+ const hasFabricUIManager = !!global.nativeFabricUIManager;
20
+ const hasTurboModules = !!global.__turboModuleProxy;
21
+
22
+ if (!hasFabricUIManager && !hasTurboModules) {
23
+ throw new Error(
24
+ "ViroReact: New Architecture (Fabric) is required but not detected.\n\n" +
25
+ "This library requires React Native 0.76.9+ with New Architecture enabled.\n" +
26
+ "Please enable New Architecture in your app:\n\n" +
27
+ "1. Set 'newArchEnabled=true' in android/gradle.properties\n" +
28
+ "2. Set 'RCT_NEW_ARCH_ENABLED=1' in ios/.xcode.env\n" +
29
+ "3. Ensure you're using React Native 0.76.9 or higher\n\n" +
30
+ "For more information, visit: https://reactnative.dev/docs/new-architecture-intro"
31
+ );
32
+ }
33
+
34
+ console.log("ViroReact: New Architecture (Fabric) detected ✓");
35
+ }
36
+
37
+ // Validate New Architecture on module load
38
+ validateNewArchitecture();
39
+
40
+ // Export fabric-interop components directly
41
+ module.exports = require("./fabric-interop");