Refactor weather system to consolidate weather data handling; remove redundant weather API endpoint and related components, ensuring a single weather reading represents the entire world. Update UI to toggle weather effects and enhance rendering logic for improved visual consistency. Adjust documentation to reflect changes in weather data structure and API responses.

This commit is contained in:
Leonid Pershin
2026-08-17 10:40:52 +03:00
parent c80c9f14e2
commit 062ab497db
22 changed files with 273 additions and 815 deletions
@@ -236,21 +236,6 @@ public sealed class WeatherModelTests
Assert.Equal(0f, WeatherModel.UpdateSnowDepth(-5f, -10f, 0f, 0f));
}
[Fact]
public void Lying_snow_thins_out_over_the_warmer_parts_of_the_map()
{
const float pack = 200f;
// Well below freezing the whole pack shows; the warmer corners of the field go patchy.
Assert.Equal(pack, WeatherModel.LocalSnowDepth(pack, -10f), 1);
Assert.True(WeatherModel.LocalSnowDepth(pack, 4f) < pack);
Assert.True(WeatherModel.LocalSnowDepth(pack, 12f) < WeatherModel.LocalSnowDepth(pack, 4f));
// It thins rather than vanishing - melting is the integral's job, not the renderer's.
Assert.True(WeatherModel.LocalSnowDepth(pack, 30f) > 0f);
Assert.Equal(0f, WeatherModel.LocalSnowDepth(0f, -10f));
}
[Fact]
public void A_world_opened_in_deep_winter_already_has_snow_on_the_ground()
{