//! Convenience tools for serializing [`World`](crate::World)s
//!
//! [`Component`](crate::Component)s are not necessarily serializable, so we
//! cannot directly implement [`serde::Serialize`] for [`World`](crate::World).
//! The helpers defined in this module allow serialization and deserialization
//! based on purpose-defined traits to control the procedures explicitly.
//!
//! Backwards-incompatible changes to the serde data models herein are subject
//! to the same semantic versioning stability guarantees as the hecs API.