Skip to content

Interface: SolidShellConfig

Inputs for buildSolidShell.

Properties

tiles

ts
tiles: readonly Tile[];

Tiles eligible for the cap — typically every tile below the waterline.


baseElevation

ts
baseElevation: ReadonlyMap<number, number>;

Per-tile underlying mineral elevation in band space. The cap's wall starts here; the top sits at topElevation. Tiles missing from the map are skipped.


topElevation

ts
topElevation: number;

Uniform top elevation in band space — the waterline. Same value for every cap tile so the surface reads as a sealed sheet. Fractional values are linearly interpolated against palette.


palette

ts
palette: TerrainLevel[];

Palette feeding the band → world-height conversion. Must be the same palette the underlying sol mesh uses, otherwise the cap and the floor separate. Heights are interpreted as offsets above coreRadius (matching the lib's terrainBandLayout convention).


bodyRadius

ts
bodyRadius: number;

World-space surface radius of the body — equals BodyConfig.radius. Required so the cap aligns with the underlying sol mesh, which is extruded from coreRadius rather than the surface.


coreRadius

ts
coreRadius: number;

World-space radius of the inner core sphere — anchors palette[0].height. Pass body.config.radius * coreRatio (or compute via resolveCoreRadiusRatio).


color

ts
color: ColorRepresentation;

Resolved solid-phase tint (caller-owned chemistry).


roughness?

ts
optional roughness?: number;

PBR roughness override. Defaults to a snowy matte (0.8).


metalness?

ts
optional metalness?: number;

PBR metalness override. Defaults to 0 (non-metallic).

Distribué sous la licence indiquée dans le dépôt.