docs: water sections (WBID/WBTB/WSRF), no-BSIN rationale, SkipRoads + water stage in READMEs (terrain-water task 03)
Byte-accurate entries for the three water sections (transitional per-body level rule, provisional salinity, WSRF sentinel/quantization), updated size math (~576 MiB at 8K with water), the on-the-record rationale for NOT serializing basins, and README updates for the new pipeline stage, the 0_water snapshot, and the SkipRoads toggle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
3bf822dac6
commit
1f957b3430
5 changed files with 44 additions and 13 deletions
|
|
@ -17,6 +17,10 @@ Builds the topographical and logistical foundation of the island before any 3D e
|
|||
- **Topography:** FastNoiseLite plus distance-falloff maths for a guaranteed mainland island, a
|
||||
mountain spine, dynamic temperature-driven sea level, and an impact crater pushed into the northern
|
||||
coast (carved at 80 % of its radius so a landbridge always survives).
|
||||
- **Water bodies:** the classified water promoted into explicit blueprint data (ocean + labeled
|
||||
lakes with transitional per-body levels — `WBID`/`WBTB`/`WSRF` sections), plus priority-flood
|
||||
basin diagnostics. The `SkipRoads` config toggle turns a full ~26-min generation into a ~80 s
|
||||
road-less iteration cycle.
|
||||
- **Logistics:** `AStarGrid2D` pathfinding producing a looping continental highway, a branch to the
|
||||
mountain hub, and county roads daisy-chained outward with Prim's algorithm. Paths are decimated
|
||||
(Ramer–Douglas–Peucker) then smoothed (4 Chaikin passes).
|
||||
|
|
|
|||
|
|
@ -15,10 +15,18 @@ Generates the entire 2D blueprint. Roughly in order:
|
|||
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
|
||||
**80 % of its radius**, which guarantees a landbridge rather than severing the island.
|
||||
5. **Biomes and towns** — biome zoning by height and temperature; tiered town placement (Capitol,
|
||||
5. **Water bodies** — promotes the classified water into explicit data: the ocean as body 1, each
|
||||
lake connected-component labeled (same 4-connectivity as the true-ocean fill), one transitional
|
||||
surface level per body. Classification comes from the shared `IsOceanPixel`/`IsLakePixel`
|
||||
predicates that the biome stage also uses, so the two can never disagree. A priority-flood
|
||||
pit-fill runs here as validated diagnostics (basin statistics to console; serializes nothing).
|
||||
Drops the `0_water` snapshot.
|
||||
6. **Biomes and towns** — biome zoning by height and temperature; tiered town placement (Capitol,
|
||||
Hubs, Villages, Outposts, POIs) filtered by slope, water proximity and spacing.
|
||||
6. **Roads** — see below.
|
||||
7. **Export** — writes the `.dat` blueprint (dual-write: the v2 tagged container under the primary
|
||||
7. **Roads** — see below. Skipped entirely when the `SkipRoads` config toggle is on (the ~25-min
|
||||
A\* pass is the bottleneck; a skip run exports a road-less iteration blueprint in ~80 s with a
|
||||
loud console banner).
|
||||
8. **Export** — writes the `.dat` blueprint (dual-write: the v2 tagged container under the primary
|
||||
seed name, plus the legacy v1 format beside it as `_v1.dat` — see
|
||||
`Core/Scripts/BLUEPRINT_FORMAT.md`), then renders the PNG snapshot. The v2 file embeds the
|
||||
resolved generation params (seed, MapSize, crater radius, density, impact centre, provenance).
|
||||
|
|
@ -55,8 +63,10 @@ Road colours on the snapshot, useful for identifying a road: **red** = Highway,
|
|||
**dark brown** = Rugged, **light brown** = Trail.
|
||||
|
||||
### Outputs
|
||||
`MapData_Seed_<seed>.dat` (v2), `MapData_Seed_<seed>_v1.dat` (legacy dual-write), and
|
||||
`Map_Seed_<seed>.png`, all to `user://`.
|
||||
`MapData_Seed_<seed>.dat` (v2), `MapData_Seed_<seed>_v1.dat` (legacy dual-write), and the staged
|
||||
snapshots `Map_Seed_<seed>_{0_water,1_biomes,2_towns,3_roads}.png`, all to `user://`. (`0_water`
|
||||
is painted from the water stage's own outputs — ocean deep blue, lakes lighter blue, land neutral;
|
||||
`3_roads` is absent on a SkipRoads run.)
|
||||
|
||||
## `RoundTripHarness.cs`
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue