pub struct PaintFrame {
pub time: f64,
pub scenario_time: f64,
pub frame_index: u32,
pub fps: u32,
pub video_width: u32,
pub video_height: u32,
pub scene_duration: f64,
pub camera: Option<PlaneCamera>,
}Expand description
Frame-level paint context (timing + viewport).
Fields§
§time: f64§scenario_time: f64Seconds since the start of the scenario (of the view, for a world
view), as opposed to time, which restarts at every scene.
Only the audio-reactive painters want this: an audio analysis is
indexed on the scenario’s own timeline, so reading it with time gave
a scene starting at t=73 s the analysis at 73 s into that scene.
Everything else — animation progress, reveals, transitions — is
correctly scene-local and must stay on time.
frame_index: u32§fps: u32§video_width: u32§video_height: u32§scene_duration: f64Total duration of the scene in seconds — used by the dispatcher to
compute animation progress (time / scene_duration).
camera: Option<PlaneCamera>Resolved scene camera for per-plane parallax (issue #90). Some only
when the scene declares a camera AND at least one top-level child has
an explicit style.depth — the paint pass then applies the camera per
plane (each direct child of the root, scaled by its depth) and the
caller must NOT apply the global camera transform.
Trait Implementations§
Source§impl Clone for PaintFrame
impl Clone for PaintFrame
Source§fn clone(&self) -> PaintFrame
fn clone(&self) -> PaintFrame
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PaintFrame
Auto Trait Implementations§
impl Freeze for PaintFrame
impl RefUnwindSafe for PaintFrame
impl Send for PaintFrame
impl Sync for PaintFrame
impl Unpin for PaintFrame
impl UnsafeUnpin for PaintFrame
impl UnwindSafe for PaintFrame
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
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> ⓘ
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> ⓘ
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