@babylonjs/react-native 1.3.7-preview → 1.3.9-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/EngineView.d.ts +1 -1
- package/EngineView.js +2 -2
- package/EngineView.js.map +1 -1
- package/NativeEngineHook.js +17 -3
- package/NativeEngineHook.js.map +1 -1
- package/NativeEngineView.d.ts +1 -1
- package/README.md +16 -8
- package/ReactNativeEngine.js +2 -6
- package/ReactNativeEngine.js.map +1 -1
- package/package.json +1 -1
package/EngineView.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface EngineViewProps extends ViewProps {
|
|
|
5
5
|
camera?: Camera;
|
|
6
6
|
displayFrameRate?: boolean;
|
|
7
7
|
isTransparent?: boolean;
|
|
8
|
-
|
|
8
|
+
androidView?: "TextureView" | "SurfaceView" | "SurfaceViewZTopMost" | "SurfaceViewZMediaOverlay";
|
|
9
9
|
antiAliasing?: 0 | 1 | 2 | 4 | 8 | 16;
|
|
10
10
|
onInitialized?: (view: EngineViewCallbacks) => void;
|
|
11
11
|
}
|
package/EngineView.js
CHANGED
|
@@ -10,7 +10,7 @@ export const EngineView = (props) => {
|
|
|
10
10
|
const snapshotPromise = useRef();
|
|
11
11
|
const isTransparent = props.isTransparent ?? false;
|
|
12
12
|
const antiAliasing = props.antiAliasing ?? 0;
|
|
13
|
-
const
|
|
13
|
+
const androidView = props.androidView ?? "";
|
|
14
14
|
const initialized = useModuleInitializer();
|
|
15
15
|
const engine = useMemo(() => {
|
|
16
16
|
return props.camera?.getScene().getEngine();
|
|
@@ -76,7 +76,7 @@ export const EngineView = (props) => {
|
|
|
76
76
|
}, []);
|
|
77
77
|
if (initialized !== false) {
|
|
78
78
|
return (React.createElement(View, { style: [{ flex: 1 }, props.style, { overflow: "hidden" }] },
|
|
79
|
-
initialized && React.createElement(NativeEngineView, { ref: engineViewRef, style: { flex: 1 }, onSnapshotDataReturned: snapshotDataReturnedHandler, isTransparent: isTransparent, antiAliasing: antiAliasing,
|
|
79
|
+
initialized && React.createElement(NativeEngineView, { ref: engineViewRef, style: { flex: 1 }, onSnapshotDataReturned: snapshotDataReturnedHandler, isTransparent: isTransparent, antiAliasing: antiAliasing, androidView: androidView }),
|
|
80
80
|
sceneStats !== undefined &&
|
|
81
81
|
React.createElement(View, { style: { backgroundColor: '#00000040', opacity: 1, position: 'absolute', right: 0, left: 0, top: 0, flexDirection: 'row-reverse' } },
|
|
82
82
|
React.createElement(Text, { style: { color: 'yellow', alignSelf: 'flex-end', margin: 3, fontVariant: ['tabular-nums'] } },
|
package/EngineView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgD,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/H,OAAO,EAAa,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAU,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAyB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoB7E,MAAM,CAAC,MAAM,UAAU,GAAuC,CAAC,KAAsB,EAAE,EAAE;IACrF,2CAA2C;IAC3C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAc,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,CAAmC,IAAI,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,MAAM,EAAiE,CAAC;IAChG,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"EngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineView.tsx"],"names":[],"mappings":"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"}
|
package/NativeEngineHook.js
CHANGED
|
@@ -5,9 +5,16 @@ import './VersionValidation';
|
|
|
5
5
|
export function useModuleInitializer() {
|
|
6
6
|
const [initialized, setInitialized] = useState();
|
|
7
7
|
useEffect(() => {
|
|
8
|
+
const abortController = new AbortController();
|
|
8
9
|
(async () => {
|
|
9
|
-
|
|
10
|
+
const isInitialized = await ensureInitialized();
|
|
11
|
+
if (!abortController.signal.aborted) {
|
|
12
|
+
setInitialized(isInitialized);
|
|
13
|
+
}
|
|
10
14
|
})();
|
|
15
|
+
return () => {
|
|
16
|
+
abortController.abort();
|
|
17
|
+
};
|
|
11
18
|
}, []);
|
|
12
19
|
return initialized;
|
|
13
20
|
}
|
|
@@ -17,9 +24,16 @@ function useAppState() {
|
|
|
17
24
|
const onAppStateChanged = (appState) => {
|
|
18
25
|
setAppState(appState);
|
|
19
26
|
};
|
|
20
|
-
AppState.addEventListener("change", onAppStateChanged);
|
|
27
|
+
const appStateListener = AppState.addEventListener("change", onAppStateChanged);
|
|
28
|
+
// Asserting the type to prevent TS type errors on older RN versions
|
|
29
|
+
const removeListener = appStateListener?.["remove"];
|
|
21
30
|
return () => {
|
|
22
|
-
|
|
31
|
+
if (removeListener) {
|
|
32
|
+
removeListener();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
AppState.removeEventListener("change", onAppStateChanged);
|
|
36
|
+
}
|
|
23
37
|
};
|
|
24
38
|
}, []);
|
|
25
39
|
return appState;
|
package/NativeEngineHook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeEngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/NativeEngineHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,UAAU,oBAAoB;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAW,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACX,CAAC,KAAK,IAAI,EAAE;YACR,
|
|
1
|
+
{"version":3,"file":"NativeEngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/NativeEngineHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,UAAU,oBAAoB;IAChC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAW,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAEhD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;gBACjC,cAAc,CAAC,aAAa,CAAC,CAAC;aACjC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACR,eAAe,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAA;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,WAAW;IAChB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,iBAAiB,GAAG,CAAC,QAAwB,EAAE,EAAE;YACnD,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAChF,oEAAoE;QACpE,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC,QAAQ,CAAyB,CAAC;QAE5E,OAAO,GAAG,EAAE;YACR,IAAI,cAAc,EAAE;gBAChB,cAAc,EAAE,CAAC;aACpB;iBACI;gBACD,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;aAC7D;QACL,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAqC,EAAE,cAA0B;IAC3F,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACpB,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAErC,OAAO,GAAG,EAAE;oBACR,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;wBACpB,MAAM,CAAC,cAAc,EAAE,CAAC;qBAC3B;gBACL,CAAC,CAAC;aACL;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3B,CAAC"}
|
package/NativeEngineView.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { ViewProps } from 'react-native';
|
|
|
3
3
|
export interface NativeEngineViewProps extends ViewProps {
|
|
4
4
|
isTransparent: boolean;
|
|
5
5
|
antiAliasing: number;
|
|
6
|
-
|
|
6
|
+
androidView: string;
|
|
7
7
|
onSnapshotDataReturned?: (event: SyntheticEvent) => void;
|
|
8
8
|
}
|
|
9
9
|
export declare const NativeEngineView: {
|
package/README.md
CHANGED
|
@@ -89,14 +89,6 @@ e.g.
|
|
|
89
89
|
```tsx
|
|
90
90
|
<EngineView style={{flex: 1}} camera={camera} isTransparent={true} />
|
|
91
91
|
```
|
|
92
|
-
`isTopMost` is a flag that allows to place the view on top of any other view. When enabled, this allows a huge performance improvement on Android with Transparency on.
|
|
93
|
-
|
|
94
|
-
e.g.
|
|
95
|
-
|
|
96
|
-
```tsx
|
|
97
|
-
<EngineView style={{flex: 1}} camera={camera} isTopMost={true} />
|
|
98
|
-
```
|
|
99
|
-
|
|
100
92
|
To configure anti-aliasing, a property called `antiAliasing` can be changed to a value of 0 or 1 (disable anti-aliasing, default), 2, 4, 8 or 16 (anti-aliasing samples).
|
|
101
93
|
|
|
102
94
|
e.g.
|
|
@@ -106,3 +98,19 @@ e.g.
|
|
|
106
98
|
```
|
|
107
99
|
|
|
108
100
|
Note: Currently only one `EngineView` can be active at any given time. Multi-view will be supported in a future release.
|
|
101
|
+
|
|
102
|
+
The Android specific `androidView` property can help set the type of the view used for rendering. Depending on user needs and performance, refer to the table below. [`TextureView`](https://developer.android.com/reference/android/view/TextureView) can be inserted anywhere in the view hierarchy, but is less efficient. [`SurfaceView`](https://developer.android.com/reference/android/view/SurfaceView) can only be full above or fully below the rest of the UI, but is more efficient.
|
|
103
|
+
|
|
104
|
+
| isTransparent | androidView | Description |
|
|
105
|
+
| ----------- | ------------------------ | ----------- |
|
|
106
|
+
| False | TextureView | Opaque TextureView.
|
|
107
|
+
| False | SurfaceView | Simple surfaceView (default when no `androidView` set with `isTransparent=false`).
|
|
108
|
+
| False | SurfaceViewZTopMost | SurfaceView with [ZTopMost](https://developer.android.com/reference/android/view/SurfaceView#setZOrderOnTop(boolean)) set to `true`.
|
|
109
|
+
| False | SurfaceViewZMediaOverlay | SurfaceView with [ZMediaOverlay](https://developer.android.com/reference/android/view/SurfaceView#setZOrderMediaOverlay(boolean)) set to `true`.
|
|
110
|
+
| True | TextureView | Transparent TextureView.
|
|
111
|
+
| True | SurfaceView | SurfaceView will stay opaque
|
|
112
|
+
| True | SurfaceViewZTopMost | SurfaceView with [ZTopMost](https://developer.android.com/reference/android/view/SurfaceView#setZOrderOnTop(boolean)) set to `true`. Transparent but top most. (default when no `androidView` set with `isTransparent=true`)
|
|
113
|
+
| True | SurfaceViewZMediaOverlay | SurfaceView with [ZMediaOverlay](https://developer.android.com/reference/android/view/SurfaceView#setZOrderMediaOverlay(boolean)) set to `true`. Only Transparent on top of other SurfaceViews.
|
|
114
|
+
|
|
115
|
+
More infos on TextureView Vs SurfaceView performance here:
|
|
116
|
+
https://developer.android.com/reference/android/view/TextureView
|
package/ReactNativeEngine.js
CHANGED
|
@@ -20,12 +20,8 @@ export class ReactNativeEngine extends NativeEngine {
|
|
|
20
20
|
dispose() {
|
|
21
21
|
if (!this.isDisposed) {
|
|
22
22
|
super.dispose();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// TODO: https://github.com/BabylonJS/BabylonReactNative/issues/125
|
|
26
|
-
if (!__DEV__) {
|
|
27
|
-
reset();
|
|
28
|
-
}
|
|
23
|
+
BabylonNative.resetInitializationPromise();
|
|
24
|
+
reset();
|
|
29
25
|
this._isDisposed = true;
|
|
30
26
|
}
|
|
31
27
|
}
|
package/ReactNativeEngine.js.map
CHANGED
|
@@ -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;
|
|
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;AAU/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,aAAa,CAAC,0BAA0B,EAAE,CAAC;YAC3C,KAAK,EAAE,CAAC;YAER,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;CACJ"}
|