Expand description
§Epoch configuration and state
The epoch system is deliberately split into two tiny, serialisable structures so that the binary can quickly read/write its “current position” without pulling the whole world into memory.
-
EpochConfig- lives in.epochconfig. It only remembers which epoch folder should be considered “current” and a few convenience fields (tags, path). It never holds any event or world data. -
EpochInfo- stored insideepoch/<epoch_id>/.epochinfo. This file contains the metadata for that particular epoch (seed, selected events, parent link, etc.). Again, it does not hold the full world; that is handled elsewhere in the engine.
Keeping these two structs tiny means that switching epochs, logging,
or resetting can be done by reading/writing a handful of JSON/YAML
files, just like a git repository tracks its commits and
HEAD pointer.
Re-exports§
pub use epoch_config::EpochConfig;pub use epoch_info::EpochInfo;
Modules§
- epoch_
config - Management of the current-epoch configuration.
- epoch_
info - Metadata management for individual epochs.
- epoch_
traits - epoch_traits.rs
Structs§
Enums§
- Epoch
Identifier - A flexible identifier for any epoch - the world may be
addressed by a numeric ID or by a friendly tag (e.g.
"winter-b"). - Save
Mode - Which save mode to use