@reactvision/react-viro 2.43.1 → 2.43.4
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 +14 -11
- package/android/react_viro/react_viro-release.aar +0 -0
- package/android/viro_renderer/viro_renderer-release.aar +0 -0
- package/components/AR/ViroARPlaneSelector.tsx +1 -1
- package/components/AR/ViroARSceneNavigator.tsx +16 -17
- package/components/Utilities/ViroVersion.ts +1 -1
- package/components/ViroVRSceneNavigator.tsx +1 -1
- package/dist/components/AR/ViroARPlaneSelector.d.ts +1 -1
- package/dist/components/AR/ViroARSceneNavigator.d.ts +9 -9
- package/dist/components/AR/ViroARSceneNavigator.js +11 -11
- package/dist/components/Utilities/ViroVersion.d.ts +1 -1
- package/dist/components/Utilities/ViroVersion.js +1 -1
- package/dist/components/ViroVRSceneNavigator.d.ts +1 -1
- package/dist/dynamic-index.js +2 -2
- package/dist/plugins/withViroAndroid.js +20 -60
- package/ios/ViroReact.podspec +7 -9
- package/ios/dist/ViroRenderer/ViroKit.framework/Headers/VROBodyMesher.h +1 -0
- package/ios/dist/ViroRenderer/ViroKit.framework/Headers/VROVideoTextureCache.h +1 -0
- package/ios/dist/ViroRenderer/ViroKit.framework/Headers/ViroKit.h +11 -0
- package/ios/dist/ViroRenderer/ViroKit.framework/Info.plist +0 -0
- package/ios/dist/ViroRenderer/ViroKit.framework/ViroKit +0 -0
- package/ios/dist/ViroRenderer/ViroKit.framework/bodymesh.mlmodelc/metadata.json +14 -11
- package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1.mlmodelc/metadata.json +12 -9
- package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1_ds_t.mlmodelc/metadata.json +12 -9
- package/ios/dist/ViroRenderer/ViroKit.framework/hourglass_2_1_t.mlmodelc/metadata.json +12 -9
- package/ios/dist/ViroRenderer/ViroKit.podspec +4 -4
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/VROBodyMesher.h +1 -0
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/VROVideoTextureCache.h +1 -0
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Headers/ViroKit.h +11 -0
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/Info.plist +0 -0
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/ViroKit +0 -0
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/bodymesh.mlmodelc/metadata.json +14 -11
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1.mlmodelc/metadata.json +12 -9
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1_ds_t.mlmodelc/metadata.json +12 -9
- package/ios/dist/ViroRenderer/armv7_arm64/ViroKit.framework/hourglass_2_1_t.mlmodelc/metadata.json +12 -9
- 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 +13 -20
- package/dist/components/Telemetry/ViroTelemetry.d.ts +0 -16
- package/dist/components/Telemetry/ViroTelemetry.js +0 -87
- package/dist/components/Telemetry/index.d.ts +0 -16
- package/dist/components/Telemetry/index.js +0 -97
- 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
|
@@ -1,503 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Viro3DSceneNavigator
|
|
3
|
-
*
|
|
4
|
-
* Component for transitioning between multiple scenes in a 3D environment.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import * as React from "react";
|
|
8
|
-
import { useEffect, useRef, useState } from "react";
|
|
9
|
-
import { StyleSheet, View, ViewProps } from "react-native";
|
|
10
|
-
import { ViroScene } from "./ViroScene";
|
|
11
|
-
import {
|
|
12
|
-
registerEventListener,
|
|
13
|
-
unregisterEventListener,
|
|
14
|
-
generateNodeId,
|
|
15
|
-
} from "../NativeViro";
|
|
16
|
-
import { Viro3DPoint, ViroSceneDictionary } from "./Types/ViroUtils";
|
|
17
|
-
import { getNativeViro } from "./ViroGlobal";
|
|
18
|
-
|
|
19
|
-
type Props = ViewProps & {
|
|
20
|
-
/**
|
|
21
|
-
* initial scene key
|
|
22
|
-
*/
|
|
23
|
-
initialSceneKey?: string;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A flag to enable/disable some debug features
|
|
27
|
-
*/
|
|
28
|
-
debug?: boolean;
|
|
29
|
-
|
|
30
|
-
viroAppProps?: any;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* ViroSceneNavigator uses "scene" objects like the following to
|
|
34
|
-
* describe a scene.
|
|
35
|
-
*/
|
|
36
|
-
initialScene: {
|
|
37
|
-
/**
|
|
38
|
-
* The React Component to render for this scene.
|
|
39
|
-
*/
|
|
40
|
-
scene: typeof ViroScene;
|
|
41
|
-
passProps?: any;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Called when either the user physically decides to exit vr (hits
|
|
46
|
-
* the "X" button).
|
|
47
|
-
*/
|
|
48
|
-
onExitViro?: () => void;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Renderer settings that can be used to enable or disable various
|
|
52
|
-
* renderer capabilities and algorithms.
|
|
53
|
-
*/
|
|
54
|
-
hdrEnabled?: boolean;
|
|
55
|
-
pbrEnabled?: boolean;
|
|
56
|
-
bloomEnabled?: boolean;
|
|
57
|
-
shadowsEnabled?: boolean;
|
|
58
|
-
multisamplingEnabled?: boolean;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Viro3DSceneNavigator is used to transition between multiple scenes.
|
|
63
|
-
*/
|
|
64
|
-
export function Viro3DSceneNavigator(props: Props): React.ReactElement {
|
|
65
|
-
const {
|
|
66
|
-
initialSceneKey,
|
|
67
|
-
initialScene,
|
|
68
|
-
viroAppProps,
|
|
69
|
-
onExitViro,
|
|
70
|
-
debug = false,
|
|
71
|
-
hdrEnabled,
|
|
72
|
-
pbrEnabled,
|
|
73
|
-
bloomEnabled,
|
|
74
|
-
shadowsEnabled,
|
|
75
|
-
multisamplingEnabled,
|
|
76
|
-
style,
|
|
77
|
-
...rest
|
|
78
|
-
} = props;
|
|
79
|
-
|
|
80
|
-
// Generate a random tag for scenes
|
|
81
|
-
const mathRandomOffsetRef = useRef(0);
|
|
82
|
-
const getRandomTag = () => {
|
|
83
|
-
const randomTag = Math.random() + mathRandomOffsetRef.current;
|
|
84
|
-
mathRandomOffsetRef.current++;
|
|
85
|
-
return randomTag.toString();
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
// Initialize state
|
|
89
|
-
const initialTag = initialSceneKey || getRandomTag();
|
|
90
|
-
const initialSceneObj = {
|
|
91
|
-
sceneClass: initialScene,
|
|
92
|
-
tag: initialTag,
|
|
93
|
-
referenceCount: 1,
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
const [sceneDictionary, setSceneDictionary] = useState<ViroSceneDictionary>({
|
|
97
|
-
[initialTag]: initialSceneObj,
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
const [sceneHistory, setSceneHistory] = useState<string[]>([initialTag]);
|
|
101
|
-
const [currentSceneIndex, setCurrentSceneIndex] = useState<number>(0);
|
|
102
|
-
|
|
103
|
-
// Create a ref for the navigator node
|
|
104
|
-
const navigatorRef = useRef<string>(generateNodeId());
|
|
105
|
-
|
|
106
|
-
// Set up event listeners
|
|
107
|
-
useEffect(() => {
|
|
108
|
-
if (!navigatorRef.current) return;
|
|
109
|
-
|
|
110
|
-
const exitViroCallbackId = onExitViro
|
|
111
|
-
? registerEventListener(navigatorRef.current, "onExitViro", () => {
|
|
112
|
-
onExitViro();
|
|
113
|
-
})
|
|
114
|
-
: null;
|
|
115
|
-
|
|
116
|
-
// Clean up event listeners
|
|
117
|
-
return () => {
|
|
118
|
-
if (exitViroCallbackId) {
|
|
119
|
-
unregisterEventListener(
|
|
120
|
-
navigatorRef.current,
|
|
121
|
-
"onExitViro",
|
|
122
|
-
exitViroCallbackId
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}, [navigatorRef.current, onExitViro]);
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Increments the reference count for a scene within sceneDictionary that is
|
|
130
|
-
* mapped to the given sceneKey. If no scenes are found / mapped, we create
|
|
131
|
-
* one, initialize it with a reference count of 1, and store it within the
|
|
132
|
-
* sceneDictionary for future reference.
|
|
133
|
-
*/
|
|
134
|
-
const incrementSceneReference = (
|
|
135
|
-
scene: any,
|
|
136
|
-
sceneKey: string,
|
|
137
|
-
limitOne: boolean
|
|
138
|
-
) => {
|
|
139
|
-
setSceneDictionary((prevDictionary) => {
|
|
140
|
-
const newDictionary = { ...prevDictionary };
|
|
141
|
-
|
|
142
|
-
if (!(sceneKey in newDictionary)) {
|
|
143
|
-
const newScene = {
|
|
144
|
-
sceneClass: scene,
|
|
145
|
-
tag: sceneKey,
|
|
146
|
-
referenceCount: 0,
|
|
147
|
-
};
|
|
148
|
-
newDictionary[sceneKey] = newScene;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// Error out if there are no scenes matching the given sceneKey
|
|
152
|
-
const currentScene = newDictionary[sceneKey];
|
|
153
|
-
if (!currentScene) {
|
|
154
|
-
console.log("ERROR: No scene found for: " + sceneKey);
|
|
155
|
-
return prevDictionary;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// Update the scene's reference count
|
|
159
|
-
if ((limitOne && currentScene.referenceCount < 1) || !limitOne) {
|
|
160
|
-
currentScene.referenceCount++;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
newDictionary[sceneKey] = currentScene;
|
|
164
|
-
return newDictionary;
|
|
165
|
-
});
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Decrements the reference count for the last N scenes within
|
|
170
|
-
* the sceneHistory by 1. If nothing else references that given scene
|
|
171
|
-
* (counts equals 0), we then remove that scene from sceneDictionary.
|
|
172
|
-
*/
|
|
173
|
-
const decrementReferenceForLastNScenes = (n: number) => {
|
|
174
|
-
setSceneDictionary((prevDictionary) => {
|
|
175
|
-
const newDictionary = { ...prevDictionary };
|
|
176
|
-
|
|
177
|
-
// Now update and release any reference counts
|
|
178
|
-
for (let i = 1; i <= n; i++) {
|
|
179
|
-
const sceneTag = sceneHistory[sceneHistory.length - i];
|
|
180
|
-
const scene = newDictionary[sceneTag];
|
|
181
|
-
if (!scene) continue;
|
|
182
|
-
|
|
183
|
-
scene.referenceCount--;
|
|
184
|
-
|
|
185
|
-
if (scene.referenceCount <= 0) {
|
|
186
|
-
delete newDictionary[sceneTag];
|
|
187
|
-
} else {
|
|
188
|
-
newDictionary[sceneTag] = scene;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
return newDictionary;
|
|
193
|
-
});
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Adds the given sceneKey to the sceneHistory and updates the currentSceneIndex to point
|
|
198
|
-
* to the scene on the top of the history stack (the most recent scene).
|
|
199
|
-
*/
|
|
200
|
-
const addToHistory = (sceneKey: string) => {
|
|
201
|
-
setSceneHistory((prevHistory) => [...prevHistory, sceneKey]);
|
|
202
|
-
|
|
203
|
-
// Find the index of the scene in the dictionary
|
|
204
|
-
let index = 0;
|
|
205
|
-
for (const key in sceneDictionary) {
|
|
206
|
-
if (sceneKey === sceneDictionary[key].tag) {
|
|
207
|
-
setCurrentSceneIndex(index);
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
index++;
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Instead of preserving history, we find the last pushed sceneKey within the history stack
|
|
216
|
-
* matching the given sceneKey and re-order it to the front.
|
|
217
|
-
*/
|
|
218
|
-
const reorderHistory = (sceneKey: string) => {
|
|
219
|
-
setSceneHistory((prevHistory) => {
|
|
220
|
-
// Find the last sceneKey within sceneHistory and remove it
|
|
221
|
-
const newHistory = [...prevHistory];
|
|
222
|
-
for (let i = newHistory.length - 1; i >= 0; i--) {
|
|
223
|
-
if (sceneKey === newHistory[i]) {
|
|
224
|
-
newHistory.splice(i, 1);
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// Add back the sceneKey to the front of the History stack
|
|
230
|
-
return [...newHistory, sceneKey];
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
// Find the index of the scene in the dictionary
|
|
234
|
-
let index = 0;
|
|
235
|
-
for (const key in sceneDictionary) {
|
|
236
|
-
if (sceneKey === sceneDictionary[key].tag) {
|
|
237
|
-
setCurrentSceneIndex(index);
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
index++;
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Removes the last N scenes from the history stack
|
|
246
|
-
*/
|
|
247
|
-
const popHistoryByN = (n: number) => {
|
|
248
|
-
setSceneHistory((prevHistory) => {
|
|
249
|
-
const newHistory = [...prevHistory];
|
|
250
|
-
newHistory.splice(newHistory.length - n, n);
|
|
251
|
-
|
|
252
|
-
// Find the index of the last scene in the dictionary
|
|
253
|
-
if (newHistory.length > 0) {
|
|
254
|
-
const lastSceneTag = newHistory[newHistory.length - 1];
|
|
255
|
-
let index = 0;
|
|
256
|
-
for (const key in sceneDictionary) {
|
|
257
|
-
if (lastSceneTag === sceneDictionary[key].tag) {
|
|
258
|
-
setCurrentSceneIndex(index);
|
|
259
|
-
break;
|
|
260
|
-
}
|
|
261
|
-
index++;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
return newHistory;
|
|
266
|
-
});
|
|
267
|
-
};
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Pushes a scene and reference it with the given key if provided.
|
|
271
|
-
*/
|
|
272
|
-
const push = (param1?: any, param2?: any) => {
|
|
273
|
-
let sceneKey: string | undefined = undefined;
|
|
274
|
-
let scene: any = undefined;
|
|
275
|
-
|
|
276
|
-
if (typeof param1 === "string") {
|
|
277
|
-
sceneKey = param1;
|
|
278
|
-
scene = param2;
|
|
279
|
-
} else {
|
|
280
|
-
scene = param1;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
if (scene === undefined && sceneKey === undefined) {
|
|
284
|
-
console.log(
|
|
285
|
-
"ERROR: pushing requires either the scene tag, or both the tag and scene."
|
|
286
|
-
);
|
|
287
|
-
return;
|
|
288
|
-
} else if (
|
|
289
|
-
scene === undefined &&
|
|
290
|
-
sceneKey !== undefined &&
|
|
291
|
-
!(sceneKey in sceneDictionary)
|
|
292
|
-
) {
|
|
293
|
-
console.log(
|
|
294
|
-
"ERROR: Cannot push with a new sceneKey with no associated scene."
|
|
295
|
-
);
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
if (
|
|
300
|
-
sceneKey === undefined ||
|
|
301
|
-
(typeof sceneKey === "string" && sceneKey.trim().length <= 0)
|
|
302
|
-
) {
|
|
303
|
-
sceneKey = getRandomTag();
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
incrementSceneReference(scene, sceneKey, false);
|
|
307
|
-
addToHistory(sceneKey);
|
|
308
|
-
};
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Replace the top scene in the stack with the given scene.
|
|
312
|
-
*/
|
|
313
|
-
const replace = (param1?: any, param2?: any) => {
|
|
314
|
-
let sceneKey: string | undefined = undefined;
|
|
315
|
-
let scene: any = undefined;
|
|
316
|
-
|
|
317
|
-
if (typeof param1 === "string") {
|
|
318
|
-
sceneKey = param1;
|
|
319
|
-
scene = param2;
|
|
320
|
-
} else {
|
|
321
|
-
scene = param1;
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
if (scene === undefined && sceneKey === undefined) {
|
|
325
|
-
console.log(
|
|
326
|
-
"ERROR: replacing requires either the scene tag, or both the tag and scene."
|
|
327
|
-
);
|
|
328
|
-
return;
|
|
329
|
-
} else if (
|
|
330
|
-
scene === undefined &&
|
|
331
|
-
sceneKey !== undefined &&
|
|
332
|
-
!(sceneKey in sceneDictionary)
|
|
333
|
-
) {
|
|
334
|
-
console.log(
|
|
335
|
-
"ERROR: Cannot replace with a new sceneKey with no associated scene."
|
|
336
|
-
);
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
if (
|
|
341
|
-
sceneKey === undefined ||
|
|
342
|
-
(typeof sceneKey === "string" && sceneKey.trim().length <= 0)
|
|
343
|
-
) {
|
|
344
|
-
sceneKey = getRandomTag();
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
// Pop 1 off the scene history, then push this scene
|
|
348
|
-
decrementReferenceForLastNScenes(1);
|
|
349
|
-
popHistoryByN(1);
|
|
350
|
-
incrementSceneReference(scene, sceneKey, false);
|
|
351
|
-
addToHistory(sceneKey);
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Jumps to a given scene that had been previously pushed.
|
|
356
|
-
*/
|
|
357
|
-
const jump = (param1?: any, param2?: any) => {
|
|
358
|
-
let sceneKey: string | undefined = undefined;
|
|
359
|
-
let scene: any = undefined;
|
|
360
|
-
|
|
361
|
-
if (typeof param1 === "string") {
|
|
362
|
-
sceneKey = param1;
|
|
363
|
-
scene = param2;
|
|
364
|
-
} else {
|
|
365
|
-
scene = param1;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
if (scene === undefined && sceneKey === undefined) {
|
|
369
|
-
console.log(
|
|
370
|
-
"ERROR: jumping requires either the scene tag, or both the tag and scene."
|
|
371
|
-
);
|
|
372
|
-
return;
|
|
373
|
-
} else if (
|
|
374
|
-
scene === undefined &&
|
|
375
|
-
sceneKey !== undefined &&
|
|
376
|
-
!(sceneKey in sceneDictionary)
|
|
377
|
-
) {
|
|
378
|
-
console.log(
|
|
379
|
-
"ERROR: Cannot jump with a new sceneKey with no associated scene."
|
|
380
|
-
);
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
if (
|
|
385
|
-
sceneKey === undefined ||
|
|
386
|
-
(typeof sceneKey === "string" && sceneKey.trim().length <= 0)
|
|
387
|
-
) {
|
|
388
|
-
sceneKey = getRandomTag();
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
incrementSceneReference(scene, sceneKey, true);
|
|
392
|
-
reorderHistory(sceneKey);
|
|
393
|
-
};
|
|
394
|
-
|
|
395
|
-
/**
|
|
396
|
-
* Pops the current scene from the stack
|
|
397
|
-
*/
|
|
398
|
-
const pop = () => {
|
|
399
|
-
popN(1);
|
|
400
|
-
};
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Pops N scenes from the stack
|
|
404
|
-
*/
|
|
405
|
-
const popN = (n: number) => {
|
|
406
|
-
if (n === 0) {
|
|
407
|
-
return;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
if (sceneHistory.length - n <= 0) {
|
|
411
|
-
console.log(
|
|
412
|
-
"WARN: Attempted to pop the root scene in ViroSceneNavigator!"
|
|
413
|
-
);
|
|
414
|
-
return;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
decrementReferenceForLastNScenes(n);
|
|
418
|
-
popHistoryByN(n);
|
|
419
|
-
};
|
|
420
|
-
|
|
421
|
-
/**
|
|
422
|
-
* Recenter the tracking
|
|
423
|
-
*/
|
|
424
|
-
const recenterTracking = () => {
|
|
425
|
-
const nativeViro = getNativeViro();
|
|
426
|
-
if (nativeViro && navigatorRef.current) {
|
|
427
|
-
nativeViro.recenterTracking(navigatorRef.current);
|
|
428
|
-
}
|
|
429
|
-
};
|
|
430
|
-
|
|
431
|
-
/**
|
|
432
|
-
* Project a 3D point to screen space
|
|
433
|
-
*/
|
|
434
|
-
const project = async (point: Viro3DPoint) => {
|
|
435
|
-
const nativeViro = getNativeViro();
|
|
436
|
-
if (nativeViro && navigatorRef.current) {
|
|
437
|
-
return await nativeViro.project(navigatorRef.current, point);
|
|
438
|
-
}
|
|
439
|
-
return null;
|
|
440
|
-
};
|
|
441
|
-
|
|
442
|
-
/**
|
|
443
|
-
* Unproject a screen point to 3D space
|
|
444
|
-
*/
|
|
445
|
-
const unproject = async (point: Viro3DPoint) => {
|
|
446
|
-
const nativeViro = getNativeViro();
|
|
447
|
-
if (nativeViro && navigatorRef.current) {
|
|
448
|
-
return await nativeViro.unproject(navigatorRef.current, point);
|
|
449
|
-
}
|
|
450
|
-
return null;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
|
-
// Create the sceneNavigator object to pass to scenes
|
|
454
|
-
const sceneNavigator = {
|
|
455
|
-
push,
|
|
456
|
-
pop,
|
|
457
|
-
popN,
|
|
458
|
-
jump,
|
|
459
|
-
replace,
|
|
460
|
-
recenterTracking,
|
|
461
|
-
project,
|
|
462
|
-
unproject,
|
|
463
|
-
viroAppProps: viroAppProps || {},
|
|
464
|
-
};
|
|
465
|
-
|
|
466
|
-
// Render the scenes
|
|
467
|
-
const renderScenes = () => {
|
|
468
|
-
const views = [];
|
|
469
|
-
let i = 0;
|
|
470
|
-
|
|
471
|
-
for (const key in sceneDictionary) {
|
|
472
|
-
const sceneInfo = sceneDictionary[key];
|
|
473
|
-
const Component = sceneInfo.sceneClass.scene;
|
|
474
|
-
const passProps = sceneInfo.sceneClass.passProps || {};
|
|
475
|
-
|
|
476
|
-
views.push(
|
|
477
|
-
<Component
|
|
478
|
-
key={`scene${i}`}
|
|
479
|
-
sceneNavigator={sceneNavigator}
|
|
480
|
-
{...passProps}
|
|
481
|
-
/>
|
|
482
|
-
);
|
|
483
|
-
i++;
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
return views;
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
// Render the navigator
|
|
490
|
-
return (
|
|
491
|
-
<View style={[styles.container, style]} {...rest}>
|
|
492
|
-
{renderScenes()}
|
|
493
|
-
</View>
|
|
494
|
-
);
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
const styles = StyleSheet.create({
|
|
498
|
-
container: {
|
|
499
|
-
flex: 1,
|
|
500
|
-
justifyContent: "center",
|
|
501
|
-
alignItems: "center",
|
|
502
|
-
},
|
|
503
|
-
});
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ViroARCamera
|
|
3
|
-
*
|
|
4
|
-
* A component for controlling the camera in an AR scene.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import React from "react";
|
|
8
|
-
import {
|
|
9
|
-
ViroCommonProps,
|
|
10
|
-
useViroNode,
|
|
11
|
-
convertCommonProps,
|
|
12
|
-
ViroContextProvider,
|
|
13
|
-
useViroEventListeners,
|
|
14
|
-
} from "./ViroUtils";
|
|
15
|
-
import { getNativeViro } from "./ViroGlobal";
|
|
16
|
-
|
|
17
|
-
// Custom type for transform update event
|
|
18
|
-
export type ViroARCameraTransformUpdateEvent = {
|
|
19
|
-
position: [number, number, number];
|
|
20
|
-
rotation: [number, number, number];
|
|
21
|
-
forward: [number, number, number];
|
|
22
|
-
up: [number, number, number];
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
// Custom type for tracking state update event
|
|
26
|
-
export type ViroARTrackingStateEvent = {
|
|
27
|
-
state: "NORMAL" | "LIMITED" | "NOT_AVAILABLE";
|
|
28
|
-
reason?:
|
|
29
|
-
| "NONE"
|
|
30
|
-
| "INITIALIZING"
|
|
31
|
-
| "EXCESSIVE_MOTION"
|
|
32
|
-
| "INSUFFICIENT_FEATURES";
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export interface ViroARCameraProps
|
|
36
|
-
extends Omit<ViroCommonProps, "onTransformUpdate"> {
|
|
37
|
-
// Camera properties
|
|
38
|
-
active?: boolean;
|
|
39
|
-
|
|
40
|
-
// Events with specific types
|
|
41
|
-
onTransformUpdate?: (event: ViroARCameraTransformUpdateEvent) => void;
|
|
42
|
-
onTrackingUpdated?: (event: ViroARTrackingStateEvent) => void;
|
|
43
|
-
|
|
44
|
-
// Children components
|
|
45
|
-
children?: React.ReactNode;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* ViroARCamera is a component for controlling the camera in an AR scene.
|
|
50
|
-
* It provides information about the camera's position and orientation in the real world,
|
|
51
|
-
* as well as tracking state updates.
|
|
52
|
-
*/
|
|
53
|
-
export const ViroARCamera: React.FC<ViroARCameraProps> = (props) => {
|
|
54
|
-
// Convert common props to the format expected by the native code
|
|
55
|
-
const nativeProps = {
|
|
56
|
-
...convertCommonProps(props),
|
|
57
|
-
active: props.active,
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
// Create the node (parent will be determined by context)
|
|
61
|
-
const nodeId = useViroNode("arCamera", nativeProps);
|
|
62
|
-
|
|
63
|
-
// Register event handlers
|
|
64
|
-
React.useEffect(() => {
|
|
65
|
-
const nativeViro = getNativeViro();
|
|
66
|
-
if (!nativeViro) return;
|
|
67
|
-
|
|
68
|
-
const eventHandlers = [
|
|
69
|
-
{ name: "onTransformUpdate", handler: props.onTransformUpdate },
|
|
70
|
-
{ name: "onTrackingUpdated", handler: props.onTrackingUpdated },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
|
-
// Register all event handlers and store callback IDs for cleanup
|
|
74
|
-
const registeredCallbacks = eventHandlers
|
|
75
|
-
.filter(({ handler }) => !!handler)
|
|
76
|
-
.map(({ name, handler }) => {
|
|
77
|
-
const callbackId = `${nodeId}_${name}`;
|
|
78
|
-
|
|
79
|
-
// Register the callback in the global registry
|
|
80
|
-
if (typeof global !== "undefined" && global.registerViroEventCallback) {
|
|
81
|
-
global.registerViroEventCallback(callbackId, handler);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Register with native code
|
|
85
|
-
nativeViro.registerEventCallback(nodeId, name, callbackId);
|
|
86
|
-
return { name, callbackId };
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
// Cleanup when unmounting
|
|
90
|
-
return () => {
|
|
91
|
-
const nativeViro = getNativeViro();
|
|
92
|
-
if (!nativeViro) return;
|
|
93
|
-
|
|
94
|
-
// Unregister all event handlers
|
|
95
|
-
registeredCallbacks.forEach(({ name, callbackId }) => {
|
|
96
|
-
nativeViro.unregisterEventCallback(nodeId, name, callbackId);
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
}, [nodeId, props.onTransformUpdate, props.onTrackingUpdated]);
|
|
100
|
-
|
|
101
|
-
// Render children with this AR camera as their parent
|
|
102
|
-
return (
|
|
103
|
-
<ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
|
|
104
|
-
);
|
|
105
|
-
};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ViroARImageMarker
|
|
3
|
-
*
|
|
4
|
-
* A component for detecting and tracking images in the real world.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import React from "react";
|
|
8
|
-
import {
|
|
9
|
-
ViroCommonProps,
|
|
10
|
-
useViroNode,
|
|
11
|
-
convertCommonProps,
|
|
12
|
-
ViroContextProvider,
|
|
13
|
-
useViroEventListeners,
|
|
14
|
-
} from "./ViroUtils";
|
|
15
|
-
import { getNativeViro } from "./ViroGlobal";
|
|
16
|
-
|
|
17
|
-
export interface ViroARImageMarkerProps extends ViroCommonProps {
|
|
18
|
-
// Image marker properties
|
|
19
|
-
target: string;
|
|
20
|
-
|
|
21
|
-
// Visual properties
|
|
22
|
-
visible?: boolean;
|
|
23
|
-
opacity?: number;
|
|
24
|
-
|
|
25
|
-
// Events
|
|
26
|
-
onAnchorFound?: () => void;
|
|
27
|
-
onAnchorUpdated?: () => void;
|
|
28
|
-
onAnchorRemoved?: () => void;
|
|
29
|
-
|
|
30
|
-
// Children components
|
|
31
|
-
children?: React.ReactNode;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* ViroARImageMarker is a component for detecting and tracking images in the real world.
|
|
36
|
-
* It allows you to attach virtual content to real-world images, such as posters, book covers, or logos.
|
|
37
|
-
*/
|
|
38
|
-
export const ViroARImageMarker: React.FC<ViroARImageMarkerProps> = (props) => {
|
|
39
|
-
// Convert common props to the format expected by the native code
|
|
40
|
-
const nativeProps = {
|
|
41
|
-
...convertCommonProps(props),
|
|
42
|
-
target: props.target,
|
|
43
|
-
visible: props.visible,
|
|
44
|
-
opacity: props.opacity,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
// Create the node (parent will be determined by context)
|
|
48
|
-
const nodeId = useViroNode("arImageMarker", nativeProps);
|
|
49
|
-
|
|
50
|
-
// Register event handlers
|
|
51
|
-
React.useEffect(() => {
|
|
52
|
-
const nativeViro = getNativeViro();
|
|
53
|
-
if (!nativeViro) return;
|
|
54
|
-
|
|
55
|
-
const eventHandlers = [
|
|
56
|
-
{ name: "onAnchorFound", handler: props.onAnchorFound },
|
|
57
|
-
{ name: "onAnchorUpdated", handler: props.onAnchorUpdated },
|
|
58
|
-
{ name: "onAnchorRemoved", handler: props.onAnchorRemoved },
|
|
59
|
-
];
|
|
60
|
-
|
|
61
|
-
// Register all event handlers and store callback IDs for cleanup
|
|
62
|
-
const registeredCallbacks = eventHandlers
|
|
63
|
-
.filter(({ handler }) => !!handler)
|
|
64
|
-
.map(({ name, handler }) => {
|
|
65
|
-
const callbackId = `${nodeId}_${name}`;
|
|
66
|
-
|
|
67
|
-
// Register the callback in the global registry
|
|
68
|
-
if (typeof global !== "undefined" && global.registerViroEventCallback) {
|
|
69
|
-
global.registerViroEventCallback(callbackId, handler);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Register with native code
|
|
73
|
-
nativeViro.registerEventCallback(nodeId, name, callbackId);
|
|
74
|
-
return { name, callbackId };
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Cleanup when unmounting
|
|
78
|
-
return () => {
|
|
79
|
-
const nativeViro = getNativeViro();
|
|
80
|
-
if (!nativeViro) return;
|
|
81
|
-
|
|
82
|
-
// Unregister all event handlers
|
|
83
|
-
registeredCallbacks.forEach(({ name, callbackId }) => {
|
|
84
|
-
nativeViro.unregisterEventCallback(nodeId, name, callbackId);
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
}, [
|
|
88
|
-
nodeId,
|
|
89
|
-
props.onAnchorFound,
|
|
90
|
-
props.onAnchorUpdated,
|
|
91
|
-
props.onAnchorRemoved,
|
|
92
|
-
]);
|
|
93
|
-
|
|
94
|
-
// Render children with this AR image marker as their parent
|
|
95
|
-
return (
|
|
96
|
-
<ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
|
|
97
|
-
);
|
|
98
|
-
};
|