This is the original three.js version of Mystery Lake. I'd already built a demo that showcased adding a texture customized in the browser, this time I focused on scanning with a second device and using websockets to update the scene.

The starting point was a proof of concept using jscanify and my phone to photograph a printed coloring page with the unwrapped model outline, then split the scan into two texture images. The WebSocket setup was originally based on a modified React chat app, then rebuilt as a standalone Node server running alongside the Nuxt portfolio.

I created the low-poly model to support simple animation while giving the scanned textures as much visible surface as possible.