Skip to main content

Binding

Struct Binding 

Source
pub struct Binding {
    pub name: String,
    pub expr: Expr,
    pub tau: Easing,
    pub hold: Option<HoldEdge>,
    pub kind: ParamKind,
}
Expand description

A named parameter bound to a compiled expression.

Fields§

§name: String

The system parameter this drives (e.g. warp, hue).

§expr: Expr

The compiled expression producing its per-frame value.

§tau: Easing

This binding’s easing constants (ADR-0019 / ADR-0035), read out of the preset’s [smoothing] table once, here at load. Easing::INSTANT — the default for an unlisted param — means no smoothing. Resolved at parse time rather than looked up per binding per frame (Plan 0031 Phase 3); it is a fact about the preset, and the preset does not change while it renders.

§hold: Option<HoldEdge>

The musical edge this binding re-samples on (ADR-0180 rule 2), read out of the preset’s [hold] table once, here at load, for tau’s reason and at tau’s boundary.

None – the default for an unlisted param, and what every binding in the shipped set carried before holds existed – means the scene sees every frame’s value. Some means it sees the value taken at the last edge, and the render layer holds that value; nothing here does.

§kind: ParamKind

What the parameter this binding drives is for (ADR-0180 rule 2), read off its ParamSpec here at load — tau’s boundary, for tau’s reason. A Structural value is rounded once, after the hold and after the smoother, before the scene sees it.

Folded rather than searched per frame: which kind a name carries is a fact about the engine, and the engine does not change while it runs.

Trait Implementations§

Source§

impl Debug for Binding

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,