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 SatelliteMaterial {
    pub albedo: [f32; 3],
    pub roughness: f32,
    pub metallic: f32,
    pub emissive: [f32; 3],
}

impl SatelliteMaterial {
    pub fn rocky_regolith(albedo: [f32; 3]) -> Self {
        Self {
            albedo,
            roughness: 0.85,
            metallic: 0.0,
            emissive: [0.0; 3],
        }
    }

    pub fn icy_surface(albedo: [f32; 3]) -> Self {
        Self {
            albedo,
            roughness: 0.15,
            metallic: 0.01,
            emissive: [0.0; 3],
        }
    }

    pub fn volcanic(albedo: [f32; 3], glow: [f32; 3]) -> Self {
        Self {
            albedo,
            roughness: 0.9,
            metallic: 0.02,
            emissive: glow,
        }
    }

    pub fn captured_asteroid(albedo: [f32; 3]) -> Self {
        Self {
            albedo,
            roughness: 0.95,
            metallic: 0.05,
            emissive: [0.0; 3],
        }
    }
}