@babylonjs/react-native 1.3.1 → 1.3.4-preview

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/EngineHook.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import { Platform } from 'react-native';
3
3
  import { PERMISSIONS, check, request } from 'react-native-permissions';
4
- import { WebXRSessionManager, WebXRExperienceHelper, Color4, Tools } from '@babylonjs/core';
4
+ import { WebXRSessionManager, WebXRExperienceHelper, Color4, Tools, VideoTexture } from '@babylonjs/core';
5
5
  import { ReactNativeEngine } from './ReactNativeEngine';
6
6
  import * as base64 from 'base-64';
7
7
  // These are errors that are normally thrown by WebXR's requestSession, so we should throw the same errors under similar circumstances so app code can be written the same for browser or native.
@@ -21,6 +21,32 @@ class DOMException {
21
21
  get code() { return this.error; }
22
22
  get name() { return DOMError[this.error]; }
23
23
  }
24
+ // Requests the camera permission and throws if the permission could not be granted
25
+ async function requestCameraPermissionAsync() {
26
+ const cameraPermission = Platform.select({
27
+ android: PERMISSIONS.ANDROID.CAMERA,
28
+ ios: PERMISSIONS.IOS.CAMERA,
29
+ });
30
+ // Only Android, iOS and Windows are supported.
31
+ if (cameraPermission === undefined) {
32
+ throw new DOMException(DOMError.NotSupportedError);
33
+ }
34
+ // If the permission has not been granted yet, but also not been blocked, then request permission.
35
+ let permissionStatus = await check(cameraPermission);
36
+ if (permissionStatus == "denied") {
37
+ permissionStatus = await request(cameraPermission);
38
+ }
39
+ // If the permission has still not been granted, then throw an appropriate exception, otherwise continue with the actual XR session initialization.
40
+ switch (permissionStatus) {
41
+ case "unavailable":
42
+ throw new DOMException(DOMError.NotSupportedError);
43
+ case "denied":
44
+ case "blocked":
45
+ throw new DOMException(DOMError.SecurityError);
46
+ case "granted":
47
+ return;
48
+ }
49
+ }
24
50
  // Override the WebXRSessionManager.initializeSessionAsync to insert a camera permissions request. It would be cleaner to do this directly in the native XR implementation, but there are a couple problems with that:
25
51
  // 1. React Native does not provide a way to hook into the permissions request result (at least on Android).
26
52
  // 2. If it is done on the native side, then we need one implementation per platform.
@@ -32,29 +58,18 @@ class DOMException {
32
58
  // The Spatial Perception capability should be enabled in the project's Package.appxmanifest.
33
59
  return originalInitializeSessionAsync.apply(this, args);
34
60
  }
35
- const cameraPermission = Platform.select({
36
- android: PERMISSIONS.ANDROID.CAMERA,
37
- ios: PERMISSIONS.IOS.CAMERA,
38
- });
39
- // Only Android, iOS and Windows are supported.
40
- if (cameraPermission === undefined) {
41
- throw new DOMException(DOMError.NotSupportedError);
42
- }
43
- // If the permission has not been granted yet, but also not been blocked, then request permission.
44
- let permissionStatus = await check(cameraPermission);
45
- if (permissionStatus == "denied") {
46
- permissionStatus = await request(cameraPermission);
47
- }
48
- // If the permission has still not been granted, then throw an appropriate exception, otherwise continue with the actual XR session initialization.
49
- switch (permissionStatus) {
50
- case "unavailable":
51
- throw new DOMException(DOMError.NotSupportedError);
52
- case "denied":
53
- case "blocked":
54
- throw new DOMException(DOMError.SecurityError);
55
- case "granted":
56
- return originalInitializeSessionAsync.apply(this, args);
57
- }
61
+ await requestCameraPermissionAsync();
62
+ return originalInitializeSessionAsync.apply(this, args);
63
+ };
64
+ }
65
+ // Override the VideoTexture.CreateFromWebCamAsync to insert a camera permissions request. It would be cleaner to do this directly in the NativeCamera implementation, but there are a couple problems with that:
66
+ // 1. React Native does not provide a way to hook into the permissions request result (at least on Android).
67
+ // 2. If it is done on the native side, then we need one implementation per platform.
68
+ {
69
+ const originalCreateFromWebCamAsync = VideoTexture.CreateFromWebCamAsync;
70
+ VideoTexture.CreateFromWebCamAsync = async function (...args) {
71
+ await requestCameraPermissionAsync();
72
+ return originalCreateFromWebCamAsync.apply(this, args);
58
73
  };
59
74
  }
60
75
  if (Platform.OS === "android" || Platform.OS === "ios") {
package/EngineHook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"EngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineHook.ts"],"names":[],"mappings":"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"}
package/EngineView.js CHANGED
@@ -3,6 +3,7 @@ import { View, Text, findNodeHandle, UIManager } from 'react-native';
3
3
  import { SceneInstrumentation } from '@babylonjs/core';
4
4
  import { useModuleInitializer, useRenderLoop } from './NativeEngineHook';
5
5
  import { NativeEngineView } from './NativeEngineView';
6
+ import { reset } from './BabylonModule';
6
7
  export const EngineView = (props) => {
7
8
  //const [fps, setFps] = useState<number>();
8
9
  const [sceneStats, setSceneStats] = useState();
@@ -65,6 +66,12 @@ export const EngineView = (props) => {
65
66
  });
66
67
  }
67
68
  }, [props.onInitialized]);
69
+ // reset when view is disposed only
70
+ useEffect(() => {
71
+ return () => {
72
+ reset();
73
+ };
74
+ }, []);
68
75
  // Handle snapshot data returned.
69
76
  const snapshotDataReturnedHandler = useCallback((event) => {
70
77
  // The nativeEvent is a DOMEvent which doesn't have a typescript definition. Cast it to an Event object with a data property.
package/EngineView.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"EngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineView.tsx"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -22,11 +22,11 @@ The minimum deployment target version is 12. This must be set as `iOS Deployment
22
22
 
23
23
  Babylon React Native platform native packages must also be installed for the platforms and React Native versions being targeted. This is only needed for ***apps*** using Babylon React Native, not for ***libraries (React Native packages)*** building on top of Babylon React Native.
24
24
 
25
- | | React Native 0.63 - 0.64 | React Native 0.65 - 0.66 |
26
- | ------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
27
- | Android | [@babylonjs/react-native-iosandroid-0-64](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-64) | [@babylonjs/react-native-iosandroid-0-65](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-65) |
28
- | iOS | [@babylonjs/react-native-iosandroid-0-64](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-64) | [@babylonjs/react-native-iosandroid-0-65](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-65) |
29
- | Windows | [@babylonjs/react-native-windows-0-64](https://www.npmjs.com/package/@babylonjs/react-native-windows-0-64) | [@babylonjs/react-native-windows-0-65](https://www.npmjs.com/package/@babylonjs/react-native-windows-0-65) |
25
+ | | React Native 0.63 - 0.64 | React Native 0.65 - 0.66 | React Native 0.69 |
26
+ | ------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
27
+ | Android | [@babylonjs/react-native-iosandroid-0-64](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-64) | [@babylonjs/react-native-iosandroid-0-65](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-65) | [@babylonjs/react-native-iosandroid-0-69](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-69) |
28
+ | iOS | [@babylonjs/react-native-iosandroid-0-64](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-64) | [@babylonjs/react-native-iosandroid-0-65](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-65) | [@babylonjs/react-native-iosandroid-0-69](https://www.npmjs.com/package/@babylonjs/react-native-iosandroid-0-69) |
29
+ | Windows | [@babylonjs/react-native-windows-0-64](https://www.npmjs.com/package/@babylonjs/react-native-windows-0-64) | [@babylonjs/react-native-windows-0-65](https://www.npmjs.com/package/@babylonjs/react-native-windows-0-65) | [@babylonjs/react-native-windows-0-69](https://www.npmjs.com/package/@babylonjs/react-native-windows-0-69) |
30
30
 
31
31
  ### `useEngine`
32
32
 
@@ -1,4 +1,4 @@
1
- import { ensureInitialized, reset } from './BabylonModule';
1
+ import { ensureInitialized } from './BabylonModule';
2
2
  import { NativeEngine } from '@babylonjs/core';
3
3
  export class ReactNativeEngine extends NativeEngine {
4
4
  _isDisposed = false;
@@ -20,12 +20,6 @@ export class ReactNativeEngine extends NativeEngine {
20
20
  dispose() {
21
21
  if (!this.isDisposed) {
22
22
  super.dispose();
23
- // Ideally we would always do a reset here as we don't want different behavior between debug and release. Unfortunately, fast refresh has some strange behavior that
24
- // makes it quite difficult to get this to work correctly (e.g. it re-runs previous useEffect instances, which means it can try to use Babylon Native in a de-initialized state).
25
- // TODO: https://github.com/BabylonJS/BabylonReactNative/issues/125
26
- if (!__DEV__) {
27
- reset();
28
- }
29
23
  this._isDisposed = true;
30
24
  }
31
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNativeEngine.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/ReactNativeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAS/C,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACvC,WAAW,GAAG,KAAK,CAAC;IAErB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,WAAwB;QACvD,IAAI,CAAC,MAAM,iBAAiB,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;YACnD,OAAO,IAAI,CAAC;SACf;QAED,kDAAkD;QAClD,MAAM,aAAa,CAAC,qBAAqB,CAAC;QAE1C,0BAA0B;QAC1B,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,oKAAoK;YACpK,iLAAiL;YACjL,mEAAmE;YACnE,IAAI,CAAC,OAAO,EAAE;gBACV,KAAK,EAAE,CAAC;aACX;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"ReactNativeEngine.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/ReactNativeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAS,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAS/C,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACvC,WAAW,GAAG,KAAK,CAAC;IAErB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,WAAwB;QACvD,IAAI,CAAC,MAAM,iBAAiB,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;YACnD,OAAO,IAAI,CAAC;SACf;QAED,kDAAkD;QAClD,MAAM,aAAa,CAAC,qBAAqB,CAAC;QAE1C,0BAA0B;QAC1B,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@babylonjs/react-native",
3
3
  "title": "React Native Babylon",
4
- "version": "1.3.1",
4
+ "version": "1.3.4-preview",
5
5
  "description": "Babylon Native integration into React Native",
6
6
  "main": "index.js",
7
7
  "scripts": {
@@ -32,6 +32,7 @@ namespace BabylonNative
32
32
  void UpdateAlphaPremultiplied(bool enabled);
33
33
 
34
34
  void RenderView();
35
+ void CreateInitPromise();
35
36
  void ResetView();
36
37
  void SetMouseButtonState(uint32_t buttonId, bool isDown, int32_t x, int32_t y);
37
38
  void SetMousePosition(int32_t x, int32_t y);