@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.
- package/README.md +12 -6
- package/android/react_viro/react_viro-release.aar +0 -0
- package/components/AR/ViroARPlaneSelector.tsx +76 -37
- package/components/Utilities/ViroVersion.ts +1 -1
- package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
- package/dist/components/AR/ViroARPlaneSelector.js +46 -18
- package/dist/components/Utilities/ViroVersion.d.ts +1 -1
- package/dist/components/Utilities/ViroVersion.js +1 -1
- package/dist/dynamic-index.d.ts +11 -0
- package/dist/dynamic-index.js +28 -0
- package/dist/examples/AutoDetectionExample.d.ts +10 -0
- package/dist/examples/AutoDetectionExample.js +91 -0
- package/dist/fabric-interop/NativeViro.d.ts +42 -0
- package/dist/fabric-interop/NativeViro.js +262 -0
- package/dist/fabric-interop/ViroEventsManager.d.ts +83 -0
- package/dist/fabric-interop/ViroEventsManager.js +222 -0
- package/dist/fabric-interop/ViroFabricContainer.d.ts +34 -0
- package/dist/fabric-interop/ViroFabricContainer.js +200 -0
- package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +35 -0
- package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +20 -0
- package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +22 -0
- package/dist/fabric-interop/components/AR/ViroARPlane.js +95 -0
- package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +43 -0
- package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +152 -0
- package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +55 -0
- package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +85 -0
- package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +91 -0
- package/dist/fabric-interop/components/AR/ViroCommonProps.js +7 -0
- package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +48 -0
- package/dist/fabric-interop/components/Animation/ViroAnimations.js +64 -0
- package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +66 -0
- package/dist/fabric-interop/components/Material/ViroMaterials.js +85 -0
- package/dist/fabric-interop/components/Types/ViroEvents.d.ts +202 -0
- package/dist/fabric-interop/components/Types/ViroEvents.js +53 -0
- package/dist/fabric-interop/components/Types/ViroUtils.d.ts +137 -0
- package/dist/fabric-interop/components/Types/ViroUtils.js +7 -0
- package/dist/fabric-interop/components/Viro360Image.d.ts +23 -0
- package/dist/fabric-interop/components/Viro360Image.js +45 -0
- package/dist/fabric-interop/components/Viro360Video.d.ts +29 -0
- package/dist/fabric-interop/components/Viro360Video.js +47 -0
- package/dist/fabric-interop/components/Viro3DObject.d.ts +60 -0
- package/dist/fabric-interop/components/Viro3DObject.js +49 -0
- package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +49 -0
- package/dist/fabric-interop/components/Viro3DSceneNavigator.js +388 -0
- package/dist/fabric-interop/components/ViroARCamera.d.ts +29 -0
- package/dist/fabric-interop/components/ViroARCamera.js +64 -0
- package/dist/fabric-interop/components/ViroARImageMarker.d.ts +21 -0
- package/dist/fabric-interop/components/ViroARImageMarker.js +71 -0
- package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +21 -0
- package/dist/fabric-interop/components/ViroARObjectMarker.js +71 -0
- package/dist/fabric-interop/components/ViroARPlane.d.ts +24 -0
- package/dist/fabric-interop/components/ViroARPlane.js +88 -0
- package/dist/fabric-interop/components/ViroARScene.d.ts +29 -0
- package/dist/fabric-interop/components/ViroARScene.js +89 -0
- package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +29 -0
- package/dist/fabric-interop/components/ViroARSceneNavigator.js +76 -0
- package/dist/fabric-interop/components/ViroAmbientLight.d.ts +19 -0
- package/dist/fabric-interop/components/ViroAmbientLight.js +46 -0
- package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +24 -0
- package/dist/fabric-interop/components/ViroAnimatedComponent.js +63 -0
- package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +28 -0
- package/dist/fabric-interop/components/ViroAnimatedImage.js +49 -0
- package/dist/fabric-interop/components/ViroBox.d.ts +20 -0
- package/dist/fabric-interop/components/ViroBox.js +47 -0
- package/dist/fabric-interop/components/ViroButton.d.ts +32 -0
- package/dist/fabric-interop/components/ViroButton.js +92 -0
- package/dist/fabric-interop/components/ViroCamera.d.ts +17 -0
- package/dist/fabric-interop/components/ViroCamera.js +30 -0
- package/dist/fabric-interop/components/ViroController.d.ts +19 -0
- package/dist/fabric-interop/components/ViroController.js +64 -0
- package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +28 -0
- package/dist/fabric-interop/components/ViroDirectionalLight.js +55 -0
- package/dist/fabric-interop/components/ViroFlexView.d.ts +36 -0
- package/dist/fabric-interop/components/ViroFlexView.js +97 -0
- package/dist/fabric-interop/components/ViroGeometry.d.ts +23 -0
- package/dist/fabric-interop/components/ViroGeometry.js +50 -0
- package/dist/fabric-interop/components/ViroGlobal.d.ts +45 -0
- package/dist/fabric-interop/components/ViroGlobal.js +20 -0
- package/dist/fabric-interop/components/ViroImage.d.ts +29 -0
- package/dist/fabric-interop/components/ViroImage.js +52 -0
- package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +19 -0
- package/dist/fabric-interop/components/ViroLightingEnvironment.js +44 -0
- package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +30 -0
- package/dist/fabric-interop/components/ViroMaterialVideo.js +48 -0
- package/dist/fabric-interop/components/ViroNode.d.ts +36 -0
- package/dist/fabric-interop/components/ViroNode.js +28 -0
- package/dist/fabric-interop/components/ViroOmniLight.d.ts +21 -0
- package/dist/fabric-interop/components/ViroOmniLight.js +48 -0
- package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +17 -0
- package/dist/fabric-interop/components/ViroOrbitCamera.js +30 -0
- package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +51 -0
- package/dist/fabric-interop/components/ViroParticleEmitter.js +50 -0
- package/dist/fabric-interop/components/ViroPolygon.d.ts +20 -0
- package/dist/fabric-interop/components/ViroPolygon.js +47 -0
- package/dist/fabric-interop/components/ViroPolyline.d.ts +19 -0
- package/dist/fabric-interop/components/ViroPolyline.js +46 -0
- package/dist/fabric-interop/components/ViroPortal.d.ts +16 -0
- package/dist/fabric-interop/components/ViroPortal.js +73 -0
- package/dist/fabric-interop/components/ViroPortalScene.d.ts +16 -0
- package/dist/fabric-interop/components/ViroPortalScene.js +29 -0
- package/dist/fabric-interop/components/ViroQuad.d.ts +39 -0
- package/dist/fabric-interop/components/ViroQuad.js +49 -0
- package/dist/fabric-interop/components/ViroScene.d.ts +29 -0
- package/dist/fabric-interop/components/ViroScene.js +103 -0
- package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +23 -0
- package/dist/fabric-interop/components/ViroSceneNavigator.js +73 -0
- package/dist/fabric-interop/components/ViroSkyBox.d.ts +39 -0
- package/dist/fabric-interop/components/ViroSkyBox.js +44 -0
- package/dist/fabric-interop/components/ViroSound.d.ts +23 -0
- package/dist/fabric-interop/components/ViroSound.js +46 -0
- package/dist/fabric-interop/components/ViroSoundField.d.ts +24 -0
- package/dist/fabric-interop/components/ViroSoundField.js +47 -0
- package/dist/fabric-interop/components/ViroSpatialSound.d.ts +27 -0
- package/dist/fabric-interop/components/ViroSpatialSound.js +50 -0
- package/dist/fabric-interop/components/ViroSphere.d.ts +22 -0
- package/dist/fabric-interop/components/ViroSphere.js +49 -0
- package/dist/fabric-interop/components/ViroSpinner.d.ts +18 -0
- package/dist/fabric-interop/components/ViroSpinner.js +45 -0
- package/dist/fabric-interop/components/ViroSpotLight.d.ts +30 -0
- package/dist/fabric-interop/components/ViroSpotLight.js +57 -0
- package/dist/fabric-interop/components/ViroSurface.d.ts +38 -0
- package/dist/fabric-interop/components/ViroSurface.js +48 -0
- package/dist/fabric-interop/components/ViroText.d.ts +36 -0
- package/dist/fabric-interop/components/ViroText.js +59 -0
- package/dist/fabric-interop/components/ViroUtils.d.ts +63 -0
- package/dist/fabric-interop/components/ViroUtils.js +140 -0
- package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +25 -0
- package/dist/fabric-interop/components/ViroVRSceneNavigator.js +73 -0
- package/dist/fabric-interop/components/ViroVideo.d.ts +32 -0
- package/dist/fabric-interop/components/ViroVideo.js +52 -0
- package/dist/fabric-interop/components/index.d.ts +62 -0
- package/dist/fabric-interop/components/index.js +144 -0
- package/dist/fabric-interop/examples/BasicSceneExample.d.ts +11 -0
- package/dist/fabric-interop/examples/BasicSceneExample.js +244 -0
- package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +13 -0
- package/dist/fabric-interop/examples/ComprehensiveExample.js +327 -0
- package/dist/fabric-interop/examples/SimpleARExample.d.ts +8 -0
- package/dist/fabric-interop/examples/SimpleARExample.js +62 -0
- package/dist/fabric-interop/index.d.ts +14 -0
- package/dist/fabric-interop/index.js +117 -0
- package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +19 -0
- package/dist/fabric-interop/specs/ViroEventsTurboModule.js +11 -0
- package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +9 -0
- package/dist/fabric-interop/test/BasicFunctionalityTest.js +222 -0
- package/dist/fabric.d.ts +13 -0
- package/dist/fabric.js +29 -0
- package/dist/plugins/withViro.d.ts +3 -0
- package/dist/plugins/withViro.js +19 -0
- package/dist/plugins/withViroAndroid.js +24 -20
- package/dist/plugins/withViroIos.js +20 -2
- package/dynamic-index-source.d.ts +77 -0
- package/dynamic-index.ts +41 -0
- package/fabric-interop/NativeViro.ts +335 -0
- package/fabric-interop/README.md +282 -0
- package/fabric-interop/ViroEventsManager.js +257 -0
- package/fabric-interop/ViroFabricContainer.tsx +273 -0
- package/fabric-interop/components/AR/ViroARPlane.tsx +108 -0
- package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +185 -0
- package/fabric-interop/components/AR/ViroARTrackingTargets.ts +108 -0
- package/fabric-interop/components/AR/ViroCommonProps.ts +140 -0
- package/fabric-interop/components/Animation/ViroAnimations.ts +96 -0
- package/fabric-interop/components/Material/ViroMaterials.ts +127 -0
- package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
- package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
- package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
- package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
- package/fabric-interop/components/Types/ViroEvents.ts +285 -0
- package/fabric-interop/components/Types/ViroUtils.ts +160 -0
- package/fabric-interop/components/Viro360Image.tsx +70 -0
- package/fabric-interop/components/Viro360Video.tsx +78 -0
- package/fabric-interop/components/Viro3DObject.tsx +122 -0
- package/fabric-interop/components/Viro3DSceneNavigator.tsx +503 -0
- package/fabric-interop/components/ViroARCamera.tsx +105 -0
- package/fabric-interop/components/ViroARImageMarker.tsx +98 -0
- package/fabric-interop/components/ViroARObjectMarker.tsx +100 -0
- package/fabric-interop/components/ViroARPlane.tsx +120 -0
- package/fabric-interop/components/ViroARScene.tsx +127 -0
- package/fabric-interop/components/ViroARSceneNavigator.tsx +82 -0
- package/fabric-interop/components/ViroAmbientLight.tsx +62 -0
- package/fabric-interop/components/ViroAnimatedComponent.tsx +91 -0
- package/fabric-interop/components/ViroAnimatedImage.tsx +81 -0
- package/fabric-interop/components/ViroBox.tsx +72 -0
- package/fabric-interop/components/ViroButton.tsx +125 -0
- package/fabric-interop/components/ViroCamera.tsx +45 -0
- package/fabric-interop/components/ViroController.tsx +87 -0
- package/fabric-interop/components/ViroDirectionalLight.tsx +84 -0
- package/fabric-interop/components/ViroFlexView.tsx +146 -0
- package/fabric-interop/components/ViroGeometry.tsx +78 -0
- package/fabric-interop/components/ViroGlobal.ts +114 -0
- package/fabric-interop/components/ViroImage.tsx +85 -0
- package/fabric-interop/components/ViroLightingEnvironment.tsx +63 -0
- package/fabric-interop/components/ViroMaterialVideo.tsx +82 -0
- package/fabric-interop/components/ViroNode.tsx +62 -0
- package/fabric-interop/components/ViroOmniLight.tsx +66 -0
- package/fabric-interop/components/ViroOrbitCamera.tsx +45 -0
- package/fabric-interop/components/ViroParticleEmitter.tsx +111 -0
- package/fabric-interop/components/ViroPolygon.tsx +72 -0
- package/fabric-interop/components/ViroPolyline.tsx +71 -0
- package/fabric-interop/components/ViroPortal.tsx +91 -0
- package/fabric-interop/components/ViroPortalScene.tsx +43 -0
- package/fabric-interop/components/ViroQuad.tsx +82 -0
- package/fabric-interop/components/ViroScene.tsx +117 -0
- package/fabric-interop/components/ViroSceneNavigator.tsx +71 -0
- package/fabric-interop/components/ViroSkyBox.tsx +75 -0
- package/fabric-interop/components/ViroSound.tsx +71 -0
- package/fabric-interop/components/ViroSoundField.tsx +75 -0
- package/fabric-interop/components/ViroSpatialSound.tsx +81 -0
- package/fabric-interop/components/ViroSphere.tsx +75 -0
- package/fabric-interop/components/ViroSpinner.tsx +63 -0
- package/fabric-interop/components/ViroSpotLight.tsx +86 -0
- package/fabric-interop/components/ViroSurface.tsx +80 -0
- package/fabric-interop/components/ViroText.tsx +114 -0
- package/fabric-interop/components/ViroUtils.ts +208 -0
- package/fabric-interop/components/ViroVRSceneNavigator.tsx +75 -0
- package/fabric-interop/components/ViroVideo.tsx +91 -0
- package/fabric-interop/components/index.ts +94 -0
- package/fabric-interop/dist/NativeViro.d.ts +43 -0
- package/fabric-interop/dist/NativeViro.d.ts.map +1 -0
- package/fabric-interop/dist/NativeViro.js +263 -0
- package/fabric-interop/dist/NativeViro.js.map +1 -0
- package/fabric-interop/dist/ViroFabricContainer.d.ts +35 -0
- package/fabric-interop/dist/ViroFabricContainer.d.ts.map +1 -0
- package/fabric-interop/dist/ViroFabricContainer.js +201 -0
- package/fabric-interop/dist/ViroFabricContainer.js.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +23 -0
- package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARPlane.js +96 -0
- package/fabric-interop/dist/components/AR/ViroARPlane.js.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +44 -0
- package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +156 -0
- package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +56 -0
- package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +1 -0
- package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +86 -0
- package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +1 -0
- package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +92 -0
- package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +1 -0
- package/fabric-interop/dist/components/AR/ViroCommonProps.js +8 -0
- package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +1 -0
- package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +49 -0
- package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +1 -0
- package/fabric-interop/dist/components/Animation/ViroAnimations.js +65 -0
- package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +1 -0
- package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +67 -0
- package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +1 -0
- package/fabric-interop/dist/components/Material/ViroMaterials.js +86 -0
- package/fabric-interop/dist/components/Material/ViroMaterials.js.map +1 -0
- package/fabric-interop/dist/components/Types/ViroEvents.d.ts +203 -0
- package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +1 -0
- package/fabric-interop/dist/components/Types/ViroEvents.js +54 -0
- package/fabric-interop/dist/components/Types/ViroEvents.js.map +1 -0
- package/fabric-interop/dist/components/Types/ViroUtils.d.ts +138 -0
- package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +1 -0
- package/fabric-interop/dist/components/Types/ViroUtils.js +8 -0
- package/fabric-interop/dist/components/Types/ViroUtils.js.map +1 -0
- package/fabric-interop/dist/components/Viro360Image.d.ts +24 -0
- package/fabric-interop/dist/components/Viro360Image.d.ts.map +1 -0
- package/fabric-interop/dist/components/Viro360Image.js +47 -0
- package/fabric-interop/dist/components/Viro360Image.js.map +1 -0
- package/fabric-interop/dist/components/Viro360Video.d.ts +30 -0
- package/fabric-interop/dist/components/Viro360Video.d.ts.map +1 -0
- package/fabric-interop/dist/components/Viro360Video.js +49 -0
- package/fabric-interop/dist/components/Viro360Video.js.map +1 -0
- package/fabric-interop/dist/components/Viro3DObject.d.ts +61 -0
- package/fabric-interop/dist/components/Viro3DObject.d.ts.map +1 -0
- package/fabric-interop/dist/components/Viro3DObject.js +51 -0
- package/fabric-interop/dist/components/Viro3DObject.js.map +1 -0
- package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +50 -0
- package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +1 -0
- package/fabric-interop/dist/components/Viro3DSceneNavigator.js +389 -0
- package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +1 -0
- package/fabric-interop/dist/components/ViroARCamera.d.ts +30 -0
- package/fabric-interop/dist/components/ViroARCamera.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARCamera.js +65 -0
- package/fabric-interop/dist/components/ViroARCamera.js.map +1 -0
- package/fabric-interop/dist/components/ViroARImageMarker.d.ts +22 -0
- package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARImageMarker.js +72 -0
- package/fabric-interop/dist/components/ViroARImageMarker.js.map +1 -0
- package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +22 -0
- package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARObjectMarker.js +72 -0
- package/fabric-interop/dist/components/ViroARObjectMarker.js.map +1 -0
- package/fabric-interop/dist/components/ViroARPlane.d.ts +25 -0
- package/fabric-interop/dist/components/ViroARPlane.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARPlane.js +89 -0
- package/fabric-interop/dist/components/ViroARPlane.js.map +1 -0
- package/fabric-interop/dist/components/ViroARScene.d.ts +30 -0
- package/fabric-interop/dist/components/ViroARScene.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARScene.js +90 -0
- package/fabric-interop/dist/components/ViroARScene.js.map +1 -0
- package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +30 -0
- package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroARSceneNavigator.js +78 -0
- package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +1 -0
- package/fabric-interop/dist/components/ViroAmbientLight.d.ts +20 -0
- package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroAmbientLight.js +48 -0
- package/fabric-interop/dist/components/ViroAmbientLight.js.map +1 -0
- package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +25 -0
- package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroAnimatedComponent.js +65 -0
- package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +1 -0
- package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +29 -0
- package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroAnimatedImage.js +51 -0
- package/fabric-interop/dist/components/ViroAnimatedImage.js.map +1 -0
- package/fabric-interop/dist/components/ViroBox.d.ts +21 -0
- package/fabric-interop/dist/components/ViroBox.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroBox.js +49 -0
- package/fabric-interop/dist/components/ViroBox.js.map +1 -0
- package/fabric-interop/dist/components/ViroButton.d.ts +33 -0
- package/fabric-interop/dist/components/ViroButton.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroButton.js +94 -0
- package/fabric-interop/dist/components/ViroButton.js.map +1 -0
- package/fabric-interop/dist/components/ViroCamera.d.ts +18 -0
- package/fabric-interop/dist/components/ViroCamera.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroCamera.js +31 -0
- package/fabric-interop/dist/components/ViroCamera.js.map +1 -0
- package/fabric-interop/dist/components/ViroController.d.ts +20 -0
- package/fabric-interop/dist/components/ViroController.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroController.js +65 -0
- package/fabric-interop/dist/components/ViroController.js.map +1 -0
- package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +29 -0
- package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroDirectionalLight.js +57 -0
- package/fabric-interop/dist/components/ViroDirectionalLight.js.map +1 -0
- package/fabric-interop/dist/components/ViroFlexView.d.ts +37 -0
- package/fabric-interop/dist/components/ViroFlexView.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroFlexView.js +98 -0
- package/fabric-interop/dist/components/ViroFlexView.js.map +1 -0
- package/fabric-interop/dist/components/ViroGeometry.d.ts +24 -0
- package/fabric-interop/dist/components/ViroGeometry.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroGeometry.js +52 -0
- package/fabric-interop/dist/components/ViroGeometry.js.map +1 -0
- package/fabric-interop/dist/components/ViroGlobal.d.ts +46 -0
- package/fabric-interop/dist/components/ViroGlobal.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroGlobal.js +21 -0
- package/fabric-interop/dist/components/ViroGlobal.js.map +1 -0
- package/fabric-interop/dist/components/ViroImage.d.ts +30 -0
- package/fabric-interop/dist/components/ViroImage.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroImage.js +54 -0
- package/fabric-interop/dist/components/ViroImage.js.map +1 -0
- package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +20 -0
- package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroLightingEnvironment.js +46 -0
- package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +1 -0
- package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +31 -0
- package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroMaterialVideo.js +50 -0
- package/fabric-interop/dist/components/ViroMaterialVideo.js.map +1 -0
- package/fabric-interop/dist/components/ViroNode.d.ts +37 -0
- package/fabric-interop/dist/components/ViroNode.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroNode.js +29 -0
- package/fabric-interop/dist/components/ViroNode.js.map +1 -0
- package/fabric-interop/dist/components/ViroOmniLight.d.ts +22 -0
- package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroOmniLight.js +50 -0
- package/fabric-interop/dist/components/ViroOmniLight.js.map +1 -0
- package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +18 -0
- package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroOrbitCamera.js +31 -0
- package/fabric-interop/dist/components/ViroOrbitCamera.js.map +1 -0
- package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +52 -0
- package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroParticleEmitter.js +52 -0
- package/fabric-interop/dist/components/ViroParticleEmitter.js.map +1 -0
- package/fabric-interop/dist/components/ViroPolygon.d.ts +21 -0
- package/fabric-interop/dist/components/ViroPolygon.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroPolygon.js +49 -0
- package/fabric-interop/dist/components/ViroPolygon.js.map +1 -0
- package/fabric-interop/dist/components/ViroPolyline.d.ts +20 -0
- package/fabric-interop/dist/components/ViroPolyline.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroPolyline.js +48 -0
- package/fabric-interop/dist/components/ViroPolyline.js.map +1 -0
- package/fabric-interop/dist/components/ViroPortal.d.ts +17 -0
- package/fabric-interop/dist/components/ViroPortal.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroPortal.js +74 -0
- package/fabric-interop/dist/components/ViroPortal.js.map +1 -0
- package/fabric-interop/dist/components/ViroPortalScene.d.ts +17 -0
- package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroPortalScene.js +30 -0
- package/fabric-interop/dist/components/ViroPortalScene.js.map +1 -0
- package/fabric-interop/dist/components/ViroQuad.d.ts +40 -0
- package/fabric-interop/dist/components/ViroQuad.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroQuad.js +51 -0
- package/fabric-interop/dist/components/ViroQuad.js.map +1 -0
- package/fabric-interop/dist/components/ViroScene.d.ts +30 -0
- package/fabric-interop/dist/components/ViroScene.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroScene.js +105 -0
- package/fabric-interop/dist/components/ViroScene.js.map +1 -0
- package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +24 -0
- package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSceneNavigator.js +74 -0
- package/fabric-interop/dist/components/ViroSceneNavigator.js.map +1 -0
- package/fabric-interop/dist/components/ViroSkyBox.d.ts +40 -0
- package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSkyBox.js +46 -0
- package/fabric-interop/dist/components/ViroSkyBox.js.map +1 -0
- package/fabric-interop/dist/components/ViroSound.d.ts +24 -0
- package/fabric-interop/dist/components/ViroSound.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSound.js +48 -0
- package/fabric-interop/dist/components/ViroSound.js.map +1 -0
- package/fabric-interop/dist/components/ViroSoundField.d.ts +25 -0
- package/fabric-interop/dist/components/ViroSoundField.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSoundField.js +49 -0
- package/fabric-interop/dist/components/ViroSoundField.js.map +1 -0
- package/fabric-interop/dist/components/ViroSpatialSound.d.ts +28 -0
- package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSpatialSound.js +52 -0
- package/fabric-interop/dist/components/ViroSpatialSound.js.map +1 -0
- package/fabric-interop/dist/components/ViroSphere.d.ts +23 -0
- package/fabric-interop/dist/components/ViroSphere.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSphere.js +51 -0
- package/fabric-interop/dist/components/ViroSphere.js.map +1 -0
- package/fabric-interop/dist/components/ViroSpinner.d.ts +19 -0
- package/fabric-interop/dist/components/ViroSpinner.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSpinner.js +47 -0
- package/fabric-interop/dist/components/ViroSpinner.js.map +1 -0
- package/fabric-interop/dist/components/ViroSpotLight.d.ts +31 -0
- package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSpotLight.js +59 -0
- package/fabric-interop/dist/components/ViroSpotLight.js.map +1 -0
- package/fabric-interop/dist/components/ViroSurface.d.ts +39 -0
- package/fabric-interop/dist/components/ViroSurface.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroSurface.js +50 -0
- package/fabric-interop/dist/components/ViroSurface.js.map +1 -0
- package/fabric-interop/dist/components/ViroText.d.ts +37 -0
- package/fabric-interop/dist/components/ViroText.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroText.js +61 -0
- package/fabric-interop/dist/components/ViroText.js.map +1 -0
- package/fabric-interop/dist/components/ViroUtils.d.ts +64 -0
- package/fabric-interop/dist/components/ViroUtils.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroUtils.js +141 -0
- package/fabric-interop/dist/components/ViroUtils.js.map +1 -0
- package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +26 -0
- package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroVRSceneNavigator.js +74 -0
- package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +1 -0
- package/fabric-interop/dist/components/ViroVideo.d.ts +33 -0
- package/fabric-interop/dist/components/ViroVideo.d.ts.map +1 -0
- package/fabric-interop/dist/components/ViroVideo.js +54 -0
- package/fabric-interop/dist/components/ViroVideo.js.map +1 -0
- package/fabric-interop/dist/components/index.d.ts +63 -0
- package/fabric-interop/dist/components/index.d.ts.map +1 -0
- package/fabric-interop/dist/components/index.js +145 -0
- package/fabric-interop/dist/components/index.js.map +1 -0
- package/fabric-interop/dist/index.d.ts +15 -0
- package/fabric-interop/dist/index.d.ts.map +1 -0
- package/fabric-interop/dist/index.js +118 -0
- package/fabric-interop/dist/index.js.map +1 -0
- package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +20 -0
- package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +1 -0
- package/fabric-interop/dist/specs/ViroEventsTurboModule.js +12 -0
- package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +1 -0
- package/fabric-interop/examples/BasicSceneExample.tsx +287 -0
- package/fabric-interop/examples/ComprehensiveExample.tsx +441 -0
- package/fabric-interop/examples/SimpleARExample.tsx +95 -0
- package/fabric-interop/global.d.ts +14 -0
- package/fabric-interop/index.ts +107 -0
- package/fabric-interop/metro.config.js +12 -0
- package/fabric-interop/package.json +40 -0
- package/fabric-interop/react-native.config.js +22 -0
- package/fabric-interop/scripts/validate-build.js +393 -0
- package/fabric-interop/scripts/validate-implementation.js +272 -0
- package/fabric-interop/specs/README.md +22 -0
- package/fabric-interop/specs/ViroEventsTurboModule.ts +27 -0
- package/fabric-interop/test/BasicFunctionalityTest.tsx +243 -0
- package/fabric-interop/tsconfig.json +38 -0
- package/fabric.d.ts +5 -0
- package/fabric.ts +14 -0
- package/ios/ViroReact.podspec +51 -11
- package/package.json +33 -20
- package/scripts/copy-types.js +46 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ViroFabricContainer
|
|
4
|
+
*
|
|
5
|
+
* This is the main container component that Fabric manages directly.
|
|
6
|
+
* It serves as a viewport for the Viro rendering engine and delegates
|
|
7
|
+
* rendering to the existing native implementation.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.ViroFabricContainer = void 0;
|
|
44
|
+
const react_1 = __importStar(require("react"));
|
|
45
|
+
const react_native_1 = require("react-native");
|
|
46
|
+
// Check if New Architecture is enabled
|
|
47
|
+
const isNewArchitectureEnabled = () => {
|
|
48
|
+
if (global.__turboModuleProxy == null) {
|
|
49
|
+
throw new Error("Viro: New Architecture is not enabled. This library requires React Native New Architecture. " +
|
|
50
|
+
"Please enable it in your app by following the instructions at: " +
|
|
51
|
+
"https://reactnative.dev/docs/new-architecture-intro");
|
|
52
|
+
}
|
|
53
|
+
// We're assuming the minimum supported version (0.76.9+) since this is a Fabric-only component
|
|
54
|
+
return true;
|
|
55
|
+
};
|
|
56
|
+
// Check if the component exists in UIManager
|
|
57
|
+
const isFabricComponentAvailable = () => {
|
|
58
|
+
isNewArchitectureEnabled(); // This will throw if New Architecture is not enabled
|
|
59
|
+
if (!react_native_1.UIManager.getViewManagerConfig ||
|
|
60
|
+
react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView") == null) {
|
|
61
|
+
throw new Error("ViroFabricContainerView is not available. Make sure you have installed the native module properly.");
|
|
62
|
+
}
|
|
63
|
+
return true;
|
|
64
|
+
};
|
|
65
|
+
// Define the native component
|
|
66
|
+
// @ts-ignore - TypeScript doesn't know about the props of the native component
|
|
67
|
+
const NativeViroFabricContainer = (0, react_native_1.requireNativeComponent)("ViroFabricContainerView");
|
|
68
|
+
/**
|
|
69
|
+
* ViroFabricContainer is the main component that hosts the Viro rendering engine.
|
|
70
|
+
* It creates a native view that the Viro renderer can draw on and manages the
|
|
71
|
+
* lifecycle of the Viro system.
|
|
72
|
+
*/
|
|
73
|
+
const ViroFabricContainer = ({ debug = false, arEnabled = false, worldAlignment = "Gravity", onInitialized, onTrackingUpdated, onCameraTransformUpdate, onSceneStateChanged, onMemoryWarning, children, }) => {
|
|
74
|
+
// Reference to the native component
|
|
75
|
+
const containerRef = (0, react_1.useRef)(null);
|
|
76
|
+
// Root node ID for the scene
|
|
77
|
+
const rootNodeId = (0, react_1.useRef)("viro_root_scene");
|
|
78
|
+
// Event callback registry
|
|
79
|
+
const eventCallbacks = (0, react_1.useRef)({});
|
|
80
|
+
// Set up event handling for JSI and fallback event emitter approach
|
|
81
|
+
(0, react_1.useEffect)(() => {
|
|
82
|
+
// Set up global event handler for JSI events
|
|
83
|
+
if (typeof global !== "undefined") {
|
|
84
|
+
// @ts-ignore - This property will be added by the native code
|
|
85
|
+
global.handleViroEvent = (callbackId, eventData) => {
|
|
86
|
+
// Find the callback in the registry and call it
|
|
87
|
+
const callback = eventCallbacks.current[callbackId];
|
|
88
|
+
if (callback) {
|
|
89
|
+
callback(eventData);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.warn(`No callback found for ID: ${callbackId}`);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// Set up event emitter for fallback approach
|
|
97
|
+
const eventEmitter = new react_native_1.NativeEventEmitter(react_native_1.NativeModules.ViroFabricManager);
|
|
98
|
+
// Add the ViroEvent listener
|
|
99
|
+
const subscription = eventEmitter.addListener("ViroEvent", (event) => {
|
|
100
|
+
const { callbackId, data } = event;
|
|
101
|
+
const callback = eventCallbacks.current[callbackId];
|
|
102
|
+
if (callback) {
|
|
103
|
+
callback(data);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
console.warn(`No callback found for ID: ${callbackId} (via event emitter)`);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return () => {
|
|
110
|
+
// Clean up event subscription
|
|
111
|
+
subscription.remove();
|
|
112
|
+
// Clean up global event handler
|
|
113
|
+
if (typeof global !== "undefined") {
|
|
114
|
+
// @ts-ignore - This property was added by us
|
|
115
|
+
delete global.handleViroEvent;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}, []);
|
|
119
|
+
// Initialize the Viro system when the component mounts
|
|
120
|
+
(0, react_1.useEffect)(() => {
|
|
121
|
+
if (containerRef.current && isFabricComponentAvailable()) {
|
|
122
|
+
const nodeHandle = (0, react_native_1.findNodeHandle)(containerRef.current);
|
|
123
|
+
if (!nodeHandle) {
|
|
124
|
+
console.error("Failed to get node handle for ViroFabricContainer");
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
// Use the codegenNativeCommands approach for New Architecture
|
|
129
|
+
const ViroFabricContainerCommands = react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView").Commands;
|
|
130
|
+
if (!ViroFabricContainerCommands) {
|
|
131
|
+
console.error("ViroFabricContainerView commands not found in UIManager");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
// Call the native method to initialize
|
|
135
|
+
react_native_1.UIManager.dispatchViewManagerCommand(nodeHandle, ViroFabricContainerCommands.initialize, [debug || false, arEnabled || false, worldAlignment || "Gravity"]);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
console.error("Failed to initialize ViroFabricContainer:", error);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Cleanup when unmounting
|
|
142
|
+
return () => {
|
|
143
|
+
if (containerRef.current) {
|
|
144
|
+
const nodeHandle = (0, react_native_1.findNodeHandle)(containerRef.current);
|
|
145
|
+
if (!nodeHandle)
|
|
146
|
+
return;
|
|
147
|
+
try {
|
|
148
|
+
// Use the same approach as initialize for cleanup
|
|
149
|
+
const ViroFabricContainerCommands = react_native_1.UIManager.getViewManagerConfig("ViroFabricContainerView").Commands;
|
|
150
|
+
if (!ViroFabricContainerCommands ||
|
|
151
|
+
!ViroFabricContainerCommands.cleanup) {
|
|
152
|
+
console.error("ViroFabricContainerView cleanup command not found in UIManager");
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// Call the native method to cleanup
|
|
156
|
+
react_native_1.UIManager.dispatchViewManagerCommand(nodeHandle, ViroFabricContainerCommands.cleanup, []);
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
console.error("Failed to cleanup ViroFabricContainer:", error);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}, [debug, arEnabled, worldAlignment]);
|
|
164
|
+
// Handle initialization event
|
|
165
|
+
const handleInitialized = (event) => {
|
|
166
|
+
if (onInitialized) {
|
|
167
|
+
onInitialized(event.nativeEvent.success);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
// Handle tracking updated event
|
|
171
|
+
const handleTrackingUpdated = (event) => {
|
|
172
|
+
if (onTrackingUpdated) {
|
|
173
|
+
onTrackingUpdated(event.nativeEvent);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
// Handle camera transform update event
|
|
177
|
+
const handleCameraTransformUpdate = (event) => {
|
|
178
|
+
if (onCameraTransformUpdate) {
|
|
179
|
+
onCameraTransformUpdate(event.nativeEvent);
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
// Handle scene state changed event
|
|
183
|
+
const handleSceneStateChanged = (event) => {
|
|
184
|
+
if (onSceneStateChanged) {
|
|
185
|
+
onSceneStateChanged(event.nativeEvent);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
// Handle memory warning event
|
|
189
|
+
const handleMemoryWarning = (event) => {
|
|
190
|
+
if (onMemoryWarning) {
|
|
191
|
+
onMemoryWarning(event.nativeEvent);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
// This will throw an error if the native component is not available or New Architecture is not enabled
|
|
195
|
+
isFabricComponentAvailable();
|
|
196
|
+
return (<NativeViroFabricContainer ref={containerRef} style={{ flex: 1 }} onInitialized={handleInitialized} onTrackingUpdated={handleTrackingUpdated} onCameraTransformUpdate={handleCameraTransformUpdate} onSceneStateChanged={handleSceneStateChanged} onMemoryWarning={handleMemoryWarning}>
|
|
197
|
+
{children}
|
|
198
|
+
</NativeViroFabricContainer>);
|
|
199
|
+
};
|
|
200
|
+
exports.ViroFabricContainer = ViroFabricContainer;
|
package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @format
|
|
8
|
+
*/
|
|
9
|
+
import type { ViewProps } from "react-native";
|
|
10
|
+
import type { HostComponent } from "react-native";
|
|
11
|
+
export interface NativeProps extends ViewProps {
|
|
12
|
+
apiKey?: string;
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
arEnabled?: boolean;
|
|
15
|
+
worldAlignment?: string;
|
|
16
|
+
onInitialized?: (event: {
|
|
17
|
+
nativeEvent: {
|
|
18
|
+
success: boolean;
|
|
19
|
+
};
|
|
20
|
+
}) => void;
|
|
21
|
+
onTrackingUpdated?: (event: {
|
|
22
|
+
nativeEvent: any;
|
|
23
|
+
}) => void;
|
|
24
|
+
onCameraTransformUpdate?: (event: {
|
|
25
|
+
nativeEvent: any;
|
|
26
|
+
}) => void;
|
|
27
|
+
}
|
|
28
|
+
export type ViroFabricContainerViewType = HostComponent<NativeProps>;
|
|
29
|
+
interface NativeCommands {
|
|
30
|
+
initialize: (viewRef: React.ElementRef<ViroFabricContainerViewType>, apiKey: string, debug: boolean, arEnabled: boolean, worldAlignment: string) => void;
|
|
31
|
+
cleanup: (viewRef: React.ElementRef<ViroFabricContainerViewType>) => void;
|
|
32
|
+
}
|
|
33
|
+
export declare const Commands: NativeCommands;
|
|
34
|
+
declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
|
|
35
|
+
export default _default;
|
package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.Commands = void 0;
|
|
15
|
+
const codegenNativeComponent_1 = __importDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
16
|
+
const codegenNativeCommands_1 = __importDefault(require("react-native/Libraries/Utilities/codegenNativeCommands"));
|
|
17
|
+
exports.Commands = (0, codegenNativeCommands_1.default)({
|
|
18
|
+
supportedCommands: ["initialize", "cleanup"],
|
|
19
|
+
});
|
|
20
|
+
exports.default = (0, codegenNativeComponent_1.default)("ViroFabricContainerView");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViroARPlane
|
|
3
|
+
*
|
|
4
|
+
* Container for Viro Components anchored to a detected plane.
|
|
5
|
+
*/
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { ViroCommonProps, ViroObjectProps } from "./ViroCommonProps";
|
|
8
|
+
import { ViroAnchorFoundMap, ViroAnchorUpdatedMap } from "../Types/ViroEvents";
|
|
9
|
+
type Props = ViroCommonProps & ViroObjectProps & {
|
|
10
|
+
anchorId?: string;
|
|
11
|
+
minHeight?: number;
|
|
12
|
+
minWidth?: number;
|
|
13
|
+
alignment?: "Horizontal" | "HorizontalUpward" | "HorizontalDownward" | "Vertical";
|
|
14
|
+
onAnchorFound?: (anchorMap: ViroAnchorFoundMap) => void;
|
|
15
|
+
onAnchorUpdated?: (anchorMap: ViroAnchorUpdatedMap) => void;
|
|
16
|
+
onAnchorRemoved?: () => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Container for Viro Components anchored to a detected plane.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ViroARPlane(props: Props): React.ReactElement;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ViroARPlane
|
|
4
|
+
*
|
|
5
|
+
* Container for Viro Components anchored to a detected plane.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.ViroARPlane = ViroARPlane;
|
|
42
|
+
const React = __importStar(require("react"));
|
|
43
|
+
const react_1 = require("react");
|
|
44
|
+
const ViroNode_1 = require("../ViroNode");
|
|
45
|
+
const ViroUtils_1 = require("../ViroUtils");
|
|
46
|
+
const NativeViro_1 = require("../../NativeViro");
|
|
47
|
+
/**
|
|
48
|
+
* Container for Viro Components anchored to a detected plane.
|
|
49
|
+
*/
|
|
50
|
+
function ViroARPlane(props) {
|
|
51
|
+
const { anchorId, minHeight, minWidth, alignment, onAnchorFound, onAnchorUpdated, onAnchorRemoved, children, ...rest } = props;
|
|
52
|
+
// Create the node
|
|
53
|
+
const nodeProps = {
|
|
54
|
+
...rest,
|
|
55
|
+
anchorId,
|
|
56
|
+
minHeight,
|
|
57
|
+
minWidth,
|
|
58
|
+
alignment,
|
|
59
|
+
};
|
|
60
|
+
const nodeId = (0, ViroUtils_1.useViroNode)("arPlane", nodeProps);
|
|
61
|
+
// Set up event listeners
|
|
62
|
+
(0, react_1.useEffect)(() => {
|
|
63
|
+
const anchorFoundCallbackId = onAnchorFound
|
|
64
|
+
? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorFound", (event) => {
|
|
65
|
+
onAnchorFound(event.anchorFoundMap);
|
|
66
|
+
})
|
|
67
|
+
: null;
|
|
68
|
+
const anchorUpdatedCallbackId = onAnchorUpdated
|
|
69
|
+
? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorUpdated", (event) => {
|
|
70
|
+
onAnchorUpdated(event.anchorUpdatedMap);
|
|
71
|
+
})
|
|
72
|
+
: null;
|
|
73
|
+
const anchorRemovedCallbackId = onAnchorRemoved
|
|
74
|
+
? (0, NativeViro_1.registerEventListener)(nodeId, "onAnchorRemoved", () => {
|
|
75
|
+
onAnchorRemoved();
|
|
76
|
+
})
|
|
77
|
+
: null;
|
|
78
|
+
// Clean up event listeners
|
|
79
|
+
return () => {
|
|
80
|
+
if (anchorFoundCallbackId) {
|
|
81
|
+
(0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorFound", anchorFoundCallbackId);
|
|
82
|
+
}
|
|
83
|
+
if (anchorUpdatedCallbackId) {
|
|
84
|
+
(0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorUpdated", anchorUpdatedCallbackId);
|
|
85
|
+
}
|
|
86
|
+
if (anchorRemovedCallbackId) {
|
|
87
|
+
(0, NativeViro_1.unregisterEventListener)(nodeId, "onAnchorRemoved", anchorRemovedCallbackId);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}, [nodeId, onAnchorFound, onAnchorUpdated, onAnchorRemoved]);
|
|
91
|
+
// Render children within this node
|
|
92
|
+
return (<ViroNode_1.ViroNode viroTag={nodeId} position={[0, 0, 0]}>
|
|
93
|
+
{children}
|
|
94
|
+
</ViroNode_1.ViroNode>);
|
|
95
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViroARPlaneSelector
|
|
3
|
+
*
|
|
4
|
+
* This component wraps the logic required to enable user selection
|
|
5
|
+
* of an AR plane. This currently only allows for 1 plane to be selected,
|
|
6
|
+
* but could easily be modified to allow for more planes.
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { ViroPlaneUpdatedMap, ViroARPlaneSizes, ViroClickStateEvent } from "../../components/Types/ViroEvents";
|
|
10
|
+
import { ViroARPlaneType, ViroNativeRef } from "../../components/Types/ViroUtils";
|
|
11
|
+
import { ViroCommonProps, ViroObjectProps } from "../../components/AR/ViroCommonProps";
|
|
12
|
+
type Props = ViroCommonProps & ViroObjectProps & {
|
|
13
|
+
maxPlanes?: number;
|
|
14
|
+
minHeight?: number;
|
|
15
|
+
minWidth?: number;
|
|
16
|
+
alignment?: "Horizontal" | "HorizontalUpward" | "HorizontalDownward" | "Vertical";
|
|
17
|
+
onPlaneSelected?: (updateMap: ViroPlaneUpdatedMap) => void;
|
|
18
|
+
};
|
|
19
|
+
type State = {
|
|
20
|
+
selectedSurface: number;
|
|
21
|
+
foundARPlanes: ViroARPlaneType[];
|
|
22
|
+
arPlaneSizes: ViroARPlaneSizes;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* This component wraps the logic required to enable user selection
|
|
26
|
+
* of an AR plane. This currently only allows for 1 plane to be selected,
|
|
27
|
+
* but could easily be modified to allow for more planes.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ViroARPlaneSelector extends React.Component<Props, State> {
|
|
30
|
+
_component: ViroNativeRef;
|
|
31
|
+
state: {
|
|
32
|
+
selectedSurface: number;
|
|
33
|
+
foundARPlanes: ViroARPlaneType[];
|
|
34
|
+
arPlaneSizes: number[];
|
|
35
|
+
};
|
|
36
|
+
render(): React.JSX.Element;
|
|
37
|
+
_getARPlanes(): JSX.Element[];
|
|
38
|
+
_getOnClickSurface: (index: number, event: ViroClickStateEvent) => void;
|
|
39
|
+
_onARPlaneUpdated: (index: number) => (updateMap: ViroPlaneUpdatedMap) => void;
|
|
40
|
+
_onPlaneSelected: (updateMap: ViroPlaneUpdatedMap) => void;
|
|
41
|
+
reset: () => void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ViroARPlaneSelector
|
|
4
|
+
*
|
|
5
|
+
* This component wraps the logic required to enable user selection
|
|
6
|
+
* of an AR plane. This currently only allows for 1 plane to be selected,
|
|
7
|
+
* but could easily be modified to allow for more planes.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.ViroARPlaneSelector = void 0;
|
|
47
|
+
const React = __importStar(require("react"));
|
|
48
|
+
const ViroNode_1 = require("../ViroNode");
|
|
49
|
+
const ViroQuad_1 = require("../ViroQuad");
|
|
50
|
+
const ViroMaterials_1 = __importDefault(require("../Material/ViroMaterials"));
|
|
51
|
+
const ViroARPlane_1 = require("../AR/ViroARPlane");
|
|
52
|
+
const _maxPlanes = 15;
|
|
53
|
+
const _planePrefix = "ViroARPlaneSelector_Plane_";
|
|
54
|
+
/**
|
|
55
|
+
* This component wraps the logic required to enable user selection
|
|
56
|
+
* of an AR plane. This currently only allows for 1 plane to be selected,
|
|
57
|
+
* but could easily be modified to allow for more planes.
|
|
58
|
+
*/
|
|
59
|
+
class ViroARPlaneSelector extends React.Component {
|
|
60
|
+
_component = null;
|
|
61
|
+
state = {
|
|
62
|
+
selectedSurface: -1,
|
|
63
|
+
foundARPlanes: [],
|
|
64
|
+
arPlaneSizes: [],
|
|
65
|
+
};
|
|
66
|
+
render() {
|
|
67
|
+
return <ViroNode_1.ViroNode>{this._getARPlanes()}</ViroNode_1.ViroNode>;
|
|
68
|
+
}
|
|
69
|
+
_getARPlanes() {
|
|
70
|
+
// Always render a fixed number of planes, controlling visibility instead of conditional rendering
|
|
71
|
+
let arPlanes = [];
|
|
72
|
+
let numPlanes = this.props.maxPlanes || _maxPlanes;
|
|
73
|
+
// Create all plane slots (both detected and placeholder)
|
|
74
|
+
for (let i = 0; i < numPlanes; i++) {
|
|
75
|
+
// Determine if this is the selected plane
|
|
76
|
+
const isSelected = this.state.selectedSurface === i;
|
|
77
|
+
// Get real plane data if available, or use defaults
|
|
78
|
+
const foundARPlane = this.state.foundARPlanes[i];
|
|
79
|
+
const hasPlaneData = !!foundARPlane;
|
|
80
|
+
// Extract plane data or use defaults
|
|
81
|
+
const surfaceWidth = hasPlaneData ? foundARPlane.width || 0.5 : 0.5;
|
|
82
|
+
const surfaceHeight = hasPlaneData ? foundARPlane.height || 0.5 : 0.5;
|
|
83
|
+
const surfacePosition = hasPlaneData
|
|
84
|
+
? foundARPlane.center || [0, 0, 0]
|
|
85
|
+
: [0, 0, 0];
|
|
86
|
+
const anchorId = hasPlaneData
|
|
87
|
+
? foundARPlane.anchorId
|
|
88
|
+
: undefined;
|
|
89
|
+
// Determine visibility based on selection state
|
|
90
|
+
// - In selection mode (selectedSurface === -1): show all planes
|
|
91
|
+
// - In selected mode: only show the selected plane
|
|
92
|
+
const isVisible = this.state.selectedSurface === -1 || isSelected;
|
|
93
|
+
arPlanes.push(<ViroARPlane_1.ViroARPlane key={_planePrefix + i} minWidth={this.props.minWidth || 0.5} minHeight={this.props.minHeight || 0.5} alignment={this.props.alignment} anchorId={anchorId} onAnchorFound={(anchor) => {
|
|
94
|
+
// If we find an anchor, update our plane data
|
|
95
|
+
this._onARPlaneUpdated(i)(anchor);
|
|
96
|
+
}} onAnchorUpdated={this._onARPlaneUpdated(i)}>
|
|
97
|
+
{/* Always render both the quad and children, controlling only visibility */}
|
|
98
|
+
<ViroQuad_1.ViroQuad materials={"ViroARPlaneSelector_Translucent"} onClickState={(event) => this._getOnClickSurface(i, event)} position={surfacePosition} width={surfaceWidth} height={surfaceHeight} rotation={[-90, 0, 0]} opacity={isSelected ? 0 : isVisible ? 1 : 0}/>
|
|
99
|
+
|
|
100
|
+
{/* Wrap children in a ViroNode to control visibility if children exist */}
|
|
101
|
+
{this.props.children && (<ViroNode_1.ViroNode opacity={isSelected ? 1 : 0}>
|
|
102
|
+
{this.props.children}
|
|
103
|
+
</ViroNode_1.ViroNode>)}
|
|
104
|
+
</ViroARPlane_1.ViroARPlane>);
|
|
105
|
+
}
|
|
106
|
+
return arPlanes;
|
|
107
|
+
}
|
|
108
|
+
_getOnClickSurface = (index, event) => {
|
|
109
|
+
if (event.clickState < 3) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Get the plane data before updating state to avoid race conditions
|
|
113
|
+
const selectedPlane = this.state.foundARPlanes[index];
|
|
114
|
+
if (!selectedPlane) {
|
|
115
|
+
console.warn("ViroARPlaneSelector: Cannot select plane - plane data not found");
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Update state and call callback with the captured data
|
|
119
|
+
this.setState({ selectedSurface: index }, () => {
|
|
120
|
+
this._onPlaneSelected(selectedPlane);
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
_onARPlaneUpdated = (index) => {
|
|
124
|
+
return (updateMap) => {
|
|
125
|
+
let newPlanes = [...this.state.foundARPlanes];
|
|
126
|
+
newPlanes[index] = updateMap;
|
|
127
|
+
this.setState({
|
|
128
|
+
foundARPlanes: newPlanes,
|
|
129
|
+
arPlaneSizes: this.state.arPlaneSizes,
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
_onPlaneSelected = (updateMap) => {
|
|
134
|
+
this.props.onPlaneSelected && this.props.onPlaneSelected(updateMap);
|
|
135
|
+
};
|
|
136
|
+
/*
|
|
137
|
+
This function allows the user to reset the surface and select a new plane.
|
|
138
|
+
*/
|
|
139
|
+
reset = () => {
|
|
140
|
+
this.setState({
|
|
141
|
+
selectedSurface: -1,
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
exports.ViroARPlaneSelector = ViroARPlaneSelector;
|
|
146
|
+
// Register the translucent material for the plane selector
|
|
147
|
+
ViroMaterials_1.default.registerMaterials({
|
|
148
|
+
ViroARPlaneSelector_Translucent: {
|
|
149
|
+
lightingModel: "Constant",
|
|
150
|
+
diffuseColor: "#88888888",
|
|
151
|
+
},
|
|
152
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ViroARTrackingTargets
|
|
3
|
+
*
|
|
4
|
+
* A utility for registering AR tracking targets.
|
|
5
|
+
*/
|
|
6
|
+
export interface ViroARImageTarget {
|
|
7
|
+
source: {
|
|
8
|
+
uri: string;
|
|
9
|
+
} | number;
|
|
10
|
+
orientation: "Up" | "Down" | "Left" | "Right";
|
|
11
|
+
physicalWidth?: number;
|
|
12
|
+
type?: "Image";
|
|
13
|
+
}
|
|
14
|
+
export interface ViroARObjectTarget {
|
|
15
|
+
source: {
|
|
16
|
+
uri: string;
|
|
17
|
+
} | number;
|
|
18
|
+
scale?: [number, number, number];
|
|
19
|
+
type: "Object";
|
|
20
|
+
}
|
|
21
|
+
export type ViroARTrackingTarget = ViroARImageTarget | ViroARObjectTarget;
|
|
22
|
+
/**
|
|
23
|
+
* Register AR tracking targets with the Viro system.
|
|
24
|
+
* @param targetMap A map of target names to target definitions.
|
|
25
|
+
*/
|
|
26
|
+
export declare function registerTargets(targetMap: Record<string, ViroARTrackingTarget>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get a tracking target by name.
|
|
29
|
+
* @param name The name of the tracking target.
|
|
30
|
+
* @returns The tracking target definition, or undefined if not found.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getTarget(name: string): ViroARTrackingTarget | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Get all registered tracking targets.
|
|
35
|
+
* @returns A map of tracking target names to tracking target definitions.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getAllTargets(): Record<string, ViroARTrackingTarget>;
|
|
38
|
+
/**
|
|
39
|
+
* Clear all registered tracking targets.
|
|
40
|
+
*/
|
|
41
|
+
export declare function clearTargets(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Delete a specific tracking target.
|
|
44
|
+
* @param targetName The name of the tracking target to delete.
|
|
45
|
+
*/
|
|
46
|
+
export declare function deleteTarget(targetName: string): void;
|
|
47
|
+
declare const ViroARTrackingTargets: {
|
|
48
|
+
registerTargets: typeof registerTargets;
|
|
49
|
+
getTarget: typeof getTarget;
|
|
50
|
+
getAllTargets: typeof getAllTargets;
|
|
51
|
+
clearTargets: typeof clearTargets;
|
|
52
|
+
deleteTarget: typeof deleteTarget;
|
|
53
|
+
createTargets: typeof registerTargets;
|
|
54
|
+
};
|
|
55
|
+
export default ViroARTrackingTargets;
|