TerrainSketch

interface TerrainSketch
universe/src/sketch.ts:123

Members

craterLevelsreadonly

craterLevels: readonly CraterLevel[]

Coarsest first. Empty on a world the grammar gives no craters.

hotspotsreadonly

hotspots: readonly Hotspot[]

latticeSeedreadonly

latticeSeed: number

The surface seed, folded to the one lane a lattice hash carries.

mareAxisreadonly

mareAxis: Vec3

The hemisphere the melt reached: the axis the mare gate is built on.

A degree-one asymmetry, because that is what the measurement is. Lunar mare covers 31% of the near side and 2% of the far side, and the explanation is a crust tens of kilometers thinner on one side of the body — one lobe, not a patchwork. A noise field alone cannot produce that however it is tuned: its power is spread over several degrees, so it makes a body with basalt everywhere in patches rather than a body with a near side.

Seeded rather than derived from the primary, which the sketch cannot see — a worker has the surface and nothing else. Tidal locking is the reason a real body's asymmetry points where it does; that it has one is the part this models.

microFirstRungreadonly

microFirstRung: number

The rung number the tail's hashes are drawn against. See microLadder.

microLevelsreadonly

microLevels: readonly CraterLevel[]

The rungs below the canonical wavelength floor — the presentational tail.

Same construction and the same hashes; what makes them a different list is that the contact test never evaluates them. micro.ts carries the argument and microLadder builds them.

platesreadonly

plates: readonly TectonicPlate[]

rayCratersreadonly

rayCraters: readonly RayCrater[]

The young large craters, youngest first, for the albedo their rays write.

On the sketch rather than found per sample because finding them is a walk over every coarse cell on the body and reading them is sixteen dot products. See rayCraters.

seedsreadonly

seeds: BandSeeds

stripesreadonly

stripes: readonly StripeAxis[]