Tooling
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"_comment": "A painted planet: Templates/Map3.jpg plus its legend, turned into terrain by the Go generator in Tools/Terrain. Read by `terrain plan` and `terrain bake` only - World.json next to this file is the square 14 km canvas the numpy pipeline and create_world.py still build, and the two do not share anything but their defaults. See Docs/Terrain.md.",
|
||||
|
||||
"level": "/Game/Maps/L_Planet",
|
||||
"quad_cm": 200,
|
||||
"sea_level_m": 0,
|
||||
|
||||
"_comment_elevation": "Wider than D-48's -512..1536, which is the square canvas's range and is tied to an exact Unreal Z scale of 400. A planet is not one Landscape, so that constraint does not bind here, and the trunk profiles are several times longer than the 14 km world's, which is where relief comes from. Span 3072 m over 16 bits is 4.7 cm a step, invisible at an 8 m cell. The clip fraction per region is the check: above 0.1% it is a failed run, not a rounded one.",
|
||||
"elevation_m": { "min": -1024, "max": 2048 },
|
||||
|
||||
"source": { "kind": "template", "seed": 7945 },
|
||||
|
||||
"planet": {
|
||||
"overlay": "Templates/Map5.overlay.png",
|
||||
"template": "Templates/Map5.png",
|
||||
"legend": "Templates/Map5.legend.json",
|
||||
|
||||
"_comment_overlay": "The annotation layer (D-57): a second painting the same size as the template, and a legend of marks saying what its colours stand for. It is where everything that is *placed on* the world rather than solved goes - forests, settlements, roads - and it carries exactly one instruction the generator reads, `coast_jitter`, which is how a coastline drawn by hand survives the waterline roughening below. Leave both keys out and there is no overlay, which is what every planet had before it. The image is created the first time it is saved from `terrain studio`, and versioned after that the same way the template is.",
|
||||
"overlay_legend": "Templates/Map5.overlay.json",
|
||||
|
||||
"_comment_palette": "How the preview is drawn, and nothing else - no height changes, so two bakes under two palettes are the same terrain. Swap the file to restyle the map. Leave the key out and the generator's own numbers are used, which is what this file holds; `terrain palette <path>` writes a fresh copy to start from.",
|
||||
"palette": "Templates/default.palette.json",
|
||||
|
||||
"_comment_scale": "100 km round at a 2 m detail quad and geology_factor 4 is 12500 x 6076 geology cells of 8 m. The 8 m cell is fixed by D-48 and must not be varied: stream power applied down to a single cell makes every divide steepen as the cell shrinks, so the same painting solved at two cell sizes would be two different worlds.",
|
||||
"circumference_km": 100,
|
||||
|
||||
"_comment_massif": "How big the upland fabric's blocks are - the thing a class's massif block cuts to decide where it is plain and where it stands up. One field for the whole planet, so a highland belt and the hills in the lowland beside it are parts of one structure. 7 km against landmasses of 20 to 45 km puts several blocks across every continent; at 12.5 the right-hand island came out entirely above the cut, which is the defect this exists to fix, only smaller. Rounded to a whole number of lattice cells in the noise period - `terrain plan` prints what it got.",
|
||||
"massif_wavelength_km": 7,
|
||||
|
||||
"_comment_reroll": "The two fields the seed re-rolls that the painting does not fix (D-58). Lithology cuts one planet-wide rock pattern into pipeline.lithology's types and multiplies each class's own k_mult by it, so a range has provinces in it rather than being one rock; the wavelength is how big a province is. The fault grain is only how the traces are *aimed* - which classes are faulted, and how hard, is the legend's `faults` block. Both are rounded to a whole number of lattice cells in the noise period, and `terrain plan` prints what they came to. Set either to 0 to switch that field off.",
|
||||
"lithology_wavelength_km": 8,
|
||||
"fault_grain_km": 45,
|
||||
|
||||
"_comment_plates": "The painted tectonic layer. A colour is a plate and the legend says how it moves; where two of them meet, whether that is a collision, a transform or a rift is worked out from the two motions. The faults block is the deformation zone around every margin - how wide, and how densely broken.",
|
||||
"plates": {
|
||||
"layer": "Templates/Map5.plates.png",
|
||||
"legend": "Templates/Map5.plates.json",
|
||||
"faults": { "zone_km": 6, "per_1000km2": 90, "throw_m": [80, 420], "length_km": [4, 16] }
|
||||
},
|
||||
|
||||
"ocean_margin_km": 0.5,
|
||||
"min_land_cells": 16,
|
||||
"uplift_variation": 0.30,
|
||||
"_comment_coast": "A drawn shore is a smooth curve and a coastline is not - that is the Richardson paradox, and projected straight the painting's own smoothness survives all the way to the heightmap. The waterline is roughened before projection by adding fractal noise to the signed distance from it: land juts out where the noise is positive and the sea reaches in where it is negative, so bays come out about wavelength wide and up to amplitude deep. Both are in template pixels, which are 12.92 m here. The amplitude is capped per cell at two thirds of the widest land within reach, or a wavelength far larger than an islet would take the whole islet at once and an archipelago would vanish between two runs. Tune it in `terrain studio`; --coast-jitter, --coast-wavelength, --coast-octaves and --coast-gain override it for one run.",
|
||||
"coast_jitter_px": 68,
|
||||
"coast_jitter_wavelength_px": 384,
|
||||
"coast_jitter_octaves": 5,
|
||||
"coast_jitter_gain": 0.65
|
||||
},
|
||||
|
||||
"pipeline": {
|
||||
"geology_factor": 4,
|
||||
|
||||
"_comment_lithology": "The rock types the lithology field is cut into, equal shares of the planet each. The generator's own defaults are [0.5, 1.0, 3.0], a six-fold span, which was chosen for the square canvas where lithology was the *only* thing varying K; here it multiplies a class's k_mult on top of everything else the legend says, so a narrower span is what reads as one range made of several rocks rather than as two different worlds meeting inside it.",
|
||||
"lithology": { "types": 3, "k_multipliers": [0.6, 1.0, 1.8] }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user