#[non_exhaustive]pub struct FrameRecord {
pub dt: i64,
pub system: Vec<SystemEvent>,
pub input: Vec<RawInputEvent>,
pub keyboard: Option<KeyboardFrame>,
pub music: Option<f64>,
pub track: Option<String>,
pub voice: Option<String>,
pub pacing: Option<Pacing>,
pub hash: Option<u64>,
}Expand description
One frame of a run, in the order App reads the platform: empty lists
and unchanged values are left out, so an idle frame is its dt alone, or
its dt and music while music sounds.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.dt: i64This frame’s time minus the last one’s, in milliseconds: signed,
since a clock may go back and App must see that again; 0 for the
first frame (SessionRecord::start).
system: Vec<SystemEvent>The system’s events.
input: Vec<RawInputEvent>The frame’s one poll of the input, kept or dropped as App did.
keyboard: Option<KeyboardFrame>The system keyboard’s part in the frame.
music: Option<f64>The position Audio::music_playing
answered, in seconds.
track: Option<String>The cue of the track sounding, when it changes: an empty cue for silence.
voice: Option<String>The file of the voice clip
Audio::voice_playing answered, when
it changes: an empty file for none.
pacing: Option<Pacing>The pacing the game was handed, when it changes
(App::set_pacing).
hash: Option<u64>The frame’s hash, when it differs from the last frame’s.
Trait Implementations§
Source§impl Clone for FrameRecord
impl Clone for FrameRecord
Source§fn clone(&self) -> FrameRecord
fn clone(&self) -> FrameRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more