microLadder

function microLadder
universe/src/sketch.ts:522
microLadder(grammar: SurfaceGrammar, floor: number) → { firstRung: number; levels: readonly CraterLevel[] }

The rungs the ladder has below the canonical wavelength floor.

Coarsest first, from CANONICAL_DETAIL_FLOOR down to floor, and the same construction as craterLadder: a cell holds one crater of its own size at most, so halving the diameter and doubling the cells per axis reproduces the −2 cumulative slope for free.

These are presentational and the contact test never sees them, which is the whole of micro.ts. A ship's hull spans tens of meters and the deepest thing in this list is a fifth of eight, so what the ship stands on and what the eye sees differ by less than the landing gear — bounded by microReliefBound and measured by micro.test.ts.

The rungs are numbered from MICRO_RUNG_BASE rather than continued from the canonical ladder, and that is what lets a body with no canonical craters have any. Numbering them by position in the body's own ladder needs a largest crater to count down from, and largestCrater is zero on every surface young deletes — Miranda, Enceladus, Europa. Anchored at a fixed rung instead, the tail is a property of the body's size and air alone, its hashes cannot collide with a canonical rung (the canonical ladder reaches nineteen at its widest and is capped at fourteen), and a rung is the same rung on every body of the same radius, which is what an eight-meter crater ought to be.

young does not enter and air enters harder, and both follow from the timescale. A resurfacing event deletes a crater population, which is why craterDensity multiplies by 1 - young — but retention at a meter is geologically instantaneous, so the surface that has no kilometer craters because it was paved last week is saturated at a meter by the following afternoon. Europa is smooth at kilometers and rough at centimeters, and this is the term that says so. Air is the opposite: an atmosphere screens the small impactor and then fills the hole in, so it takes the small population out first — Venus has nothing under three kilometers. (1 - air)⁴ is an ordering fit rather than a measurement, and the order it reproduces is Luna 1, Mars 0.14, Earth 0.012, Venus 0.

There is a gap above this list on a body with large craters, and it is MAX_CRATER_LEVELS rather than this. The canonical ladder stops at fourteen halvings whether or not it has reached the floor, so a world whose largest basin is 2,170 km has canonical craters down to 265 m and then nothing until eight meters. Closing it is a deeper canonical ladder, which moves the field the contact test integrates and is therefore a version bump — the cap's own docstring carries the cost, and ADR-0021 the argument.

grammarSurfaceGrammar
Undocumented
floornumber
Undocumented
Returns{ firstRung: number; levels: readonly CraterLevel[] }