pub enum SerializationGoal {
FastestLoad,
SmallestFileSize,
HumanReadableDebug,
LongTermStability,
EditorInterchange,
PortableBinary,
}Expand description
Defines the developer’s high-level intention for a serialization operation.
This enum is the core of the SAA-Serialize system’s public API. Instead of
specifying a format, the user specifies a goal, and the SerializationAgent
chooses the best strategy to achieve it.
Variants§
FastestLoad
Prioritizes the fastest possible loading time. This is the ideal choice for production game builds where loading screens must be minimized. The resulting file may be larger or unreadable.
SmallestFileSize
Prioritizes the smallest possible file size on disk. This is useful for network transfers, content patches, or game saves where storage space is a concern. Loading may be slower.
HumanReadableDebug
Prioritizes human-readability for debugging and version control. The output will be a text-based format (like RON) that can be easily inspected and diffed. This is the slowest option.
LongTermStability
Prioritizes long-term stability and forward compatibility. The format used will be decoupled from the engine’s internal memory layout, ensuring the scene file can be loaded by future versions of Khora.
EditorInterchange
Prioritizes a flexible, structured format suitable for editor operations, prefabs, and tool interchange.
PortableBinary
A portable, schema-less binary format (MessagePack). Useful for
interop with non-Rust tools that need to consume scene data
without bincode internals. Slightly larger than EditorInterchange
but readable by every language with a MessagePack library.
Trait Implementations§
Source§impl Clone for SerializationGoal
impl Clone for SerializationGoal
Source§fn clone(&self) -> SerializationGoal
fn clone(&self) -> SerializationGoal
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SerializationGoal
impl Debug for SerializationGoal
Source§impl Hash for SerializationGoal
impl Hash for SerializationGoal
Source§impl PartialEq for SerializationGoal
impl PartialEq for SerializationGoal
Source§fn eq(&self, other: &SerializationGoal) -> bool
fn eq(&self, other: &SerializationGoal) -> bool
self and other values to be equal, and is used by ==.impl Copy for SerializationGoal
impl Eq for SerializationGoal
impl StructuralPartialEq for SerializationGoal
Auto Trait Implementations§
impl Freeze for SerializationGoal
impl RefUnwindSafe for SerializationGoal
impl Send for SerializationGoal
impl Sync for SerializationGoal
impl Unpin for SerializationGoal
impl UnsafeUnpin for SerializationGoal
impl UnwindSafe for SerializationGoal
Blanket Implementations§
Source§impl<T> AppLifecycle for Twhere
T: ?Sized,
impl<T> AppLifecycle for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.