docs: SeaLevelModel/SeaLevelValue config notes (terrain-water task 04)

Both sea-level modes documented (flat default 0.15 / legacy field
Lerp); noted the blueprint does not record which model produced it —
the WBTB levels are the observable. Batch runner lives in /tmp
(throwaway), not in-repo.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Stewart Howe 2026-08-07 06:25:19 -04:00
parent 200adcaf5a
commit e435843e9a
2 changed files with 15 additions and 2 deletions

View file

@ -94,6 +94,18 @@ sections `5·MapSize²` bytes (4 height + 1 biome) ≈ **320 MiB at 8K**, vs v1'
`9·MapSize²` (adds 2 B `WBID` + 2 B `WSRF`) ≈ **576 MiB at 8K** plus a trivial `WBTB` (20 B per `9·MapSize²` (adds 2 B `WBID` + 2 B `WSRF`) ≈ **576 MiB at 8K** plus a trivial `WBTB` (20 B per
body). body).
### Config knobs that shape blueprint content (not part of the byte format)
- **`SeaLevelModel`** (`"flat"` | `"field"`) + **`SeaLevelValue`** (float; used when flat) —
D-033: selects what `MapGenerator.GetSeaLevel` returns. `"flat"` (the default, value 0.15) is
one scalar sea level everywhere; `"field"` is the legacy latitude Lerp (0.26 north → 0.15
south). Generator-only — all nine `GetSeaLevel` call sites inherit the model; nothing at
runtime computes sea level. The model in force shapes the coastline, masks, biomes, water
bodies, and `WBTB` levels of the blueprint being generated; the file itself does not record
which model produced it (the `WBTB` levels are the observable).
- **`SkipRoads`** (bool, default false) — exports with present-but-empty road sections (see the
road-section table note).
### Deliberately NOT a section: basins (`BSIN`) ### Deliberately NOT a section: basins (`BSIN`)
The priority-flood pit-fill that runs in the water-bodies stage is **diagnostics only** and The priority-flood pit-fill that runs in the water-bodies stage is **diagnostics only** and

View file

@ -11,8 +11,9 @@ Generates the entire 2D blueprint. Roughly in order:
2. **Topography** — FastNoiseLite base height plus a mountain spine, minus a squircle distance 2. **Topography** — FastNoiseLite base height plus a mountain spine, minus a squircle distance
falloff, giving a guaranteed island. Noise frequency is divided by `scaleFactor` falloff, giving a guaranteed island. Noise frequency is divided by `scaleFactor`
(`MapSize / 1024f`) so terrain features stay the same real-world size at any map profile. (`MapSize / 1024f`) so terrain features stay the same real-world size at any map profile.
3. **Sea level and water** — temperature-driven sea level; flood fill separates true ocean from 3. **Sea level and water** — sea level per the configured model (`SeaLevelModel`: `"flat"` scalar
inland lakes; a mainland fill guarantees one contiguous landmass. — 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.
4. **The crater** — placed along the northern coast and carved to below sea level, but only out to 4. **The crater** — placed along the northern coast and carved to below sea level, but only out to
**80 % of its radius**, which guarantees a landbridge rather than severing the island. **80 % of its radius**, which guarantees a landbridge rather than severing the island.
5. **Water bodies** — promotes the classified water into explicit data: the ocean as body 1, each 5. **Water bodies** — promotes the classified water into explicit data: the ocean as body 1, each