After thoroughly analyzing the native C++ code of CocoonJS running the Three.js demo, I successfully identified and resolved the issue at hand.
Within Three.js, a framebuffer is created for the WebGLRenderTarget object, the color buffer (texture) is attached, a renderBuffer is generated, and a depth/stencil renderbuffer is connected to it. The root of the problem lies in the second argument of the WebGL renderbufferStorage method, resulting in an incomplete framebuffer status. Although Three.js should ideally detect this error through the checkFramebufferStatus method to prevent silent errors, it currently does not do so.
Rest assured, I have implemented the necessary fix, which will be included in the upcoming CocoonJS release.
In the meantime, you can apply a temporary fix in your JS code (which will no longer be required in the next release).
Simply replace the following line in Three.js:
j.renderbufferStorage(j.RENDERBUFFER,j.DEPTH_STENCIL,b.width,b.height)
With the updated version below:
j.renderbufferStorage(j.RENDERBUFFER,navigator.isCocoonJS?35056:j.DEPTH_STENCIL,b.width,b.height)
Best of luck with your game development endeavors :)