D-239 §3 — the static mean-state freeze/snow cover. New SeasonalCover
{None,Snow,Ice} overlay axis on VoxelColumn (D-228 cover, NOT TerrainMaterial),
derived after the family generator in derive_voxel_column.
- Spatially-COHERENT cluster scatter (never per-tile dice): coarse 6m cluster
cells (div_euclid) -> Cantor pair -> splitmix64 ^ sub_chunk_seed, so voxels in
a cell share the freeze decision -> ragged patches. All integer (D-010).
- Bands by surface (classify_surface from morphology_zone + water): freshwater
+5..-10C; salt water (OpenOcean) -2C onset / -14C, 3x-coarser sheets+leads;
land snow +2..-10C, moisture-gated (moisture_q<30 -> None). Linear frozen
fraction across the band; permanent below the band (poles/glaciers).
- Airless (temperature_c None) -> cover None.
- Transient/clock-bound layer (dawn frost melting by noon) doc'd as a Q-105
forward contract; only the static model is built.
16 new cover tests incl real spatial-coherence (>=90% intra-cluster agreement),
band edges per surface, moisture gating, determinism. cargo test passes, clippy
-D warnings clean, fmt clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>