summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/M6Presentation.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-22 02:17:11 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-22 02:17:11 +0800
commit5e036da9dfb1fe7f9e4f5e48414a8a1176292655 (patch)
tree9bb3fd59cab5310aaf162a1f6a12c5c7d2129ff6 /src/LivingVillage.Desktop/M6Presentation.fs
parentcc8dff4d567e8257b3cef66df804fbddb8ee3463 (diff)
parent5a908a17335ff291e2d8f2fb3a1ff0ab57770c80 (diff)
downloadliving-village-5e036da9dfb1fe7f9e4f5e48414a8a1176292655.tar.gz
merge: P19 白天色调去偏黄(独立复验全绿 Desktop 109/Kernel 89)
Diffstat (limited to 'src/LivingVillage.Desktop/M6Presentation.fs')
-rw-r--r--src/LivingVillage.Desktop/M6Presentation.fs10
1 files changed, 6 insertions, 4 deletions
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