pub struct EnvConfig {
pub deck_lists: [Vec<CardId>; 2],
pub deck_ids: [u32; 2],
pub max_decisions: u32,
pub max_ticks: u32,
pub reward: RewardConfig,
pub error_policy: ErrorPolicy,
pub observation_visibility: ObservationVisibility,
pub end_condition_policy: EndConditionPolicy,
}Expand description
Top-level environment configuration shared by all envs in a pool.
Fields§
§deck_lists: [Vec<CardId>; 2]Deck lists for both players, as card IDs.
deck_ids: [u32; 2]Deck identifiers for replay metadata.
max_decisions: u32Max number of decisions before truncation.
max_ticks: u32Max number of engine ticks before truncation.
reward: RewardConfigReward shaping settings.
error_policy: ErrorPolicyPolicy for illegal actions and engine errors.
observation_visibility: ObservationVisibilityObservation sanitization policy.
end_condition_policy: EndConditionPolicyEnd-condition rules for simultaneous losses.
Implementations§
Source§impl EnvConfig
impl EnvConfig
Sourcepub fn config_hash(&self, curriculum: &CurriculumConfig) -> u64
pub fn config_hash(&self, curriculum: &CurriculumConfig) -> u64
Compute a stable hash for this config and curriculum pair.
Sourcepub fn validate_with_db_all_issues(&self, db: &CardDb) -> Vec<ConfigError>
pub fn validate_with_db_all_issues(&self, db: &CardDb) -> Vec<ConfigError>
Validate deck lists against hard constraints and collect all issues.
Sourcepub fn validate_with_db(&self, db: &CardDb) -> Result<(), ConfigError>
pub fn validate_with_db(&self, db: &CardDb) -> Result<(), ConfigError>
Validate deck lists against hard game constraints and known card ids.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EnvConfig
impl<'de> Deserialize<'de> for EnvConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EnvConfig
impl RefUnwindSafe for EnvConfig
impl Send for EnvConfig
impl Sync for EnvConfig
impl Unpin for EnvConfig
impl UnwindSafe for EnvConfig
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more