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.