| 52 | Number.isFinite(s.x) && Number.isFinite(s.y) && Number.isFinite(s.w) && Number.isFinite(s.h); |
| 53 | |
| 54 | const brighten = (rgba: readonly [number, number, number, number], factor: number): readonly [number, number, number, number] => { |
| 55 | const f = Number.isFinite(factor) ? factor : 1; |
| 56 | return [clamp01(rgba[0] * f), clamp01(rgba[1] * f), clamp01(rgba[2] * f), clamp01(rgba[3])] as const; |
| 57 | }; |
| 58 | |
| 59 | const luminance = (rgba: readonly [number, number, number, number]): number => |
| 60 | 0.2126 * rgba[0] + 0.7152 * rgba[1] + 0.0722 * rgba[2]; |