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