Neat! Smooth performance on my iPhone. The controls might need some tweaking in terms of values, like faster turning if I'm holding it down, but less if I'm tapping trying to line up a shot.
const onResize = () => {
const { innerWidth: w, innerHeight: h } = window
camera.aspect = w / h
camera.updateProjectionMatrix()
renderer.setSize(w, h)
}
window.addEventListener('resize', onResize)