#![deny(missing_docs)]
use bevy::{prelude::Resource, reflect::TypeUuid};
use serde::{de::DeserializeOwned, Serialize};
pub mod components;
mod mod_state;
pub mod plugin;
mod runtime;
mod systems;
mod wasm_asset;
pub trait Message: Send + Sync + Serialize + DeserializeOwned + Clone + 'static {}
impl<T> Message for T where T: Send + Sync + Serialize + DeserializeOwned + Clone + 'static {}
pub trait SharedResource: Resource + Serialize + DeserializeOwned + TypeUuid {}
impl<T> SharedResource for T where T: Resource + Serialize + DeserializeOwned + TypeUuid {}
pub mod prelude {
pub use crate::{components::*, plugin::WasmPlugin, Message};
pub use bevy_wasm_shared::prelude::*;
}