bevy_gaussian_splatting 2.4.2

bevy gaussian splatting render pipeline plugin
Documentation
use flexbuffers::{
    FlexbufferSerializer,
    Reader,
};
use serde::{
    Deserialize,
    Serialize,
};

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


impl GaussianCloudCodec for GaussianCloud {
    fn encode(&self) -> Vec<u8> {
        let mut serializer = FlexbufferSerializer::new();
        self.serialize(&mut serializer).expect("failed to serialize cloud");

        serializer.view().to_vec()
    }

    fn decode(data: &[u8]) -> Self {
        let reader = Reader::get_root(data).expect("failed to read flexbuffer");
        let cloud = GaussianCloud::deserialize(reader).expect("deserialization failed");

        cloud
    }
}