Skip to content

Water Update (v2.8.1)

Choose a tag to compare

@Teddy563 Teddy563 released this 20 May 20:33
· 207 commits to main since this release

Continuation of the louis-e Arnis v2.8.0 ("Landmark Update"). Adds underwater depth, smooth-slope shorelines, a SAND to GRAVEL gradient bed, wobbly value-noise palette mixing, road and bridge-safe carving, GUI controls, and a --seed CLI alias for deterministic building palettes across tiles.

What's New Since v2.7.0-meld.1

CLI

  • --seed N: Alias for --tile-invariant-rendering N. Renders the same building palette across runs and adjacent tiles.
  • --road-detail {max | clean | compact}: Three-tier road rendering.
    • max: Upstream byte-identical.
    • clean: Visual cleanup at scale ≥ 0.7.
    • compact: Pedestrian skip and lanes capped to 2 for low scales.
  • --master-origin-lat / --master-origin-lng: Global coordinate anchor for multi-tile renders.
  • --elevation-min / --elevation-max: Global elevation floor and ceiling for cross-tile Y normalization to eliminate height seams.

GUI

  • Road Detail dropdown (Default auto / Max / Clean / Compact)
  • Ground Height (Y) numeric input (Default: -62)
  • Seed (tile-invariant) numeric input (Leave blank for non-deterministic palette)

Water Depth & Shore

  • BigWaterField chamfer-3-4 distance transform over every LC_WATER component.
  • Universal depth carve (every ESA water cell gets depth, not just OSM polygons).
  • Smooth slope wobble via value_noise_01 to eliminate jaggy bed Y coordinates.
  • Tiered slopes by body size: 1/3 (tiny pond), 1/4 (small), 1/6 (medium), 1/8 (big sea or river). Depth = 6 is reached at approximately 48 blocks from the shore for big bodies.
  • 3-block flat shoal band at every shoreline.
  • Depth-tiered SAND → SANDSTONE → STONE bed with wobbly value_noise mixing:
    • d 0, 1: SAND / SANDSTONE
    • d 2: 70% SAND / 30% GRAVEL, wobbly blobs
    • d 3: 50% / 50% split, wobbly blobs
    • d 4: 30% SAND / 70% GRAVEL, wobbly blobs
    • d ≥ 5: GRAVEL / STONE
  • Land-mass guard: Hillsides over-claimed by OSM polygons no longer get carved.
  • Road and bridge cells skipped: Causeways and bridge decks render correctly over water.

Wetlands

  • G3 noise-driven puddles in natural=wetland. This replaces upstream's random_bool(0.3) per-cell drops with spatially coherent, ~28-block patches.
  • MOSS_BLOCK ring around puddles using a 4-cardinal scan.
  • COARSE_DIRT patches via separate noise (whitelists [MUD] so the moss ring stays intact).

Building Rendering

  • Real tile-invariant fix: The same building straddling two adjacent tiles picks a byte-identical block palette.
  • Seeded RNG streams via element_rng_salted_with_global mix the --seed N modifier into derivation.
  • Per building:material / roof:material palette restored from the v2.8.0 base.