@babylonjs/react-native 0.65.0-alpha.47 → 0.65.0-alpha.48
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.d.ts +0 -1
- package/EngineHook.js +0 -1
- package/EngineHook.js.map +1 -1
- package/EngineView.js +13 -37
- package/EngineView.js.map +1 -1
- package/NativeEngineHook.d.ts +4 -0
- package/NativeEngineHook.js +43 -0
- package/NativeEngineHook.js.map +1 -0
- package/NativeEngineView.d.ts +10 -0
- package/NativeEngineView.js +3 -0
- package/NativeEngineView.js.map +1 -0
- package/android/src/main/jniLibs/arm64-v8a/libBabylonNative.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libBabylonNative.so +0 -0
- package/android/src/main/jniLibs/x86/libBabylonNative.so +0 -0
- package/ios/ReactNativeBabylon.xcodeproj/project.pbxproj +7112 -7108
- package/ios/libs/libBabylonNative.a +0 -0
- package/ios/libs/libCanvas.a +0 -0
- package/ios/libs/libGraphics.a +0 -0
- package/ios/libs/libJsRuntime.a +0 -0
- package/ios/libs/libNativeCapture.a +0 -0
- package/ios/libs/libNativeEngine.a +0 -0
- package/ios/libs/libNativeInput.a +0 -0
- package/ios/libs/libNativeOptimizations.a +0 -0
- package/ios/libs/libNativeTracing.a +0 -0
- package/ios/libs/libNativeXr.a +0 -0
- package/ios/libs/libWindow.a +0 -0
- package/ios/libs/libXMLHttpRequest.a +0 -0
- package/ios/libs/libbgfx.a +0 -0
- package/ios/libs/libnapi.a +0 -0
- package/package.json +3 -3
package/EngineHook.d.ts
CHANGED
package/EngineHook.js
CHANGED
|
@@ -3,7 +3,6 @@ import { Platform } from 'react-native';
|
|
|
3
3
|
import { PERMISSIONS, check, request } from 'react-native-permissions';
|
|
4
4
|
import { WebXRSessionManager, WebXRExperienceHelper, Color4, Tools } from '@babylonjs/core';
|
|
5
5
|
import { ReactNativeEngine } from './ReactNativeEngine';
|
|
6
|
-
import './VersionValidation';
|
|
7
6
|
import * as base64 from 'base-64';
|
|
8
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.
|
|
9
8
|
// https://developer.mozilla.org/en-US/docs/Web/API/XRSystem/requestSession
|
package/EngineHook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineHook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAU,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"EngineHook.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineHook.ts"],"names":[],"mappings":"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"}
|
package/EngineView.js
CHANGED
|
@@ -1,48 +1,24 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useState, useRef } from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import React, { useCallback, useEffect, useState, useRef, useMemo } from 'react';
|
|
2
|
+
import { View, Text, findNodeHandle, UIManager } from 'react-native';
|
|
3
3
|
import { SceneInstrumentation } from '@babylonjs/core';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import { useModuleInitializer, useRenderLoop } from './NativeEngineHook';
|
|
5
|
+
import { NativeEngineView } from './NativeEngineView';
|
|
6
6
|
export const EngineView = (props) => {
|
|
7
|
-
const [initialized, setInitialized] = useState();
|
|
8
|
-
const [appState, setAppState] = useState(AppState.currentState);
|
|
9
7
|
//const [fps, setFps] = useState<number>();
|
|
10
8
|
const [sceneStats, setSceneStats] = useState();
|
|
11
9
|
const engineViewRef = useRef(null);
|
|
12
10
|
const snapshotPromise = useRef();
|
|
13
11
|
const isTransparent = props.isTransparent || false;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
setAppState(appState);
|
|
22
|
-
};
|
|
23
|
-
AppState.addEventListener("change", onAppStateChanged);
|
|
24
|
-
return () => {
|
|
25
|
-
AppState.removeEventListener("change", onAppStateChanged);
|
|
26
|
-
};
|
|
27
|
-
}, []);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (props.camera && appState === "active") {
|
|
30
|
-
const engine = props.camera.getScene().getEngine();
|
|
31
|
-
if (!engine.isDisposed) {
|
|
32
|
-
engine.runRenderLoop(() => {
|
|
33
|
-
for (let scene of engine.scenes) {
|
|
34
|
-
scene.render();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
return () => {
|
|
38
|
-
if (!engine.isDisposed) {
|
|
39
|
-
engine.stopRenderLoop();
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
12
|
+
const initialized = useModuleInitializer();
|
|
13
|
+
const engine = useMemo(() => {
|
|
14
|
+
return props.camera?.getScene().getEngine();
|
|
15
|
+
}, [props.camera]);
|
|
16
|
+
const renderLoop = useCallback(() => {
|
|
17
|
+
for (let scene of engine.scenes) {
|
|
18
|
+
scene.render();
|
|
43
19
|
}
|
|
44
|
-
|
|
45
|
-
|
|
20
|
+
}, [engine]);
|
|
21
|
+
useRenderLoop(engine, renderLoop);
|
|
46
22
|
useEffect(() => {
|
|
47
23
|
if (props.camera && (props.displayFrameRate ?? __DEV__)) {
|
|
48
24
|
const scene = props.camera.getScene();
|
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,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/EngineView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { AppState } from 'react-native';
|
|
3
|
+
import { ensureInitialized } from './BabylonModule';
|
|
4
|
+
import './VersionValidation';
|
|
5
|
+
export function useModuleInitializer() {
|
|
6
|
+
const [initialized, setInitialized] = useState();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
(async () => {
|
|
9
|
+
setInitialized(await ensureInitialized());
|
|
10
|
+
})();
|
|
11
|
+
}, []);
|
|
12
|
+
return initialized;
|
|
13
|
+
}
|
|
14
|
+
function useAppState() {
|
|
15
|
+
const [appState, setAppState] = useState(AppState.currentState);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const onAppStateChanged = (appState) => {
|
|
18
|
+
setAppState(appState);
|
|
19
|
+
};
|
|
20
|
+
AppState.addEventListener("change", onAppStateChanged);
|
|
21
|
+
return () => {
|
|
22
|
+
AppState.removeEventListener("change", onAppStateChanged);
|
|
23
|
+
};
|
|
24
|
+
}, []);
|
|
25
|
+
return appState;
|
|
26
|
+
}
|
|
27
|
+
export function useRenderLoop(engine, renderCallback) {
|
|
28
|
+
const appState = useAppState();
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (engine && appState === "active") {
|
|
31
|
+
if (!engine.isDisposed) {
|
|
32
|
+
engine.runRenderLoop(renderCallback);
|
|
33
|
+
return () => {
|
|
34
|
+
if (!engine.isDisposed) {
|
|
35
|
+
engine.stopRenderLoop();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}, [appState, engine]);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=NativeEngineHook.js.map
|
|
@@ -0,0 +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,cAAc,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IACT,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,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEvD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC9D,CAAC,CAAA;IACL,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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Component, SyntheticEvent } from 'react';
|
|
2
|
+
import { ViewProps } from 'react-native';
|
|
3
|
+
export interface NativeEngineViewProps extends ViewProps {
|
|
4
|
+
isTransparent: boolean;
|
|
5
|
+
onSnapshotDataReturned?: (event: SyntheticEvent) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const NativeEngineView: {
|
|
8
|
+
prototype: Component<NativeEngineViewProps>;
|
|
9
|
+
new (props: Readonly<NativeEngineViewProps>): Component<NativeEngineViewProps>;
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeEngineView.js","sourceRoot":"","sources":["../../Modules/@babylonjs/react-native/NativeEngineView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAa,MAAM,cAAc,CAAC;AASjE,MAAM,CAAC,MAAM,gBAAgB,GAGzB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|