bevy_gaussian_splatting 2.4.2

bevy gaussian splatting render pipeline plugin
Documentation
use bincode2::{
    deserialize_from,
    serialize_into,
};
use flate2::{
    Compression,
    read::GzDecoder,
    write::GzEncoder,
};

use crate::{
    gaussian::GaussianCloud,
    io::codec::GaussianCloudCodec,
};


impl GaussianCloudCodec for GaussianCloud {
    fn encode(&self) -> Vec<u8> {
        let mut output = Vec::new();

        {
            let mut gz_encoder = GzEncoder::new(&mut output, Compression::default());
            serialize_into(&mut gz_encoder, &self).expect("failed to encode cloud");
        }

        output
    }

    fn decode(data: &[u8]) -> Self {
        let decompressed = GzDecoder::new(data);
        let cloud: GaussianCloud = deserialize_from(decompressed).expect("failed to decode cloud");

        cloud
    }
}