onst eyeToSurfaceDir = [Math.sin(a), Math.cos(a)];
      const surfaceNormal = [Math.sin(direction), Math.cos(direction)];
      const dot = v3.dot([...eyeToSurfaceDir, 0], [...surfaceNormal, 0]);

      const snScale = 40;
      const snx = x + -surfaceNormal[0] * snScale * dot;
      const sny = y +  surfaceNormal[1] * snScale * dot;

      const snx2 = snx + -surfaceNormal[0] * snScale * dot;
      const sny2 = sny +  surfaceNormal[1] * snScale * dot;

      const lex = x + -eyeToSurfaceDir[0] * snScale;