Avoid using `new` inside the render loop. Use

    camera.rotation.y += 0.01;

Check your white space formatting. See [How to Contribute to three.js](https://github.com/mrdoob/three.js/wiki/How-to-contribute-to-three.js).

Also, as a suggestion, this example is not substantially different than the existing demo -- other than it uses `BufferGeometry`. Maybe it is not needed, and you can instead focus on getting the ray casting code correct.