From 140a8b631cbaf47cb83b30dabbf2f9056cbf0662 Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Mon, 16 Aug 2021 12:21:47 -0700 Subject: [PATCH 1/5] Update BabylonNative, and bump Babylon.js --- Apps/PackageTest/0.63.1/package.json | 2 +- Apps/Playground/package-lock.json | 22 +++++++++---------- Apps/Playground/package.json | 4 ++-- .../@babylonjs/react-native/package-lock.json | 12 +++++----- Modules/@babylonjs/react-native/package.json | 4 ++-- .../react-native/submodules/BabylonNative | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Apps/PackageTest/0.63.1/package.json b/Apps/PackageTest/0.63.1/package.json index 1beb20bed..d7dec5d59 100644 --- a/Apps/PackageTest/0.63.1/package.json +++ b/Apps/PackageTest/0.63.1/package.json @@ -10,7 +10,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@babylonjs/core": "^5.0.0-alpha.34", + "@babylonjs/core": "^5.0.0-alpha.37", "@babylonjs/react-native": "file:../../../Package/Assembled/babylonjs-react-native-0.0.1.tgz", "react": "16.13.1", "react-native": "0.63.1", diff --git a/Apps/Playground/package-lock.json b/Apps/Playground/package-lock.json index 2f61b1796..55d10de82 100644 --- a/Apps/Playground/package-lock.json +++ b/Apps/Playground/package-lock.json @@ -886,20 +886,20 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", - "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", + "version": "5.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.37.tgz", + "integrity": "sha512-4F6EaG42VHzibZ7yq0lfy8LeC9GdcvaB7Wl4ghbm9oUbeT3E7GNjEJZUDGbsG6UkPwih6OyYYR6zbleyhajK3Q==", "requires": { "tslib": "^2.1.0" } }, "@babylonjs/loaders": { - "version": "5.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.0.0-alpha.34.tgz", - "integrity": "sha512-y/OWpykDO63WTPbPXylmT0R8XIGvZAG5fgtSE72LLDzF6M2LtTCnX3HiTEMVX1GPlyQzuslEFjtUsS3qgFYRFw==", + "version": "5.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-5.0.0-alpha.37.tgz", + "integrity": "sha512-kc0CCDXPiBCoyKfS0FiHJyEXXTMQ0SIkjZNR2KZt0omBAF5lHyR6rLUoOZp3iHx2bvHZ8SGNV7lazs+CMQ6nkw==", "requires": { - "@babylonjs/core": "5.0.0-alpha.34", - "babylonjs-gltf2interface": "5.0.0-alpha.34", + "@babylonjs/core": "5.0.0-alpha.37", + "babylonjs-gltf2interface": "5.0.0-alpha.37", "tslib": "^2.1.0" } }, @@ -4597,9 +4597,9 @@ } }, "babylonjs-gltf2interface": { - "version": "5.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.0.0-alpha.34.tgz", - "integrity": "sha512-BqcvLlTvVsPtQsCp/PtL0uIpNrJ1oas00N7kP1Lk7eDd+PUchIF1gvC/XvPR7QH6WABIvTcbi7Fr931OyIyxsw==" + "version": "5.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.0.0-alpha.37.tgz", + "integrity": "sha512-RZTavJcj6iePTdQ8kfthXMbtLRQO9UYyX4tCgdxmS6QqL3g8NhmtTDNjPw6EljLxstBTsAZEuV2M3pATmdOpyQ==" }, "balanced-match": { "version": "1.0.0", diff --git a/Apps/Playground/package.json b/Apps/Playground/package.json index 9904dd5c7..c3e6984f4 100644 --- a/Apps/Playground/package.json +++ b/Apps/Playground/package.json @@ -14,8 +14,8 @@ "iosCmake": "node scripts/tools.js iosCMake" }, "dependencies": { - "@babylonjs/core": "^5.0.0-alpha.34", - "@babylonjs/loaders": "^5.0.0-alpha.34", + "@babylonjs/core": "^5.0.0-alpha.37", + "@babylonjs/loaders": "5.0.0-alpha.37", "@babylonjs/react-native": "file:../../Modules/@babylonjs/react-native", "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", "@react-native-community/slider": "4.0.0-rc.3", diff --git a/Modules/@babylonjs/react-native/package-lock.json b/Modules/@babylonjs/react-native/package-lock.json index fe5cfc34e..e97c0a087 100644 --- a/Modules/@babylonjs/react-native/package-lock.json +++ b/Modules/@babylonjs/react-native/package-lock.json @@ -756,9 +756,9 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", - "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", + "version": "5.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.37.tgz", + "integrity": "sha512-4F6EaG42VHzibZ7yq0lfy8LeC9GdcvaB7Wl4ghbm9oUbeT3E7GNjEJZUDGbsG6UkPwih6OyYYR6zbleyhajK3Q==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -3953,9 +3953,9 @@ "dev": true }, "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", "dev": true }, "tsutils": { diff --git a/Modules/@babylonjs/react-native/package.json b/Modules/@babylonjs/react-native/package.json index 7db725bf9..65e274fd4 100644 --- a/Modules/@babylonjs/react-native/package.json +++ b/Modules/@babylonjs/react-native/package.json @@ -28,7 +28,7 @@ "semver": "^7.3.2" }, "peerDependencies": { - "@babylonjs/core": "^5.0.0-alpha.34", + "@babylonjs/core": "^5.0.0-alpha.37", "react": ">=16.13.1", "react-native": ">=0.63.1", "react-native-permissions": "^2.1.4" @@ -36,7 +36,7 @@ "devDependencies": { "@babel/core": "^7.8.4", "@babel/runtime": "^7.8.4", - "@babylonjs/core": "^5.0.0-alpha.34", + "@babylonjs/core": "^5.0.0-alpha.37", "@rnw-scripts/eslint-config": "0.1.6", "@rnw-scripts/ts-config": "0.1.0", "@types/base-64": "^0.1.3", diff --git a/Modules/@babylonjs/react-native/submodules/BabylonNative b/Modules/@babylonjs/react-native/submodules/BabylonNative index 40ded7a6b..e8bb154df 160000 --- a/Modules/@babylonjs/react-native/submodules/BabylonNative +++ b/Modules/@babylonjs/react-native/submodules/BabylonNative @@ -1 +1 @@ -Subproject commit 40ded7a6becb87f3c76e82ca452f8ae02b41e5ee +Subproject commit e8bb154df2b348a04637c78bc9730006240bb152 From 7a752006890c9a4d63e9004901edd0685e669c0c Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Tue, 17 Aug 2021 12:06:35 -0700 Subject: [PATCH 2/5] Add fix for CreateRenderTargetTexture --- Modules/@babylonjs/react-native/EngineHook.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/EngineHook.ts b/Modules/@babylonjs/react-native/EngineHook.ts index 2ffcee17f..2ae4f2fe9 100644 --- a/Modules/@babylonjs/react-native/EngineHook.ts +++ b/Modules/@babylonjs/react-native/EngineHook.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import { Platform } from 'react-native'; import { PERMISSIONS, check, request } from 'react-native-permissions'; -import { Engine, WebXRSessionManager, WebXRExperienceHelper, Color4 } from '@babylonjs/core'; +import { Engine, WebXRSessionManager, WebXRExperienceHelper, Color4, RenderTargetTexture, ThinEngine } from '@babylonjs/core'; import { ReactNativeEngine } from './ReactNativeEngine'; import './VersionValidation'; import * as base64 from 'base-64'; @@ -80,6 +80,17 @@ if (Platform.OS === "android" || Platform.OS === "ios") { }); return sessionManager; }; + + // Skip clearing render target texture back buffer for XR RTTs. + const originalCreateRenderTargetTexture: (...args: any[]) => RenderTargetTexture = (WebXRSessionManager.prototype as any)._createRenderTargetTexture; + (WebXRSessionManager.prototype as any)._createRenderTargetTexture = function (...args: any[]): RenderTargetTexture { + const renderTargetTexture = originalCreateRenderTargetTexture.apply(this, args); + renderTargetTexture.onClearObservable.add((engine: ThinEngine) => { + engine.clear(renderTargetTexture.clearColor, false, true, true); + }); + + return renderTargetTexture; + }; } else if (Platform.OS === "windows") { const originalEnterXRAsync: (...args: any[]) => Promise = WebXRExperienceHelper.prototype.enterXRAsync; WebXRExperienceHelper.prototype.enterXRAsync = async function (...args: any[]): Promise { From 5bf3b5f8574c2be83233203792bbbdd76b651ba9 Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Wed, 18 Aug 2021 10:50:11 -0700 Subject: [PATCH 3/5] Add comment referencing BabylonNative issue. --- Modules/@babylonjs/react-native/EngineHook.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/EngineHook.ts b/Modules/@babylonjs/react-native/EngineHook.ts index 2ae4f2fe9..6c1c78f56 100644 --- a/Modules/@babylonjs/react-native/EngineHook.ts +++ b/Modules/@babylonjs/react-native/EngineHook.ts @@ -81,7 +81,8 @@ if (Platform.OS === "android" || Platform.OS === "ios") { return sessionManager; }; - // Skip clearing render target texture back buffer for XR RTTs. + // TODO: https://github.com/BabylonJS/BabylonNative/issues/871 + // Workaround to skip clearing render target texture back buffer for XR RTTs. const originalCreateRenderTargetTexture: (...args: any[]) => RenderTargetTexture = (WebXRSessionManager.prototype as any)._createRenderTargetTexture; (WebXRSessionManager.prototype as any)._createRenderTargetTexture = function (...args: any[]): RenderTargetTexture { const renderTargetTexture = originalCreateRenderTargetTexture.apply(this, args); From 88328f83cf5fe646f168d2fc348054f4b0f2af9e Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Wed, 18 Aug 2021 11:25:02 -0700 Subject: [PATCH 4/5] Update PackageTest --- Apps/PackageTest/0.63.1/package-lock.json | 14 +++++++------- Apps/PackageTest/0.64.0/package.json | 2 +- Apps/Playground/ios/Podfile.lock | 6 +++--- .../@babylonjs/react-native-windows/package.json | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Apps/PackageTest/0.63.1/package-lock.json b/Apps/PackageTest/0.63.1/package-lock.json index 07600c87e..2e50d54e9 100644 --- a/Apps/PackageTest/0.63.1/package-lock.json +++ b/Apps/PackageTest/0.63.1/package-lock.json @@ -913,16 +913,16 @@ } }, "@babylonjs/core": { - "version": "5.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.34.tgz", - "integrity": "sha512-cBxaLT+HmkVRBPG5FewMfUtGKEsXwZzB9n/JTxnzA/ohuDR5vLzwQ9tR2hOlFYococDWsJHJok0WAq1FWfEt+Q==", + "version": "5.0.0-alpha.38", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-5.0.0-alpha.38.tgz", + "integrity": "sha512-3stjWgQs3GbPPcx7PAaztTzwmdThN1YVBFO/AQKXtK5WCgAO3uaEQcq6BcrjZGcMIV/HgF2wGHGMzc32+fLPpg==", "requires": { "tslib": "^2.1.0" } }, "@babylonjs/react-native": { "version": "file:../../../Package/Assembled/babylonjs-react-native-0.0.1.tgz", - "integrity": "sha512-UdxBV+FjmayrEPEGOTRY84eL6Ut/VqfItccKmo4dmg+494wpNTMszKVIHh4j+50JlUtMU2Y8r12vuWANwyj4OA==", + "integrity": "sha512-s88RrPcfRqqW7MK3qnXvgoAFmqRGJVbSGyHYuF+KWAsgfEmsfBx4MRqv/IYcp/O7Qnk6ia+XLd3+/N3LfPnDqQ==", "requires": { "base-64": "^0.1.0", "semver": "^7.3.2" @@ -11367,9 +11367,9 @@ } }, "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "tsutils": { "version": "3.21.0", diff --git a/Apps/PackageTest/0.64.0/package.json b/Apps/PackageTest/0.64.0/package.json index dd6cec3e0..f997e2864 100644 --- a/Apps/PackageTest/0.64.0/package.json +++ b/Apps/PackageTest/0.64.0/package.json @@ -12,7 +12,7 @@ "lint": "eslint . --ext .js,.jsx,.ts,.tsx" }, "dependencies": { - "@babylonjs/core": "^5.0.0-alpha.30", + "@babylonjs/core": "^5.0.0-alpha.37", "@babylonjs/react-native": "file:../../../Package/Assembled/babylonjs-react-native-0.0.1.tgz", "@babylonjs/react-native-windows": "file:../../../Package/Assembled-Windows/babylonjs-react-native-windows-0.0.1.tgz", "react": "^17.0.1", diff --git a/Apps/Playground/ios/Podfile.lock b/Apps/Playground/ios/Podfile.lock index 4107aa88f..4151248db 100644 --- a/Apps/Playground/ios/Podfile.lock +++ b/Apps/Playground/ios/Podfile.lock @@ -467,9 +467,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: cde416483dac037923206447da6e1454df403714 + DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 - FBReactNativeSpec: 5d6dbb11432863ed5cd10461d91baf60af966217 + FBReactNativeSpec: 41c2862d3cf2b290d1e02d6e871a482e2979677b Flipper: d3da1aa199aad94455ae725e9f3aa43f3ec17021 Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-Folly: 755929a4f851b2fb2c347d533a23f191b008554c @@ -477,7 +477,7 @@ SPEC CHECKSUMS: Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 FlipperKit: 8a20b5c5fcf9436cac58551dc049867247f64b00 - glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 + glog: 73c2498ac6884b13ede40eda8228cb1eee9d9d62 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b Permission-Camera: 358081c7b8210849958af181ce9ddeb11932aa82 diff --git a/Modules/@babylonjs/react-native-windows/package.json b/Modules/@babylonjs/react-native-windows/package.json index 904d647fe..cec62c575 100644 --- a/Modules/@babylonjs/react-native-windows/package.json +++ b/Modules/@babylonjs/react-native-windows/package.json @@ -24,7 +24,7 @@ "licenseFilename": "LICENSE", "readmeFilename": "README.md", "peerDependencies": { - "@babylonjs/core": "^5.0.0-alpha.34", + "@babylonjs/core": "^5.0.0-alpha.37", "@babylonjs/react-native":"version", "react": "^17.0.1", "react-native": "^0.64.0", From edf9d8fefde301a80cddd56fa01b8b066f75a0a5 Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Wed, 18 Aug 2021 13:02:12 -0700 Subject: [PATCH 5/5] Add back missing ^ from @babylonjs/loaders dependency in Playground app --- Apps/Playground/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Apps/Playground/package.json b/Apps/Playground/package.json index c3e6984f4..2cac2aefc 100644 --- a/Apps/Playground/package.json +++ b/Apps/Playground/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@babylonjs/core": "^5.0.0-alpha.37", - "@babylonjs/loaders": "5.0.0-alpha.37", + "@babylonjs/loaders": "^5.0.0-alpha.37", "@babylonjs/react-native": "file:../../Modules/@babylonjs/react-native", "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", "@react-native-community/slider": "4.0.0-rc.3",