From 5a908a17335ff291e2d8f2fb3a1ff0ab57770c80 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 02:13:00 +0800 Subject: fix(desktop): P19 白天色调去偏黄(day tint 中性白平衡,黄昏暖橙保留) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/LivingVillage.Desktop/M6Presentation.fs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/LivingVillage.Desktop') diff --git a/src/LivingVillage.Desktop/M6Presentation.fs b/src/LivingVillage.Desktop/M6Presentation.fs index 25737d7..90d2e65 100644 --- a/src/LivingVillage.Desktop/M6Presentation.fs +++ b/src/LivingVillage.Desktop/M6Presentation.fs @@ -76,13 +76,15 @@ module M6Presentation = lerp 160 25 blend + int (20.0f * warmth), lerp 210 55 blend - int (90.0f * warmth)) - /// World tint also warms (red up, green slightly down, blue down) so tiles, props and - /// characters all lean golden before the additive veil is layered on top. + /// World tint multiplies the whole scene. The day baseline is neutral white so noon keeps + /// a true white balance (the old day base 255/248/224 clipped blue by ~12% and made daylight + /// look yellow); night stays cool, and the golden shade only appears through `warmth`, which + /// is a pure function that is zero at noon and outside the dawn/dusk windows. let worldTintAtWarmth (blend: float32) (warmth: float32) : Color = Color( lerp 255 118 blend + int (70.0f * warmth), - lerp 248 136 blend - int (10.0f * warmth), - lerp 224 184 blend - int (75.0f * warmth)) + lerp 255 136 blend - int (10.0f * warmth), + lerp 255 184 blend - int (75.0f * warmth)) /// Warmth-free base colours (kept for callers that only have a blend value). let backgroundAtBlend (blend: float32) : Color = backgroundAtWarmth blend 0.0f -- cgit v1.2.3