| 69 | }; |
| 70 | |
| 71 | const getDeviation = (blur, {easing}, curve) => { |
| 72 | const progress = blur * curve; |
| 73 | const out = blur - progress; |
| 74 | const deviation = (() => { |
| 75 | if (easing == "linear") |
| 76 | return blur; |
| 77 | if (easing.startsWith("in-out")) |
| 78 | return (curve < .5 ? progress : out) * 2; |
| 79 | if (easing.startsWith("in")) |
| 80 | return progress; |
| 81 | return out; |
| 82 | })(); |
| 83 | return Math.max(0, deviation); |
| 84 | }; |
| 85 | |
| 86 | const setDeviation = ({blur, gaussian, easing}, curve) => { |
| 87 | const values = blurs.axes.map(axis => getDeviation(blur[axis], easing, curve)); |