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.75k stars 3.39k forks source link

Throw error in CSG when adding a mesh that lacks indices, positions or normals #15237

Closed rapid-images-tore-levenstam closed 4 days ago

rapid-images-tore-levenstam commented 5 days ago

Small issue found, where Babylon reads from a null array. Added some checks that throw more descriptive errors and adjusted the typing as well to better represent the data usage.

bjsplat commented 5 days 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 5 days 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 5 days ago

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

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

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

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

Links to test babylon tools with this snapshot:

https://playground.babylonjs.com/?snapshot=refs/pull/15237/merge https://sandbox.babylonjs.com/?snapshot=refs/pull/15237/merge https://gui.babylonjs.com/?snapshot=refs/pull/15237/merge https://nme.babylonjs.com/?snapshot=refs/pull/15237/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/15237/merge#BCU1XR#0

bjsplat commented 5 days ago

WebGL2 visualization test reporter:

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

bjsplat commented 5 days ago

Visualization tests for WebGPU (Experimental)

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