From 8eff8c3c0b57e85365e318153b270562e5f5947c Mon Sep 17 00:00:00 2001 From: Branimir Karadzic Date: Tue, 27 Oct 2026 07:21:38 -0700 Subject: [PATCH] Bump Babylon.js to 9.32.1 and enable newly passing tests Update all babylonjs* npm dependencies from 9.31.3 to 9.32.1 and enable 14 validation tests that now pass on Win32 D3D11 V8. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 60c2ec68-6de1-445d-9fc9-b699db737eae --- Apps/Playground/Scripts/config.json | 36 ++--------- Apps/UnitTests/JavaScript/package.json | 4 +- Apps/package-lock.json | 84 +++++++++++++------------- Apps/package.json | 16 ++--- 4 files changed, 56 insertions(+), 84 deletions(-) diff --git a/Apps/Playground/Scripts/config.json b/Apps/Playground/Scripts/config.json index f117a2e5a..601e6c650 100644 --- a/Apps/Playground/Scripts/config.json +++ b/Apps/Playground/Scripts/config.json @@ -558,8 +558,6 @@ "title": "Gaussian Splatting modify", "playgroundId": "#O53CPP#0", "renderCount": 15, - "excludeFromAutomaticTesting": true, - "reason": "GaussianSplatting throws Uncaught Error: Invalid argument on Babylon Native (thrown before pixel comparison, not a pixel-diff)", "referenceImage": "gsplat-splat-modify.png" }, { @@ -571,8 +569,6 @@ "title": "Gaussian Splatting Bake Transforms", "playgroundId": "#GU7A98#0", "renderCount": 15, - "excludeFromAutomaticTesting": true, - "reason": "Pixel comparison fails (more than 20% pixels differ)", "referenceImage": "gsplat-splat-bake-transforms.png" }, { @@ -1001,9 +997,7 @@ { "title": "GUI Transform StackPanel", "playgroundId": "#BS60AB#0", - "referenceImage": "TransformStackPanel.png", - "excludeFromAutomaticTesting": true, - "reason": "GUI Transform StackPanel buttons render orange/red instead of green (BN GUI color regression)." + "referenceImage": "TransformStackPanel.png" }, { "title": "GUI StackPanel", @@ -1388,15 +1382,11 @@ { "title": "GLTF Box with bad Draco normalized flag", "playgroundId": "#8KJJH9", - "excludeFromAutomaticTesting": true, - "reason": "Test crashes or hangs on Babylon Native", "referenceImage": "gltfBadDraco.png" }, { "title": "GLTF Buggy with Meshopt Compression", "playgroundId": "#CIYTF6#0", - "excludeFromAutomaticTesting": true, - "reason": "NativeEngine throws RuntimeError: Unable to load from https://assets.babylonjs.com/meshes/Buggy/glTF-MeshOpt/Buggy.gltf: Object doesn't support property or method 'createObjectURL' (missing DOM API; thrown before pixel comparison)", "referenceImage": "gltfBuggyMeshopt.png" }, { @@ -2006,9 +1996,7 @@ "title": "Order independent transparency", "playgroundId": "#1PLV5Z#104", "renderCount": 5, - "referenceImage": "oit.png", - "excludeFromAutomaticTesting": true, - "reason": "Passes in isolation on Win32 D3D11 with Babylon.js 9.31.3, but fails pixel comparison (12.9% px) when run after \"Reverse depth buffer and CSM shadows\" in the same process" + "referenceImage": "oit.png" }, { "title": "Custom material with depth renderer", @@ -2145,8 +2133,6 @@ { "title": "GUI Force Resize Width", "playgroundId": "#XCPP9Y#17259", - "excludeFromAutomaticTesting": true, - "reason": "Pixel comparison fails (more than 20% pixels differ)", "referenceImage": "GUI-Force-Resize-Width.png" }, { @@ -2162,8 +2148,6 @@ { "title": "GUI Gradient Linear with transparency", "playgroundId": "#PFK1Z5", - "excludeFromAutomaticTesting": true, - "reason": "Temporarily excluded until Babylon.js #19041 ships: straight-RGBA gradient interpolation only matches the browser when the engine requests unpremultiplied canvas textures via getCanvasTexture(premulAlpha). Re-enable after the Babylon.js npm update.", "referenceImage": "GUI-Gradient-Linear-with-transparency.png" }, { @@ -2285,8 +2269,6 @@ { "title": "Vertex buffers with non aligned strides", "playgroundId": "#U1CZV3#32", - "excludeFromAutomaticTesting": true, - "reason": "Test crashes or hangs on Babylon Native", "referenceImage": "VertexBuffer-non-aligned-strides.png" }, { @@ -2299,8 +2281,6 @@ { "title": "Font size inheritance", "playgroundId": "#QFK9K4#24", - "excludeFromAutomaticTesting": true, - "reason": "Pixel comparison fails (more than 20% pixels differ)", "referenceImage": "Fontsizeinheritance.png" }, { @@ -2428,9 +2408,7 @@ "title": "skybox-with-boombox", "playgroundId": "#I2TR8G#0", "renderCount": 20, - "referenceImage": "skybox-with-boombox.png", - "excludeFromAutomaticTesting": true, - "reason": "GUI text 'Hello world WebGPU!' renders pink/red instead of white (BN GUI color regression); boombox also has minor edge differences." + "referenceImage": "skybox-with-boombox.png" }, { "title": "custom-handling-of-materials-for-render-target-pass", @@ -3529,9 +3507,7 @@ "title": "OpenPBR Thin Walled Subsurface Transmission Blending - IBL", "playgroundId": "#URIA5X#0", "renderCount": 5, - "referenceImage": "OpenPBR-Thin-Walled-Subsurface-Transmission-Blending---IBL.png", - "excludeFromAutomaticTesting": true, - "reason": "Passes in isolation on Win32 D3D11 with Babylon.js 9.31.3, but fails pixel comparison (99.8% px) when run after other tests in the same process" + "referenceImage": "OpenPBR-Thin-Walled-Subsurface-Transmission-Blending---IBL.png" }, { "title": "Background material blur", @@ -4241,8 +4217,6 @@ { "title": "FrameGraph nrge clustered lights", "playgroundId": "#1QCA2M#36", - "excludeFromAutomaticTesting": true, - "reason": "Chakra parse failure on modern JS syntax", "referenceImage": "FrameGraph-nrge-clustered-lights.png" }, { @@ -4253,8 +4227,6 @@ { "title": "Clustered lights - debug markers", "playgroundId": "#1QCA2M#47", - "excludeFromAutomaticTesting": true, - "reason": "Chakra parse failure on modern JS syntax", "referenceImage": "Clustered-lights---debug-markers.png" }, { diff --git a/Apps/UnitTests/JavaScript/package.json b/Apps/UnitTests/JavaScript/package.json index 332b761c1..7312ac461 100644 --- a/Apps/UnitTests/JavaScript/package.json +++ b/Apps/UnitTests/JavaScript/package.json @@ -7,8 +7,8 @@ "watch": "webpack -watch" }, "dependencies": { - "babylonjs": "^9.31.3", - "babylonjs-materials": "^9.31.3", + "babylonjs": "^9.32.1", + "babylonjs-materials": "^9.32.1", "chai": "^5.2.0", "jsc-android": "^241213.1.0", "mocha": "^11.1.0", diff --git a/Apps/package-lock.json b/Apps/package-lock.json index 8308ce288..98e165bc6 100644 --- a/Apps/package-lock.json +++ b/Apps/package-lock.json @@ -13,14 +13,14 @@ ], "dependencies": { "@babylonjs/havok": "1.3.12", - "babylonjs": "^9.31.3", - "babylonjs-addons": "^9.31.3", - "babylonjs-gltf2interface": "^9.31.3", - "babylonjs-gui": "^9.31.3", - "babylonjs-loaders": "^9.31.3", - "babylonjs-materials": "^9.31.3", - "babylonjs-procedural-textures": "9.31.3", - "babylonjs-serializers": "^9.31.3", + "babylonjs": "^9.32.1", + "babylonjs-addons": "^9.32.1", + "babylonjs-gltf2interface": "^9.32.1", + "babylonjs-gui": "^9.32.1", + "babylonjs-loaders": "^9.32.1", + "babylonjs-materials": "^9.32.1", + "babylonjs-procedural-textures": "9.32.1", + "babylonjs-serializers": "^9.32.1", "earcut": "^2.2.4", "jsc-android": "^241213.1.0", "typescript": "^5.9.3", @@ -2616,72 +2616,72 @@ } }, "node_modules/babylonjs": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs/-/babylonjs-9.31.3.tgz", - "integrity": "sha512-Nv69O+w6b3FdV63c7/4gjLORWa/lCpH1wWPp/IQlB/hazwtnB6We26g+OQDtDHKLZrTvzYRUiKmqGdTkJgZU5g==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs/-/babylonjs-9.32.1.tgz", + "integrity": "sha512-8T1xa5M7gHSrVSsdu0/pvlac+jKfVifiUbDGMYHYiia+U7tg9etxMQNtTHLQRFQHegRmkOGhRmVHHI4gfCbE7w==", "hasInstallScript": true, "license": "Apache-2.0" }, "node_modules/babylonjs-addons": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-addons/-/babylonjs-addons-9.31.3.tgz", - "integrity": "sha512-y2BRs+UFuYAg5h5OQgYrRDGLsYPDP+p/DUa5FeVjEqqBOjdNtHYDTNORV3VYoyyCCXO/phe5HTkRDlmMeqZx0w==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-addons/-/babylonjs-addons-9.32.1.tgz", + "integrity": "sha512-k+K60JkjfN322EqZTxigyWPsdIe5+qOOmfObCYGzGOVqIb85COS2r7ZRj01M5Uskw4plomJ2gWRfzooZ/M7kCw==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3" + "babylonjs": "9.32.1" } }, "node_modules/babylonjs-gltf2interface": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-9.31.3.tgz", - "integrity": "sha512-v91KgL8xrfCK6vgubpG84xE1feNVcNXqkYR99GhidQpLWHzsyZws7efvmCXeXLEyOqArrRDYiYAeI6pZXcEOww==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-9.32.1.tgz", + "integrity": "sha512-FjVnlJQT4aFHhIcWuTX0RL5ty1h9iXLeVpBIhrkuMOEhp+8dj9QpAQiesFe+QJKKyGJmayQlNzEF5NKtzSdjew==", "license": "Apache-2.0" }, "node_modules/babylonjs-gui": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-gui/-/babylonjs-gui-9.31.3.tgz", - "integrity": "sha512-YnsgKioxfEk7Yg+aWoOsqVn89qbkLe2VTr/adjKjq+Rq1Vy4H1jBBaxiv5Ld+saAQC/wCx9NowgksKgMSKh+KA==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-gui/-/babylonjs-gui-9.32.1.tgz", + "integrity": "sha512-26ieulbisbblKjVLLah1EpR0kjKNI8fcMNMLZLB/6SOCOAfaPiCm1c9LEiRAEM8kvD2+esn+JmnwjZ60aPY8Zg==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3" + "babylonjs": "9.32.1" } }, "node_modules/babylonjs-loaders": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-loaders/-/babylonjs-loaders-9.31.3.tgz", - "integrity": "sha512-tY65ZgS6uBqJFDk+048SgeD2vSPKwtSxE3+JeS6c1D2FeghUud+JSjcAJteEz/9jkkwYqhAzM521/Miy2Q5LiQ==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-loaders/-/babylonjs-loaders-9.32.1.tgz", + "integrity": "sha512-aTNRxWfx3FR2hwNPorMLJdqIzQIUyLR6f6l6aTCW/k21Av1R0S6NtPwFZAp2xfZHTBdMyPtW2rXxTnnzrcrmVw==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3", - "babylonjs-gltf2interface": "9.31.3" + "babylonjs": "9.32.1", + "babylonjs-gltf2interface": "9.32.1" } }, "node_modules/babylonjs-materials": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-materials/-/babylonjs-materials-9.31.3.tgz", - "integrity": "sha512-9y0ZE6WmFdds6GG+DVuDPV9FmcGTgMRPq6fzxkuf+ea36qmeFBKSQjZIvw/KJKm0PMV2Fq1nM+25xyLvb68i+A==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-materials/-/babylonjs-materials-9.32.1.tgz", + "integrity": "sha512-QEcdKWJkQISszAnTzSiWtVialj7LQMtnWqZHwyJbHNv5kUtoEtdq/PJ1nPGtt6JfuQdON+4E725hcTO4gfHatg==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3" + "babylonjs": "9.32.1" } }, "node_modules/babylonjs-procedural-textures": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-procedural-textures/-/babylonjs-procedural-textures-9.31.3.tgz", - "integrity": "sha512-kxs9QDtx+5iAi8o4zQgHp4PV6AX62Kxg/1KGunN8H3nAS4xffgVt9ylhLwQp8RA2KQ5sd5CAZcqz5vmeD7Z6Lg==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-procedural-textures/-/babylonjs-procedural-textures-9.32.1.tgz", + "integrity": "sha512-fOyFuKjYQ85GGV6+UJOBZj3sM9fNqKVAEFanPu77us34y0F5wKAOnf2S2biG8VQ/NnAme2QAg+Cm64hhx1WfDQ==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3" + "babylonjs": "9.32.1" } }, "node_modules/babylonjs-serializers": { - "version": "9.31.3", - "resolved": "https://registry.npmjs.org/babylonjs-serializers/-/babylonjs-serializers-9.31.3.tgz", - "integrity": "sha512-KcXVPsPWYPu4Gci92k/RLvhcM5wLaSIfHBDWu8ejhBHWBOgpZ/ABkzFzmN/GtUQup5f8nEuP3LQdqGujJJk09A==", + "version": "9.32.1", + "resolved": "https://registry.npmjs.org/babylonjs-serializers/-/babylonjs-serializers-9.32.1.tgz", + "integrity": "sha512-JHs/mSmVIKb1+e9B/JHqedCftrfQCCVz3vrpx3e89PLG7HvHDby+P6IGwUGZ7avxCzrHSomrpF8geQfRNyNZAg==", "license": "Apache-2.0", "dependencies": { - "babylonjs": "9.31.3", - "babylonjs-gltf2interface": "9.31.3" + "babylonjs": "9.32.1", + "babylonjs-gltf2interface": "9.32.1" } }, "node_modules/balanced-match": { @@ -5665,8 +5665,8 @@ "name": "UnitTests", "version": "0.0.1", "dependencies": { - "babylonjs": "^9.31.3", - "babylonjs-materials": "^9.31.3", + "babylonjs": "^9.32.1", + "babylonjs-materials": "^9.32.1", "chai": "^5.2.0", "jsc-android": "^241213.1.0", "mocha": "^11.1.0", diff --git a/Apps/package.json b/Apps/package.json index 50dffa284..609e1cf92 100644 --- a/Apps/package.json +++ b/Apps/package.json @@ -12,14 +12,14 @@ }, "dependencies": { "@babylonjs/havok": "1.3.12", - "babylonjs": "^9.31.3", - "babylonjs-addons": "^9.31.3", - "babylonjs-gltf2interface": "^9.31.3", - "babylonjs-gui": "^9.31.3", - "babylonjs-loaders": "^9.31.3", - "babylonjs-materials": "^9.31.3", - "babylonjs-procedural-textures": "9.31.3", - "babylonjs-serializers": "^9.31.3", + "babylonjs": "^9.32.1", + "babylonjs-addons": "^9.32.1", + "babylonjs-gltf2interface": "^9.32.1", + "babylonjs-gui": "^9.32.1", + "babylonjs-loaders": "^9.32.1", + "babylonjs-materials": "^9.32.1", + "babylonjs-procedural-textures": "9.32.1", + "babylonjs-serializers": "^9.32.1", "earcut": "^2.2.4", "jsc-android": "^241213.1.0", "typescript": "^5.9.3",