pub struct EngineCore { /* private fields */ }Expand description
Shared evaluation state for all Polydat engines. Contains the node output buffers, input values, and the eval loop. Engine types wrap this and provide their own invalidation strategy.
Implementations§
Source§impl EngineCore
impl EngineCore
Sourcepub fn eval_node(&mut self, program: &PolydatProgram, node_idx: usize)
pub fn eval_node(&mut self, program: &PolydatProgram, node_idx: usize)
Evaluate a node by index. Shared by all engines. Checks the clean flag, recursively evaluates upstream, gathers inputs, calls node.eval(), marks clean.
Sourcepub fn pull(&mut self, program: &PolydatProgram, output_name: &str) -> &Value
pub fn pull(&mut self, program: &PolydatProgram, output_name: &str) -> &Value
Pull a named output.
Trait Implementations§
impl Send for EngineCore
impl Sync for EngineCore
Auto Trait Implementations§
impl !RefUnwindSafe for EngineCore
impl !UnwindSafe for EngineCore
impl Freeze for EngineCore
impl Unpin for EngineCore
impl UnsafeUnpin for EngineCore
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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