This commit is contained in:
Rainer Leit
2026-09-25 17:02:24 +03:00
parent cc43ed8dc8
commit 9597629951
2149 changed files with 460234 additions and 1770 deletions
@@ -0,0 +1,48 @@
{
"_comment": "What each painted colour in Map5 means. See README.md next to this file. Rates are rock uplift in mm/yr, and the number to think in is not the rate but the hillslope angle it fixes: at an 8 m cell and K 5e-5, tan(angle) = 2.5 x rate / k_mult, so 0.08 is 11 degrees on every divide and 0.25 is 32. Read the *typical* column `terrain plan` prints, not the divide one - a divide is the steepest ground a rate can make and almost none of a map is divide, so the median comes out at about a third of it in tangent. Reading the divide angle as the landscape is how a legend gets set two or three times too hot.",
"_comment_colours": "Every rgb below is the *measured modal colour* of Map5.jpg, not a guess at it: the painting was sampled, its colours clustered, and the mode of each cluster taken. Map5.png beside it is the same painting with every pixel snapped to exactly these seven colours, which is what the classifier would do anyway and which removes the JPEG halo along every painted edge for good. The manifest points at the PNG; the JPEG is kept as the original.",
"image": "Map5.png",
"warn_distance": 60,
"classes": [
{ "_comment_ocean": "The open sea. depth_m is the painted sea floor, which internal/coast reads per cell as the abyss it builds a shelf and a continental slope down to; the shelf break itself is pipeline.coast.break_m and defaults to 130 m on a planet (D-64), so it is never deeper than the water it is a break in.",
"name": "ocean", "rgb": [ 91, 175, 185], "sea": true, "depth_m": 512 },
{ "_comment_deep": "The second, darker blue the author painted - the big offshore lobe on the right, the band through the north-west islands, and the channels between the island groups. Taken as deeper water rather than as a shallow shelf, because it is darker than the open ocean and not lighter. If a shelf was meant instead, set depth_m to about 120 and rename it; nothing else in the legend has to change. It is 9% of the world, so it will show.",
"name": "deep", "rgb": [ 66, 165, 180], "sea": true, "depth_m": 900 },
{ "_comment_ice": "The polar caps, painted white at the top and bottom of the map and nowhere else - so unlike Map3's white this is a class in its own right rather than an outline stroke rescued at the poles, and it needs no stroke/edge_class pair. snow is display and material only: it changes no height and no pass reads it, it just stops the caps rendering as meadow. What makes a cap read as ice in the terrain is the detail block - an ice sheet has meltwater channels but not a dendritic bedrock gully network, so it gets almost no droplets.",
"name": "ice", "rgb": [250, 250, 250], "uplift_mm_yr": 0.05, "k_mult": 1.0,
"snow": true, "lithology_mix": 0,
"detail": { "droplets_per_cell": 0.02, "strata_contrast": 0.15, "amplitude_m": [1, 3] } },
{ "_comment_plain": "coastal_plain_km puts the range inland. For n=1 the uplift rate alone fixes the hillslope angle, so a uniformly painted island sits at the same angle right down to the water; this ramps the rate up from coastal_floor_mm_yr over the first kilometre so there is a plain in front of the ground behind it.",
"_comment_massif": "The massif block is what makes this a landscape rather than a landmass. 0.08 mm/yr is an 11 degree divide, and without this block it would be 11 degrees from the waterline to the summit, so the whole continent would come out as continuous hill country with no flat ground anywhere on it. 0.08 is the rate a *hill mass* reaches and 0.012 - 1.7 degrees at a divide, a plain - is the ground between them, with a sixth of it standing up. That is the North European Plain with the Harz in it, which is what a lowland is. The threshold is a quantile of the planet, never of this class, so the hills here and the ones in the highland next door are parts of one structure.",
"name": "lowland", "rgb": [150, 200, 105], "uplift_mm_yr": 0.08, "k_mult": 1.0,
"massif": { "floor_mm_yr": 0.012, "fraction": 0.16 },
"coastal_plain_km": 1.0, "coastal_floor_mm_yr": 0.012 },
{ "_comment_faults": "A fault is a difference in uplift rate across a line - steep one side, gentle the other - which erosion then carves into a scarp. It is what puts an escarpment and a straight fifteen-kilometre valley inside a range, and neither is a shape a brush can draw. throw_m is the *step across* the fault over the run (D-62), not a full throw on each flank. A fault is a range front several kilometres wide rather than a line: the rate crosses over about a kilometre and the upthrown flank reaches six, which is what lets erosion cut valleys into it instead of printing the profile on the surface. Where several overlap - which at that width is most of a faulted class - the total saturates at 1.6x the strongest single fault rather than adding up (D-63), so raising per_1000km2 past the overlap point buys texture and not height. per_1000km2 is a density over *this class*: Map5 has about 554 km2 of highland, so 25 is roughly fourteen traces before the long ones step into segments.",
"_comment_massif": "A range is a belt, not a dome. Painted solid, 0.25 would raise every cell of these continents to a 32 degree divide, which is how a planet ends up with islands that are nothing but mountain. 0.25 is the rate the belt reaches and 0.045 - 6.4 degrees, rolling - is its foreland, with three tenths standing up.",
"_comment_ceiling": "The repose clamp takes over above U = tan(35 deg) x K x cell = 0.280 mm/yr at an 8 m cell, and past it the ground bakes out as flat polygonal facets rather than as erosion-shaped mountains. 0.25 sits just under it deliberately. Relief and steepness are the same knob at a fixed cell, so going higher buys facets, not mountains.",
"name": "highland", "rgb": [ 71, 175, 100], "uplift_mm_yr": 0.25, "k_mult": 1.0,
"faults": { "per_1000km2": 25, "throw_m": [120, 400], "length_km": [6, 18] },
"massif": { "floor_mm_yr": 0.045, "fraction": 0.30 },
"coastal_plain_km": 4.0, "coastal_floor_mm_yr": 0.03 },
{ "_comment_desert": "A desert is not a low uplift rate - a wet lowland has one of those too - so at the geology grid it is only k_mult, which being below 1 means less water doing less work and therefore steeper, more angular ground held further from being worn down. What makes it read as desert is the detail block at two metres: a fifth of the running water, so the gully network thins to isolated wadis; twice the strata contrast, so mesas and ledges keep their edges; and several times the noise amplitude, which on flat ground is dune.",
"_comment_massif": "k_mult 0.5 doubles the angle a rate makes - tan(angle) = 2.5 x rate / k_mult - so 0.10 here is a 27 degree divide, not 14, and painted solid it would be a plateau of mountain. 0.10 is the rate a mesa block reaches and 0.015 - 4.3 degrees - is the sand sea between them.",
"name": "desert", "rgb": [226, 215, 145], "uplift_mm_yr": 0.10, "k_mult": 0.5,
"faults": { "per_1000km2": 10, "throw_m": [60, 220], "length_km": [5, 14] },
"massif": { "floor_mm_yr": 0.015, "fraction": 0.14 },
"coastal_plain_km": 1.5, "coastal_floor_mm_yr": 0.015,
"detail": { "droplets_per_cell": 0.035, "strata_contrast": 0.92, "amplitude_m": [7, 14] } },
{ "_comment_crater": "The two grey blobs on the seam, at the far left and far right of the painting - one crater, drawn across the meridian, which the generator treats as a single feature because X wraps. An impact is an event and not a rate, so it is stamped onto the finished terrain after the solve rather than painted as uplift: a closed basin built out of negative uplift would be filled in by the priority-flood within a hundred steps. The shape comes from the painted blob - distance in from its own shoreline, normalised by its widest point - so rim_at and wall_at describe a crater of any size. The uplift rate here is only what the solve does to the flanks before the stamp lands, so it is low.",
"name": "crater", "rgb": [124, 116, 111], "uplift_mm_yr": 0.15, "k_mult": 1.5,
"lithology_mix": 0,
"crater": { "rim_m": 340, "floor_m": 60, "rim_at": 0.30, "wall_at": 0.62 } }
]
}