I've tried implementing RoomEnvironment without success. Even with https://github.com/donmccurdy/3D2PNG_GLB_Support/blob/97f379af74c95649e63426f60bbaaa38d6d1b03d/PMREMGenerator.js it seems WEBGL_color_buffer_float is not supported by headless-gl(?) I'm unclear as to why this doesn't work. It fails silently.
https://github.com/OpenDEM/3D2PNG_GLB_Support does not work for me locally and I get the same result. Objects are rendered fully black.
Possible path forward: (if no solution is found)
Migrate rendering from headless-gl to Puppeteer because PMREMGenerator (used by RoomEnvironment) requires float/half-float framebuffer support, which is not available in headless-gl (afaikt) but is supported in chromium. This will also allow us to use threejs latest.
It's worth noting that 3d2png runs on thumbor's app image, this means we need to add chromium as a dependency if not already there. Not sure what the implications of this can be or if at all allowed or possible given our current infrastructure.
Migrating to puppeteer seems to work on my rudimentary testing.