pub struct RotationPreparation {
rotation: Rotation,
resolver: SpecResolver,
table: DescriptorTable,
spell_references: Box<[ResolvedSpellReference]>,
item_use_slots: Box<[GearSlot]>,
lazy_cast_validation_safe: bool,
action_dependency_plans: Box<[PreparedActionDependencyPlan]>,
action_dependencies_complete: bool,
}Expand description
Layout-free validated rotation preparation that cannot be emitted.
Backend emission accepts only PreparedRotation.
Binding this artifact to the complete finalized buffer requirements produces it.
Fields§
§rotation: Rotation§resolver: SpecResolver§table: DescriptorTable§spell_references: Box<[ResolvedSpellReference]>§item_use_slots: Box<[GearSlot]>§lazy_cast_validation_safe: bool§action_dependency_plans: Box<[PreparedActionDependencyPlan]>§action_dependencies_complete: boolImplementations§
Source§impl RotationPreparation
impl RotationPreparation
Sourcepub fn prepare(rotation: &Rotation, resolver: &SpecResolver) -> Result<Self>
pub fn prepare(rotation: &Rotation, resolver: &SpecResolver) -> Result<Self>
Validate and resolve one canonical rotation without freezing a buffer layout.
§Errors
Returns an error for invalid structure or unresolved semantic identities.
Sourcepub fn spell_references(&self) -> &[ResolvedSpellReference]
pub fn spell_references(&self) -> &[ResolvedSpellReference]
Complete referenced-spell inventory available before layout freeze.
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 bind(self, requirements: &BufferRequirements) -> Result<PreparedRotation>
pub fn bind(self, requirements: &BufferRequirements) -> Result<PreparedRotation>
Freeze one complete buffer layout and produce the sole backend-lowering input.
§Errors
Returns an error for invalid resources, fields, or buffer coordinates.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RotationPreparation
impl RefUnwindSafe for RotationPreparation
impl Send for RotationPreparation
impl Sync for RotationPreparation
impl Unpin for RotationPreparation
impl UnsafeUnpin for RotationPreparation
impl UnwindSafe for RotationPreparation
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