proof_engine/save/mod.rs
1//! # Save / Load System
2//!
3//! Provides serialization, world snapshots, file-level save formats, save slot
4//! management, and checkpoint-based respawn for the Proof Engine game loop.
5//!
6//! ## Modules
7//!
8//! | Module | Purpose |
9//! |---|---|
10//! | `serializer` | `SerializedValue` enum (JSON-like), `Serialize`/`Deserialize` traits, built-in impls |
11//! | `snapshot` | `WorldSnapshot`, `EntitySnapshot`, `SnapshotDiff` |
12//! | `format` | `SaveFile`, `SaveHeader`, `SaveManager`, slot management |
13//! | `checkpoint` | `Checkpoint`, `CheckpointManager`, `RespawnSystem` |
14//!
15//! ## Quick save example
16//!
17//! ```rust,no_run
18//! use proof_engine::save::{
19//! snapshot::WorldSnapshot,
20//! format::{SaveFile, SaveManager},
21//! };
22//!
23//! let mut snapshot = WorldSnapshot::new();
24//! let mut save_manager = SaveManager::new("saves/");
25//! save_manager.save_to_slot(0, snapshot, Default::default()).unwrap();
26//! let file = save_manager.load_slot(0).unwrap();
27//! ```
28
29pub mod serializer;
30pub mod snapshot;
31pub mod format;
32pub mod checkpoint;
33pub mod compression;
34pub mod migrations;
35pub mod cloud;
36pub mod profile;
37
38// Key re-exports
39pub use serializer::{
40 DeserializeError, Deserialize as SaveDeserialize, Serialize as SaveSerialize, SerializedValue,
41};
42pub use snapshot::{EntitySnapshot, ResourceSnapshot, SnapshotDiff, WorldSnapshot};
43pub use format::{SaveError, SaveFile, SaveHeader, SaveManager, SaveSlot};
44pub use checkpoint::{Checkpoint, CheckpointManager, RespawnSystem};