TerrainSelection

interface TerrainSelection
terrainSelect.ts:389

Members

coarseningreadonly

coarsening: number

The multiple of cellPixels the selection is made at: 1 when the cap never bound, a power of COARSEN_STEP when it did. Reported so a count can be read beside the tolerance that produced it, and handed back as the next walk's coarsening.

culledreadonly

culled: number

Nodes dropped beyond the horizon. Most of a planet, most of the time.

deepestLevelreadonly

deepestLevel: number

patchesreadonly

patches: readonly SelectedPatch[]

Everything to draw.

Deterministic — the same eye and body give the same array, which is the property that matters — but the order is the traversal's own and is not sorted by anything a caller would want. A streamer spending a per-frame budget on it has to order it itself.

saturatedreadonly

saturated: boolean

True when maxPatches stopped the refinement a level early at the loosest tolerance — or when the balance pass, which never leaves a 2:1 violation unsplit, carried a saturated selection past the cap. The cap is a safety net, not a bound: an unsplit violation is a lit crack, which is strictly worse than a flagged overrun.

shallowestLevelreadonly

shallowestLevel: number

starvedreadonly

starved: readonly RegionAddress[]

Nodes that stopped short because ready said a child was not there.

The regions rather than a count, because they are what a streamer has to do something about: these are the patches being drawn coarse right now, and their four children are the next thing worth a worker. Empty when no ready was given, which is the question the request set asks.

visitedreadonly

visited: number

Nodes the traversal looked at — what the selection cost.