docs: island falloff, coast shelf, offshore islets (terrain-water task 11)

Tools/Scripts/README.md: the falloff dials and what they actually do --
including that IslandAxisX is a weak lever because the island is already
Trench-clamped at ~90% of the map width, so nobody re-derives that the hard
way. The spine crest fix, and an explicit note that the spine's AXIS is
still a straight line down the map centre: known, deferred, its own task.

BLUEPRINT_FORMAT.md config-knobs section: the three new dials, each labelled
with whether it moves biomes. CoastProfile does NOT (it cannot move the
waterline, so HGTS changes while BIOM/WBID/WBTB/WSRF stay bit-identical);
IslandAxis* and OffshoreIslandDensity DO, by design.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stewart Howe 2026-08-08 23:31:40 -04:00
parent 6c318e4df0
commit 5ba868f038
2 changed files with 29 additions and 0 deletions

View file

@ -122,6 +122,20 @@ body).
follow the curved terrain. When on, `TCRV` records the effective parameters including the follow the curved terrain. When on, `TCRV` records the effective parameters including the
per-seed `spikeMax`. per-seed `spikeMax`.
- **`CoastProfile`** (`"wide"` | `"steep"`, default `"wide"`) — the submarine shelf. The height
curve is identity at and below sea level, so it never reshaped the seabed; `"wide"` compresses
shallow depth so the shallows reach 2.42.9× further out. It is strictly positive for positive
depth and therefore **cannot move the waterline**, so `HGTS` changes while `BIOM`, `WBID`,
`WBTB` and `WSRF` stay bit-identical. `"steep"` is the pre-task-11 seabed.
- **`IslandAxisX`** / **`IslandAxisY`** (default `1.30` / `0.78`; pre-task-11 `1.15` / `0.90`) —
the falloff axis ratios, and the island's proportions. These **move the coastline**, so unlike
the curve and detail work they legitimately change `BIOM` and the water sections: an elongated
seed has a new biome baseline. Rejected (with a loud restore to legacy) if ≤ 0.01, which would
divide by ~zero and silently yield an all-ocean map.
- **`OffshoreIslandDensity`** (default `0.02`, `0` disables, clamped to 0.5) — the fraction of the
offshore noise field above the islet threshold, calibrated per seed against the field's own
distribution. Adds land, so it also moves `BIOM` and the water sections.
### 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,6 +11,21 @@ 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.
The island's proportions are the `IslandAxisX`/`IslandAxisY` dials (`1.30`/`0.78`; the
pre-task-11 shape was `1.15`/`0.90`). **`IslandAxisX` is a weak lever** — the island is
already Trench-clamped at ~90 % of the map width, so aspect responds almost entirely to
`IslandAxisY`, which trades against land area. These move the coastline, so they move biomes.
The mountain spine shares `IslandAxisX` for its width, and its crest is rounded
(`IslandFalloff.SmoothAbs`) — `1 - |x - centre|` used to peak with a slope discontinuity that
was, measured, the largest slope step on the map outside the Trench walls. **The spine's AXIS
is still a straight line down the map centre; that is known, deferred, and its own task.**
With `CoastProfile: "wide"` (the default) the *seabed* leaving the shoreline is shelved
(`IslandFalloff.CoastShelf`): the height curve is identity at and below sea level, so it never
reached the water, and the shoreline used to shelve gently on land then drop 6.7× steeper the
moment it went under. The shelf cannot move the waterline — it is strictly positive for
positive depth — so biomes and water are bit-identical with it on or off. `OffshoreIslandDensity`
(`0.02`, `0` disables) seeds sparse discoverable islets in the open ocean; they are held off the
mainland by a depth moat and out of the Trench by a distance mask, both by construction.
When `TerrainCurve: "v5"` (the default — the task-09 gate's BALANCED winner), the calibrated When `TerrainCurve: "v5"` (the default — the task-09 gate's BALANCED winner), the calibrated
height-redistribution curve height-redistribution curve
(`HeightCurve.cs` — the terraced ascent with spatially modulated shelves: flat farmable (`HeightCurve.cs` — the terraced ascent with spatially modulated shelves: flat farmable