pub struct PreparedRotation {
rotation: Rotation,
resolver: SpecResolver,
schema: Arc<ContextSchema>,
table: DescriptorTable,
spell_references: Box<[ResolvedSpellReference]>,
item_use_slots: Box<[GearSlot]>,
lazy_cast_validation_safe: bool,
spell_usability_prevalidated: bool,
action_dependency_plans: Box<[PreparedActionDependencyPlan]>,
action_dependencies_complete: bool,
}Expand description
Canonical lowering input shared by portable bytecode, JIT, and explicit trace evaluation.
Fields§
§rotation: Rotation§resolver: SpecResolver§schema: Arc<ContextSchema>§table: DescriptorTable§spell_references: Box<[ResolvedSpellReference]>§item_use_slots: Box<[GearSlot]>§lazy_cast_validation_safe: bool§spell_usability_prevalidated: bool§action_dependency_plans: Box<[PreparedActionDependencyPlan]>§action_dependencies_complete: boolImplementations§
Source§impl PreparedRotation
impl PreparedRotation
pub fn schema(&self) -> &Arc<ContextSchema>
pub fn spell_references(&self) -> &[ResolvedSpellReference]
Sourcepub fn item_use_slots(&self) -> &[GearSlot]
pub fn item_use_slots(&self) -> &[GearSlot]
Enabled equipment actions authored by the rotation.
Sourcepub const fn lazy_cast_validation_safe(&self) -> bool
pub const fn lazy_cast_validation_safe(&self) -> bool
Whether cast availability may be validated only when that cast is selected.
Sourcepub fn action_dependency_plans(&self) -> &[PreparedActionDependencyPlan]
pub fn action_dependency_plans(&self) -> &[PreparedActionDependencyPlan]
Dependency plans for reachable terminal cast actions in source order.
Sourcepub const fn action_dependencies_complete(&self) -> bool
pub const fn action_dependencies_complete(&self) -> bool
Whether dependency plans cover every reachable decision behavior.
Sourcepub fn with_prevalidated_spell_usability(self) -> Self
pub fn with_prevalidated_spell_usability(self) -> Self
Use the externally maintained eligibility bit for spell.is_usable reads.
The caller must fully validate every availability binding before evaluation. Alternatively, it must validate selected casts and retry with rejected slots disabled.
pub(super) fn lower<B>(&self, backend: &mut B)where
B: RotationBackend,
pub(super) const fn rotation(&self) -> &Rotation
pub(super) const fn resolver(&self) -> &SpecResolver
pub(super) const fn table(&self) -> &DescriptorTable
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PreparedRotation
impl RefUnwindSafe for PreparedRotation
impl Send for PreparedRotation
impl Sync for PreparedRotation
impl Unpin for PreparedRotation
impl UnsafeUnpin for PreparedRotation
impl UnwindSafe for PreparedRotation
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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