planetsfactory 0.0.4

Planet factory — classify, build and catalogue planets for any star system: Solar System, TRAPPIST-1, Kepler-90, Proxima Centauri, or fully custom worlds.
Documentation
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct PlanetShaderData {
    pub has_atmosphere: bool,
    pub has_rings: bool,
    pub has_clouds: bool,
    pub has_ocean: bool,
    pub oblateness: f32,
    pub axial_tilt_rad: f32,
}

impl PlanetShaderData {
    pub fn terrestrial() -> Self {
        Self {
            has_atmosphere: true,
            has_rings: false,
            has_clouds: true,
            has_ocean: true,
            oblateness: 0.003,
            axial_tilt_rad: 0.41,
        }
    }

    pub fn gas_giant_ringed() -> Self {
        Self {
            has_atmosphere: true,
            has_rings: true,
            has_clouds: true,
            has_ocean: false,
            oblateness: 0.065,
            axial_tilt_rad: 0.47,
        }
    }

    pub fn ice_giant() -> Self {
        Self {
            has_atmosphere: true,
            has_rings: true,
            has_clouds: false,
            has_ocean: false,
            oblateness: 0.023,
            axial_tilt_rad: 1.71,
        }
    }

    pub fn airless() -> Self {
        Self {
            has_atmosphere: false,
            has_rings: false,
            has_clouds: false,
            has_ocean: false,
            oblateness: 0.0,
            axial_tilt_rad: 0.0,
        }
    }
}