BabylonJS / Babylon.js

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
http://www.babylonjs.com
Apache License 2.0
22.78k stars 3.39k forks source link

Add features object passed as option to C++ native engine for backwards compatibility #15128

Closed bghgary closed 1 month ago

bghgary commented 1 month ago

This makes it possible for the C++ native engine to check if some features are available on the JS side and then do different things based on what the flags say. This will ensure better backwards compatibility with versions.

bjsplat commented 1 month ago

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). To prevent this PR from going to the changelog marked it with the "skip changelog" label.

bjsplat commented 1 month ago

Snapshot stored with reference name: refs/pull/15128/merge

Test environment: https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/index.html

To test a playground add it to the URL, for example:

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/index.html#WGZLGJ#4600

Links to test babylon tools with this snapshot:

https://playground.babylonjs.com/?snapshot=refs/pull/15128/merge https://sandbox.babylonjs.com/?snapshot=refs/pull/15128/merge https://gui.babylonjs.com/?snapshot=refs/pull/15128/merge https://nme.babylonjs.com/?snapshot=refs/pull/15128/merge

To test the snapshot in the playground with a playground ID add it after the snapshot query string:

https://playground.babylonjs.com/?snapshot=refs/pull/15128/merge#BCU1XR#0

bjsplat commented 1 month ago

Visualization tests for WebGPU (Experimental) Important - these might fail sporadically. This is an optional test.

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/testResults/webgpuplaywright/index.html

bjsplat commented 1 month ago

WebGL2 visualization test reporter:

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/testResults/webgl2playwright/index.html

bjsplat commented 1 month ago

WebGL2 visualization test reporter:

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/testResults/webgl2playwright/index.html

bjsplat commented 1 month ago

Visualization tests for WebGPU (Experimental) Important - these might fail sporadically. This is an optional test.

https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15128/merge/testResults/webgpuplaywright/index.html