threejs 1 One spiral, two implementations: keeping CPU picking in sync with a GLSL shader Oct 19, 2026