1 will allow use of npm and node.js standard libraries, but need to expose OpenGL and LibOVR unnecessarily. (but this can be a useful by-product). User can easily mess up event loop and disrupt 60fps operation. ArrayBuffer transfer might be slow.
2 will make OpenGL-LibOVR interop very easy (since they're C/C++), exposing no interface (other than in VR). Lack of package manager and standard libs can be good or bad.
Either
1 will allow use of npm and node.js standard libraries, but need to expose OpenGL and LibOVR unnecessarily. (but this can be a useful by-product). User can easily mess up event loop and disrupt 60fps operation. ArrayBuffer transfer might be slow.
2 will make OpenGL-LibOVR interop very easy (since they're C/C++), exposing no interface (other than in VR). Lack of package manager and standard libs can be good or bad.