Uncaught error on GLB export with Draco Compression

Hey,

I had a scene which would not export with Draco Compression. The error is a bit nasty because not even caugth by the .catch() method of the GLTF2Export.GLBAsync Promise

After some hours of debug I could isolate a repro : GLB export + Draco Compression will Crash as soon as there is a zero surface triangle (merge points)

Please find here a repro : Playground

image

It seems that the error comes from this line of dracoCompressionWorker.ts @alexchuber

1 Like

cc @alexchuber

I doubt the encoder is meant to handle that case (a zero surface triangle), but we were definitely missing some handling for promise rejections. The export should fail more gracefully now. Thanks for the report!

1 Like

Hey, thanks for the error handling fix @alexchuber

I know it makes few sense, for FYI the original mesh from which I had the error triggered, is a mesh from Blender, which had been exported (Draco Compressed) from Blender to GLB before being imported in BabylonJS. On some (I agree, bad) geometry, this can happen quite often to be honest :slight_smile:

1 Like

Gotcha, gotcha.

If the Draco encoder fails when the geometry isn’t bad-- or at least not obviously bad-- would you mind raising a repro on the forum? It’d be great to track these scenarios, especially if they happen often.