| 65 | const GLOW_RED_GAIN = 0.9; |
| 66 | |
| 67 | export function nodeGlowBoost(r: number, g: number, b: number): number { |
| 68 | /* Blue that exceeds both red and green → cool hub. Red that exceeds both |
| 69 | * green and blue → warm leaf (green cutoff keeps yellow/orange out of the |
| 70 | * red term so they are not boosted). */ |
| 71 | const blueness = Math.max(0, b - Math.max(r, g)); |
| 72 | const redness = Math.max(0, r - Math.max(g, b)); |
| 73 | return GLOW_BASE + blueness * GLOW_BLUE_GAIN + redness * GLOW_RED_GAIN; |
| 74 | } |
| 75 | |
| 76 | /* ── Manual display settings ──────────────────────────────────── * |
| 77 | * User-facing multipliers layered ON TOP of the adaptive scales above: |