Skip to content

Interface: BodyVariation ​

Complete visual variation for a planet — covers every shader parameter exposed by the procedural materials. Generated once from a deterministic seed (config.name) so appearance is identical across sessions and across server / client.

Physics (BodyConfig) sets whether features exist and their maximum values. Variation sets the exact visual expression within those constraints.

Properties ​

noiseSeed ​

ts
noiseSeed: [number, number, number];

noiseFreq ​

ts
noiseFreq: number;

roughnessMod ​

ts
roughnessMod: number;

Multiplier on physics roughness — makes surface smoother or rougher.


heightMod ​

ts
heightMod: number;

Multiplier on physics heightScale — flatter or more dramatic relief.


craterDensityMod ​

ts
craterDensityMod: number;

Multiplier on physics craterDensity.


craterCountMod ​

ts
craterCountMod: number;

Multiplier on physics craterCount.


waveAmount ​

ts
waveAmount: number;

Direct randomized wave layer amount — independent from physics.


waveScale ​

ts
waveScale: number;

Direct randomized wave scale — independent from physics.


colorMix ​

ts
colorMix: number;

Color temperature shift: 0=cooler, 0.5=neutral, 1=warmer. Applied to colorA/colorB.


luminance ​

ts
luminance: number;

Overall brightness for rocky/metallic palette.


crackIntensity ​

ts
crackIntensity: number;

0–1 lerp factor between the shader's crackAmount min / max. 0 disables the effect entirely — the caller (game logic) pushes a value > 0 when it wants the planet to display crust fractures. Default 0.


crackWidth ​

ts
crackWidth: number;

crackScale ​

ts
crackScale: number;

crackDepth ​

ts
crackDepth: number;

crackColor ​

ts
crackColor: string;

crackBlend ​

ts
crackBlend: number;

metalness ​

ts
metalness: number;

Direct metalness value — oxidisation / surface purity variation.


lavaIntensity ​

ts
lavaIntensity: number;

Lava intensity in [0, 1]. 0 disables the lava layer; the caller pushes a value > 0 when it wants the planet to display molten flows. Default 0.


lavaEmissive ​

ts
lavaEmissive: number;

lavaScale ​

ts
lavaScale: number;

lavaWidth ​

ts
lavaWidth: number;

lavaColor ​

ts
lavaColor: string;

Lava tint (#hex). Defaults to a neutral dark red; caller overrides for hotter / cooler looks.


gasBandSharpness ​

ts
gasBandSharpness: number;

gasBandWarp ​

ts
gasBandWarp: number;

gasJetStream ​

ts
gasJetStream: number;

gasTurbulence ​

ts
gasTurbulence: number;

gasCloudDetail ​

ts
gasCloudDetail: number;

gasColorMix ​

ts
gasColorMix: number;

gasLuminance ​

ts
gasLuminance: number;

gasCloudAmount ​

ts
gasCloudAmount: number;

gasCloudColor ​

ts
gasCloudColor: string;

rings ​

ts
rings: RingVariation | null;

Ring system when config.hasRings is true; null otherwise.

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