docs: erosion pass in the generator README (terrain-water task 17)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Stewart Howe 2026-08-10 02:42:26 -04:00
parent e1e1fe3227
commit 56ac17e670

View file

@ -43,10 +43,22 @@ Generates the entire 2D blueprint. Roughly in order:
bit-identical to an unwarped one outside the shelf/riser stack. Drops the `0_height` hillshade bit-identical to an unwarped one outside the shelf/riser stack. Drops the `0_height` hillshade
snapshot (hypsometric bands × NW hillshade) in both modes. snapshot (hypsometric bands × NW hillshade) in both modes.
**No rivers, no erosion, no flow routing anywhere in this pipeline.** A D8 drainage-incision **Erosion (task 17, Phase C0)** — with `Erosion: "v1"` (default **"off"**, opt-in until the
pass was written and reverted in task 10 — per-cell steepest descent on a regular grid can only developer's gate approves it) a droplet-based hydraulic erosion pass (`HydraulicErosion.cs`,
route along eight headings, and at map scale that reads as straight hatching, not drainage. standalone numeric, deterministic from the resolved seed) details the curved+detailed render
Erosion is Phase C work: a hydraulic pass over final terrain, after the shape stops moving. map after the detail passes and before the crater carve: droplets walk downhill with inertia,
eroding steep fast stretches over a small brush and depositing where the ground flattens —
organic, sinuous drainage, not grid hatching. Three hard governors bound it
(`ErosionDropletCount`/`ErosionDropletLifetime`/`ErosionCarveCap` — the cap is per-cell, in
metres, ledger-enforced), a sea clamp forbids carving below sea + margin and leaves below-sea
cells untouched entirely (the rendered coastline cannot move — asserted every generation), and
nothing within 1.2× the crater radius is modified. Output-height only: biome/water
classification reads the retained pre-erosion map, so `1_biomes`/`0_water` are bit-identical
with erosion on or off. **No rivers yet** — the carved channels are the designated future river
routes (Phase C0b promotes them). The predecessor D8 drainage-incision pass was written and
reverted in task 10 — per-cell steepest descent on a regular grid can only route along eight
headings, and at map scale that reads as straight hatching, not drainage; the droplet model is
the working replacement.
3. **Sea level and water** — sea level per the configured model (`SeaLevelModel`: `"flat"` scalar 3. **Sea level and water** — sea level per the configured model (`SeaLevelModel`: `"flat"` scalar
— the default, `SeaLevelValue` 0.15 — or the legacy `"field"` latitude Lerp); flood fill — the default, `SeaLevelValue` 0.15 — or the legacy `"field"` latitude Lerp); flood fill
separates true ocean from inland lakes; a mainland fill guarantees one contiguous landmass. separates true ocean from inland lakes; a mainland fill guarantees one contiguous landmass.