| @@ -417,12 +417,16 @@ function updateOverlay(points, clicked) { | |||||
| const gradient = overlayCtx.createRadialGradient(x, y, 0, x, y, Math.floor(radius * scale)); | const gradient = overlayCtx.createRadialGradient(x, y, 0, x, y, Math.floor(radius * scale)); | ||||
| const maxOpacity = ease(0, 1 / (0.001 + softness / 100)); | |||||
| const maxOpacity = ease(0, 1 / (0.00001 + softness / 100)); | |||||
| for (let t=0 ; t <= 20; t+= 1) { | |||||
| let eased = ease(t/20.0, 1 / (0.001 + softness / 100)) / maxOpacity; | |||||
| gradient.addColorStop(t/20.0, `rgba(0, 0, 0, ${eased}`); | |||||
| const steps = 20; | |||||
| for (let t=0 ; t <= steps; t+= 1) { | |||||
| let eased = ease(t/steps, 1 / (0.00001 + softness / 100)) / maxOpacity; | |||||
| gradient.addColorStop(t/steps, `rgba(0, 0, 0, ${eased}`); | |||||
| } | } | ||||
| let eased = ease(0.999, 1 / (0.00001 + softness / 100)) / maxOpacity; | |||||
| gradient.addColorStop(0.999, `rgba(0, 0, 0, ${eased}`); | |||||
| overlayCtx.fillStyle = gradient; | overlayCtx.fillStyle = gradient; | ||||
| overlayCtx.fill(); | overlayCtx.fill(); | ||||