@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,92 @@
1
+ "use strict";
2
+ /**
3
+ * ViroButton
4
+ *
5
+ * A component for creating interactive buttons in 3D space.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ViroButton = void 0;
12
+ const react_1 = __importDefault(require("react"));
13
+ const ViroUtils_1 = require("./ViroUtils");
14
+ const ViroGlobal_1 = require("./ViroGlobal");
15
+ /**
16
+ * ViroButton is a component for creating interactive buttons in 3D space.
17
+ * It provides visual feedback for different interaction states.
18
+ */
19
+ const ViroButton = (props) => {
20
+ // Convert common props to the format expected by the native code
21
+ const nativeProps = {
22
+ ...(0, ViroUtils_1.convertCommonProps)(props),
23
+ source: props.source,
24
+ hoverSource: props.hoverSource,
25
+ clickSource: props.clickSource,
26
+ gazeSource: props.gazeSource,
27
+ width: props.width,
28
+ height: props.height,
29
+ materials: props.materials,
30
+ lightReceivingBitMask: props.lightReceivingBitMask,
31
+ shadowCastingBitMask: props.shadowCastingBitMask,
32
+ };
33
+ // Create the node (parent will be determined by context)
34
+ const nodeId = (0, ViroUtils_1.useViroNode)("button", nativeProps);
35
+ // Register event handlers
36
+ react_1.default.useEffect(() => {
37
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
38
+ if (!nativeViro)
39
+ return;
40
+ const eventHandlers = [
41
+ { name: "onHover", handler: props.onHover },
42
+ { name: "onClick", handler: props.onClick },
43
+ { name: "onClickState", handler: props.onClickState },
44
+ { name: "onTouch", handler: props.onTouch },
45
+ { name: "onDrag", handler: props.onDrag },
46
+ { name: "onPinch", handler: props.onPinch },
47
+ { name: "onRotate", handler: props.onRotate },
48
+ {
49
+ name: "onFuse",
50
+ handler: typeof props.onFuse === "function"
51
+ ? props.onFuse
52
+ : props.onFuse?.callback,
53
+ },
54
+ ];
55
+ // Register all event handlers and store callback IDs for cleanup
56
+ const registeredCallbacks = eventHandlers
57
+ .filter(({ handler }) => !!handler)
58
+ .map(({ name, handler }) => {
59
+ const callbackId = `${nodeId}_${name}`;
60
+ // Register the callback in the global registry
61
+ if (typeof global !== "undefined" && global.registerViroEventCallback) {
62
+ global.registerViroEventCallback(callbackId, handler);
63
+ }
64
+ // Register with native code
65
+ nativeViro.registerEventCallback(nodeId, name, callbackId);
66
+ return { name, callbackId };
67
+ });
68
+ // Cleanup when unmounting
69
+ return () => {
70
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
71
+ if (!nativeViro)
72
+ return;
73
+ // Unregister all event handlers
74
+ registeredCallbacks.forEach(({ name, callbackId }) => {
75
+ nativeViro.unregisterEventCallback(nodeId, name, callbackId);
76
+ });
77
+ };
78
+ }, [
79
+ nodeId,
80
+ props.onHover,
81
+ props.onClick,
82
+ props.onClickState,
83
+ props.onTouch,
84
+ props.onDrag,
85
+ props.onPinch,
86
+ props.onRotate,
87
+ props.onFuse,
88
+ ]);
89
+ // Render children with this button as their parent
90
+ return (<ViroUtils_1.ViroContextProvider value={nodeId}>{props.children}</ViroUtils_1.ViroContextProvider>);
91
+ };
92
+ exports.ViroButton = ViroButton;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ViroCamera
3
+ *
4
+ * A component for controlling the scene camera.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroCameraProps extends ViroCommonProps {
9
+ fieldOfView?: number;
10
+ focalPoint?: [number, number, number];
11
+ children?: React.ReactNode;
12
+ }
13
+ /**
14
+ * ViroCamera is a component for controlling the scene camera.
15
+ * It allows customization of camera properties and behavior.
16
+ */
17
+ export declare const ViroCamera: React.FC<ViroCameraProps>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * ViroCamera
4
+ *
5
+ * A component for controlling the scene camera.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ViroCamera = void 0;
12
+ const react_1 = __importDefault(require("react"));
13
+ const ViroUtils_1 = require("./ViroUtils");
14
+ /**
15
+ * ViroCamera is a component for controlling the scene camera.
16
+ * It allows customization of camera properties and behavior.
17
+ */
18
+ const ViroCamera = (props) => {
19
+ // Convert common props to the format expected by the native code
20
+ const nativeProps = {
21
+ ...(0, ViroUtils_1.convertCommonProps)(props),
22
+ fieldOfView: props.fieldOfView,
23
+ focalPoint: props.focalPoint,
24
+ };
25
+ // Create the node (parent will be determined by context)
26
+ const nodeId = (0, ViroUtils_1.useViroNode)("camera", nativeProps);
27
+ // Render children with this camera as their parent
28
+ return (<ViroUtils_1.ViroContextProvider value={nodeId}>{props.children}</ViroUtils_1.ViroContextProvider>);
29
+ };
30
+ exports.ViroCamera = ViroCamera;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ViroController
3
+ *
4
+ * A component for VR controller interaction.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroControllerProps extends ViroCommonProps {
9
+ controllerVisibility?: boolean;
10
+ reticleVisibility?: boolean;
11
+ onControllerUpdate?: (event: any) => void;
12
+ onMove?: (event: any) => void;
13
+ children?: React.ReactNode;
14
+ }
15
+ /**
16
+ * ViroController is a component for VR controller interaction.
17
+ * It provides controller tracking and interaction capabilities.
18
+ */
19
+ export declare const ViroController: React.FC<ViroControllerProps>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * ViroController
4
+ *
5
+ * A component for VR controller interaction.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ViroController = void 0;
12
+ const react_1 = __importDefault(require("react"));
13
+ const ViroUtils_1 = require("./ViroUtils");
14
+ const ViroGlobal_1 = require("./ViroGlobal");
15
+ /**
16
+ * ViroController is a component for VR controller interaction.
17
+ * It provides controller tracking and interaction capabilities.
18
+ */
19
+ const ViroController = (props) => {
20
+ // Convert common props to the format expected by the native code
21
+ const nativeProps = {
22
+ ...(0, ViroUtils_1.convertCommonProps)(props),
23
+ controllerVisibility: props.controllerVisibility,
24
+ reticleVisibility: props.reticleVisibility,
25
+ };
26
+ // Create the node (parent will be determined by context)
27
+ const nodeId = (0, ViroUtils_1.useViroNode)("controller", nativeProps);
28
+ // Register event handlers
29
+ react_1.default.useEffect(() => {
30
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
31
+ if (!nativeViro)
32
+ return;
33
+ const eventHandlers = [
34
+ { name: "onControllerUpdate", handler: props.onControllerUpdate },
35
+ { name: "onMove", handler: props.onMove },
36
+ ];
37
+ // Register all event handlers and store callback IDs for cleanup
38
+ const registeredCallbacks = eventHandlers
39
+ .filter(({ handler }) => !!handler)
40
+ .map(({ name, handler }) => {
41
+ const callbackId = `${nodeId}_${name}`;
42
+ // Register the callback in the global registry
43
+ if (typeof global !== "undefined" && global.registerViroEventCallback) {
44
+ global.registerViroEventCallback(callbackId, handler);
45
+ }
46
+ // Register with native code
47
+ nativeViro.registerEventCallback(nodeId, name, callbackId);
48
+ return { name, callbackId };
49
+ });
50
+ // Cleanup when unmounting
51
+ return () => {
52
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
53
+ if (!nativeViro)
54
+ return;
55
+ // Unregister all event handlers
56
+ registeredCallbacks.forEach(({ name, callbackId }) => {
57
+ nativeViro.unregisterEventCallback(nodeId, name, callbackId);
58
+ });
59
+ };
60
+ }, [nodeId, props.onControllerUpdate, props.onMove]);
61
+ // Render children with this controller as their parent
62
+ return (<ViroUtils_1.ViroContextProvider value={nodeId}>{props.children}</ViroUtils_1.ViroContextProvider>);
63
+ };
64
+ exports.ViroController = ViroController;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * ViroDirectionalLight
3
+ *
4
+ * A component for adding directional lighting to a scene.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroDirectionalLightProps extends ViroCommonProps {
9
+ color?: string;
10
+ intensity?: number;
11
+ temperature?: number;
12
+ direction?: [number, number, number];
13
+ influenceBitMask?: number;
14
+ castsShadow?: boolean;
15
+ shadowOpacity?: number;
16
+ shadowOrthographicSize?: number;
17
+ shadowOrthographicPosition?: [number, number, number];
18
+ shadowMapSize?: number;
19
+ shadowBias?: number;
20
+ shadowNearZ?: number;
21
+ shadowFarZ?: number;
22
+ }
23
+ /**
24
+ * ViroDirectionalLight is a component for adding directional lighting to a scene.
25
+ * Directional light is a type of light that illuminates all objects in the scene
26
+ * from a specific direction, similar to sunlight.
27
+ */
28
+ export declare const ViroDirectionalLight: React.FC<ViroDirectionalLightProps>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * ViroDirectionalLight
4
+ *
5
+ * A component for adding directional lighting to a scene.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroDirectionalLight = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroDirectionalLight is a component for adding directional lighting to a scene.
12
+ * Directional light is a type of light that illuminates all objects in the scene
13
+ * from a specific direction, similar to sunlight.
14
+ */
15
+ const ViroDirectionalLight = (props) => {
16
+ // Convert common props to the format expected by the native code
17
+ const nativeProps = {
18
+ ...(0, ViroUtils_1.convertCommonProps)(props),
19
+ color: props.color,
20
+ intensity: props.intensity,
21
+ temperature: props.temperature,
22
+ direction: props.direction,
23
+ influenceBitMask: props.influenceBitMask,
24
+ castsShadow: props.castsShadow,
25
+ shadowOpacity: props.shadowOpacity,
26
+ shadowOrthographicSize: props.shadowOrthographicSize,
27
+ shadowOrthographicPosition: props.shadowOrthographicPosition,
28
+ shadowMapSize: props.shadowMapSize,
29
+ shadowBias: props.shadowBias,
30
+ shadowNearZ: props.shadowNearZ,
31
+ shadowFarZ: props.shadowFarZ,
32
+ };
33
+ // Create the node (parent will be determined by context)
34
+ const nodeId = (0, ViroUtils_1.useViroNode)("directionalLight", nativeProps);
35
+ // Register event handlers using our new event system
36
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
37
+ onHover: props.onHover,
38
+ onClick: props.onClick,
39
+ onClickState: props.onClickState,
40
+ onTouch: props.onTouch,
41
+ onScroll: props.onScroll,
42
+ onSwipe: props.onSwipe,
43
+ onDrag: props.onDrag,
44
+ onPinch: props.onPinch,
45
+ onRotate: props.onRotate,
46
+ onFuse: typeof props.onFuse === "function"
47
+ ? props.onFuse
48
+ : props.onFuse?.callback,
49
+ onCollision: props.onCollision,
50
+ onTransformUpdate: props.onTransformUpdate,
51
+ });
52
+ // Component doesn't have children, so just return null
53
+ return null;
54
+ };
55
+ exports.ViroDirectionalLight = ViroDirectionalLight;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ViroFlexView
3
+ *
4
+ * A component for creating flexible layouts in 3D space.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroFlexViewProps extends ViroCommonProps {
9
+ width?: number;
10
+ height?: number;
11
+ flex?: number;
12
+ flexDirection?: "row" | "column";
13
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around";
14
+ alignItems?: "flex-start" | "flex-end" | "center" | "stretch";
15
+ padding?: number;
16
+ paddingTop?: number;
17
+ paddingBottom?: number;
18
+ paddingLeft?: number;
19
+ paddingRight?: number;
20
+ margin?: number;
21
+ marginTop?: number;
22
+ marginBottom?: number;
23
+ marginLeft?: number;
24
+ marginRight?: number;
25
+ backgroundColor?: string;
26
+ borderRadius?: number;
27
+ borderWidth?: number;
28
+ borderColor?: string;
29
+ materials?: string | string[];
30
+ children?: React.ReactNode;
31
+ }
32
+ /**
33
+ * ViroFlexView is a component for creating flexible layouts in 3D space.
34
+ * It allows you to arrange child components using flexbox-like layout rules.
35
+ */
36
+ export declare const ViroFlexView: React.FC<ViroFlexViewProps>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * ViroFlexView
4
+ *
5
+ * A component for creating flexible layouts in 3D space.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ViroFlexView = void 0;
12
+ const react_1 = __importDefault(require("react"));
13
+ const ViroUtils_1 = require("./ViroUtils");
14
+ const ViroGlobal_1 = require("./ViroGlobal");
15
+ /**
16
+ * ViroFlexView is a component for creating flexible layouts in 3D space.
17
+ * It allows you to arrange child components using flexbox-like layout rules.
18
+ */
19
+ const ViroFlexView = (props) => {
20
+ // Convert common props to the format expected by the native code
21
+ const nativeProps = {
22
+ ...(0, ViroUtils_1.convertCommonProps)(props),
23
+ width: props.width,
24
+ height: props.height,
25
+ flex: props.flex,
26
+ flexDirection: props.flexDirection,
27
+ justifyContent: props.justifyContent,
28
+ alignItems: props.alignItems,
29
+ padding: props.padding,
30
+ paddingTop: props.paddingTop,
31
+ paddingBottom: props.paddingBottom,
32
+ paddingLeft: props.paddingLeft,
33
+ paddingRight: props.paddingRight,
34
+ margin: props.margin,
35
+ marginTop: props.marginTop,
36
+ marginBottom: props.marginBottom,
37
+ marginLeft: props.marginLeft,
38
+ marginRight: props.marginRight,
39
+ backgroundColor: props.backgroundColor,
40
+ borderRadius: props.borderRadius,
41
+ borderWidth: props.borderWidth,
42
+ borderColor: props.borderColor,
43
+ materials: props.materials,
44
+ };
45
+ // Create the node (parent will be determined by context)
46
+ const nodeId = (0, ViroUtils_1.useViroNode)("flexView", nativeProps);
47
+ // Register event handlers
48
+ react_1.default.useEffect(() => {
49
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
50
+ if (!nativeViro)
51
+ return;
52
+ const eventHandlers = [
53
+ { name: "onHover", handler: props.onHover },
54
+ { name: "onClick", handler: props.onClick },
55
+ { name: "onClickState", handler: props.onClickState },
56
+ { name: "onTouch", handler: props.onTouch },
57
+ { name: "onDrag", handler: props.onDrag },
58
+ { name: "onPinch", handler: props.onPinch },
59
+ { name: "onRotate", handler: props.onRotate },
60
+ ];
61
+ // Register all event handlers and store callback IDs for cleanup
62
+ const registeredCallbacks = eventHandlers
63
+ .filter(({ handler }) => !!handler)
64
+ .map(({ name, handler }) => {
65
+ const callbackId = `${nodeId}_${name}`;
66
+ // Register the callback in the global registry
67
+ if (typeof global !== "undefined" && global.registerViroEventCallback) {
68
+ global.registerViroEventCallback(callbackId, handler);
69
+ }
70
+ // Register with native code
71
+ nativeViro.registerEventCallback(nodeId, name, callbackId);
72
+ return { name, callbackId };
73
+ });
74
+ // Cleanup when unmounting
75
+ return () => {
76
+ const nativeViro = (0, ViroGlobal_1.getNativeViro)();
77
+ if (!nativeViro)
78
+ return;
79
+ // Unregister all event handlers
80
+ registeredCallbacks.forEach(({ name, callbackId }) => {
81
+ nativeViro.unregisterEventCallback(nodeId, name, callbackId);
82
+ });
83
+ };
84
+ }, [
85
+ nodeId,
86
+ props.onHover,
87
+ props.onClick,
88
+ props.onClickState,
89
+ props.onTouch,
90
+ props.onDrag,
91
+ props.onPinch,
92
+ props.onRotate,
93
+ ]);
94
+ // Render children with this flex view as their parent
95
+ return (<ViroUtils_1.ViroContextProvider value={nodeId}>{props.children}</ViroUtils_1.ViroContextProvider>);
96
+ };
97
+ exports.ViroFlexView = ViroFlexView;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ViroGeometry
3
+ *
4
+ * A component for rendering custom 3D geometry.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroGeometryProps extends ViroCommonProps {
9
+ vertices: [number, number, number][];
10
+ normals?: [number, number, number][];
11
+ texcoords?: [number, number][];
12
+ triangleIndices: number[][];
13
+ materials?: string | string[];
14
+ lightReceivingBitMask?: number;
15
+ shadowCastingBitMask?: number;
16
+ type?: "Dynamic" | "Kinematic" | "Static";
17
+ }
18
+ /**
19
+ * ViroGeometry is a component for rendering custom 3D geometry.
20
+ * It allows you to create custom 3D shapes by specifying vertices, normals,
21
+ * texture coordinates, and triangle indices.
22
+ */
23
+ export declare const ViroGeometry: React.FC<ViroGeometryProps>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * ViroGeometry
4
+ *
5
+ * A component for rendering custom 3D geometry.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroGeometry = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroGeometry is a component for rendering custom 3D geometry.
12
+ * It allows you to create custom 3D shapes by specifying vertices, normals,
13
+ * texture coordinates, and triangle indices.
14
+ */
15
+ const ViroGeometry = (props) => {
16
+ // Convert common props to the format expected by the native code
17
+ const nativeProps = {
18
+ ...(0, ViroUtils_1.convertCommonProps)(props),
19
+ vertices: props.vertices,
20
+ normals: props.normals,
21
+ texcoords: props.texcoords,
22
+ triangleIndices: props.triangleIndices,
23
+ materials: props.materials,
24
+ lightReceivingBitMask: props.lightReceivingBitMask,
25
+ shadowCastingBitMask: props.shadowCastingBitMask,
26
+ type: props.type,
27
+ };
28
+ // Create the node (parent will be determined by context)
29
+ const nodeId = (0, ViroUtils_1.useViroNode)("geometry", nativeProps);
30
+ // Register event handlers using our new event system
31
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
32
+ onHover: props.onHover,
33
+ onClick: props.onClick,
34
+ onClickState: props.onClickState,
35
+ onTouch: props.onTouch,
36
+ onScroll: props.onScroll,
37
+ onSwipe: props.onSwipe,
38
+ onDrag: props.onDrag,
39
+ onPinch: props.onPinch,
40
+ onRotate: props.onRotate,
41
+ onFuse: typeof props.onFuse === "function"
42
+ ? props.onFuse
43
+ : props.onFuse?.callback,
44
+ onCollision: props.onCollision,
45
+ onTransformUpdate: props.onTransformUpdate,
46
+ });
47
+ // Component doesn't have children, so just return null
48
+ return null;
49
+ };
50
+ exports.ViroGeometry = ViroGeometry;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * ViroGlobal
3
+ *
4
+ * A utility to provide type-safe access to the global NativeViro object.
5
+ */
6
+ declare global {
7
+ var NativeViro: any;
8
+ }
9
+ export interface NativeViroType {
10
+ createViroNode: (nodeId: string, nodeType: string, props: Record<string, any>) => void;
11
+ updateViroNode: (nodeId: string, props: Record<string, any>) => void;
12
+ deleteViroNode: (nodeId: string) => void;
13
+ addViroNodeChild: (parentId: string, childId: string) => void;
14
+ removeViroNodeChild: (parentId: string, childId: string) => void;
15
+ registerEventCallback: (nodeId: string, eventName: string, callbackId: string) => void;
16
+ unregisterEventCallback: (nodeId: string, eventName: string, callbackId: string) => void;
17
+ createViroMaterial: (materialName: string, properties: Record<string, any>) => void;
18
+ updateViroMaterial: (materialName: string, properties: Record<string, any>) => void;
19
+ createViroAnimation: (animationName: string, properties: Record<string, any>) => void;
20
+ executeViroAnimation: (nodeId: string, animationName: string, options: Record<string, any>) => void;
21
+ createViroScene: (sceneId: string, sceneType: string, props: Record<string, any>) => void;
22
+ activateViroScene: (sceneId: string) => void;
23
+ deactivateViroScene: (sceneId: string) => void;
24
+ destroyViroScene: (sceneId: string) => void;
25
+ getViroSceneState: (sceneId: string) => string | null;
26
+ getViroMemoryStats: () => Record<string, any> | null;
27
+ performViroMemoryCleanup: () => void;
28
+ setViroARPlaneDetection: (config: {
29
+ enabled?: boolean;
30
+ alignment?: string;
31
+ horizontal?: boolean;
32
+ vertical?: boolean;
33
+ }) => void;
34
+ setViroARImageTargets: (targets: Record<string, any>) => void;
35
+ recenterTracking: (nodeId: string) => void;
36
+ project: (nodeId: string, point: [number, number, number]) => Promise<[number, number, number]>;
37
+ unproject: (nodeId: string, point: [number, number, number]) => Promise<[number, number, number]>;
38
+ initialize: (config?: {
39
+ debug?: boolean;
40
+ arEnabled?: boolean;
41
+ worldAlignment?: string;
42
+ }) => Promise<boolean>;
43
+ }
44
+ export declare function getNativeViro(): NativeViroType | null;
45
+ export declare function isNativeViroAvailable(): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * ViroGlobal
4
+ *
5
+ * A utility to provide type-safe access to the global NativeViro object.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getNativeViro = getNativeViro;
9
+ exports.isNativeViroAvailable = isNativeViroAvailable;
10
+ // Get the NativeViro object with type safety
11
+ function getNativeViro() {
12
+ if (typeof global !== "undefined" && global.NativeViro) {
13
+ return global.NativeViro;
14
+ }
15
+ return null;
16
+ }
17
+ // Check if NativeViro is available
18
+ function isNativeViroAvailable() {
19
+ return getNativeViro() !== null;
20
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ViroImage
3
+ *
4
+ * A component for displaying 2D images in 3D space.
5
+ */
6
+ import React from "react";
7
+ import { ViroCommonProps } from "./ViroUtils";
8
+ export interface ViroImageProps extends ViroCommonProps {
9
+ source: {
10
+ uri: string;
11
+ } | number;
12
+ width?: number;
13
+ height?: number;
14
+ resizeMode?: "ScaleToFill" | "ScaleToFit" | "StretchToFill";
15
+ imageClipMode?: "None" | "ClipToBounds";
16
+ stereoMode?: "LeftRight" | "RightLeft" | "TopBottom" | "BottomTop" | "None";
17
+ format?: "RGBA8" | "RGB565";
18
+ mipmap?: boolean;
19
+ placeholderSource?: {
20
+ uri: string;
21
+ } | number;
22
+ materials?: string | string[];
23
+ lightReceivingBitMask?: number;
24
+ shadowCastingBitMask?: number;
25
+ }
26
+ /**
27
+ * ViroImage is a component for displaying 2D images in 3D space.
28
+ */
29
+ export declare const ViroImage: React.FC<ViroImageProps>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * ViroImage
4
+ *
5
+ * A component for displaying 2D images in 3D space.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ViroImage = void 0;
9
+ const ViroUtils_1 = require("./ViroUtils");
10
+ /**
11
+ * ViroImage is a component for displaying 2D images in 3D space.
12
+ */
13
+ const ViroImage = (props) => {
14
+ // Convert common props to the format expected by the native code
15
+ const nativeProps = {
16
+ ...(0, ViroUtils_1.convertCommonProps)(props),
17
+ source: props.source,
18
+ width: props.width,
19
+ height: props.height,
20
+ resizeMode: props.resizeMode,
21
+ imageClipMode: props.imageClipMode,
22
+ stereoMode: props.stereoMode,
23
+ format: props.format,
24
+ mipmap: props.mipmap,
25
+ placeholderSource: props.placeholderSource,
26
+ materials: props.materials,
27
+ lightReceivingBitMask: props.lightReceivingBitMask,
28
+ shadowCastingBitMask: props.shadowCastingBitMask,
29
+ };
30
+ // Create the node (parent will be determined by context)
31
+ const nodeId = (0, ViroUtils_1.useViroNode)("image", nativeProps);
32
+ // Register event handlers using our new event system
33
+ (0, ViroUtils_1.useViroEventListeners)(nodeId, {
34
+ onHover: props.onHover,
35
+ onClick: props.onClick,
36
+ onClickState: props.onClickState,
37
+ onTouch: props.onTouch,
38
+ onScroll: props.onScroll,
39
+ onSwipe: props.onSwipe,
40
+ onDrag: props.onDrag,
41
+ onPinch: props.onPinch,
42
+ onRotate: props.onRotate,
43
+ onFuse: typeof props.onFuse === "function"
44
+ ? props.onFuse
45
+ : props.onFuse?.callback,
46
+ onCollision: props.onCollision,
47
+ onTransformUpdate: props.onTransformUpdate,
48
+ });
49
+ // Image doesn't have children, so just return null
50
+ return null;
51
+ };
52
+ exports.ViroImage = ViroImage;