satellitesfactory 0.0.3

Satellite factory — classify, build and catalogue natural satellites for any planetary system: Solar System moons (Moon, Galileans, Titan, Triton…) or custom configurations.
Documentation
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct SatelliteShaderEndpoint {
    pub has_atmosphere: bool,
    pub has_cryovolcanism: bool,
    pub tidal_heating_intensity: f32,
    pub dust_opacity: f32,
}

impl SatelliteShaderEndpoint {
    pub fn inert_rocky() -> Self {
        Self {
            has_atmosphere: false,
            has_cryovolcanism: false,
            tidal_heating_intensity: 0.0,
            dust_opacity: 0.0,
        }
    }

    pub fn tidally_active() -> Self {
        Self {
            has_atmosphere: false,
            has_cryovolcanism: false,
            tidal_heating_intensity: 0.8,
            dust_opacity: 0.1,
        }
    }

    pub fn cryovolcanic() -> Self {
        Self {
            has_atmosphere: false,
            has_cryovolcanism: true,
            tidal_heating_intensity: 0.3,
            dust_opacity: 0.0,
        }
    }

    pub fn with_atmosphere() -> Self {
        Self {
            has_atmosphere: true,
            has_cryovolcanism: false,
            tidal_heating_intensity: 0.0,
            dust_opacity: 0.2,
        }
    }
}