Offscreen canvas cant export scene context as glb?

So I have a setup where I am loading googles 3d tiles in an offscreen canvas and have that cameras rtt being passed to a texture in my main threads scene.

But for some reason when I try to export the scene as a glb from the worker then pass the blob back as an arrayBuffer or any other option for communication between the worker and the main thread the model always comes back blank. Even though the data seems to be there something along the way no matter what I do causes the glb to be valid but not have any geometry data. It will load into blender and see the hierarchy I would expect but no geometry.

Is there something about the offscreen canvas that is not allowing me to actually parse the context or something? I would assume turning it into a glb blob and passing that back to the main thread where I duplicated the download process for the GLTFData.downloadFiles method on that blob would work. I know you cant pass complex objects but what would make the blob not work?

I can put together a PG but before I did, wanted to check that this is expected behavior from a worker thread scene.

I can not think of anything that would break it like this :frowning: The repro in the PG would help us go.

hmm this totally works here, but not with my other scene… interesting.

Well this at least lets me know its possible.

Thank you for your help.

Hmm so even if I try to just export a sphere from my local version just like I did here it does not work.

This is rather confusing.

I also know the vertexData is there, because I merged the mesh and passed that back to the main thread as buffers and was able to rebuild the mesh from that. But exporting says nope…

… welp I figured it out.

Its was because the mesh I was exporting as a glb was parented to a transformNode. As soon as I unparented everything worked perfect.

So I’m assuming its because my options did not include the parent node in shouldExportNode function?