(t: number)
| 15 | } |
| 16 | |
| 17 | function gradientColor(t: number): [number, number, number] { |
| 18 | const segments = GRADIENT.length - 1; |
| 19 | const scaled = t * segments; |
| 20 | const i = Math.min(Math.floor(scaled), segments - 1); |
| 21 | const frac = scaled - i; |
| 22 | const a = GRADIENT[i]!; |
| 23 | const b = GRADIENT[i + 1]!; |
| 24 | return [lerp(a[0], b[0], frac), lerp(a[1], b[1], frac), lerp(a[2], b[2], frac)]; |
| 25 | } |
| 26 | |
| 27 | function rgb(r: number, g: number, b: number, text: string): string { |
| 28 | return `\x1b[38;2;${r};${g};${b}m${text}\x1b[0m`; |