Module epoch

Module epoch 

Source
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 inside epoch/<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§

EpochId
Thin type to handle EpochIds
TagList
A lightweight wrapper around a list of tags.

Enums§

EpochIdentifier
A flexible identifier for any epoch - the world may be addressed by a numeric ID or by a friendly tag (e.g. "winter-b").
SaveMode
Which save mode to use