Skip to main content

SimCommand

Enum SimCommand 

Source
pub enum SimCommand {
    Play,
    Pause,
    StepOnce,
    SetTargetTps(f64),
    SetUncapped(bool),
    SetTicksPerSnapshot(u32),
    SetParam {
        index: usize,
        value: ParamValue,
    },
    Act(usize),
    SetLayout {
        on: bool,
        budget_ms: f32,
        while_paused: bool,
    },
    SetSchedule(Schedule),
    RunTo(u64),
    Shutdown,
}
Expand description

Commands sent from the UI thread to the simulation thread.

Variants§

§

Play

Start stepping. It cancels a pending Self::RunTo.

§

Pause

Stop stepping, and publish the state the run stopped at.

§

StepOnce

Run one step and publish.

§

SetTargetTps(f64)

Set the target rate in ticks per second.

§

SetUncapped(bool)

Step as fast as possible when true, ignoring the target rate.

§

SetTicksPerSnapshot(u32)

Set the number of ticks one capped batch steps, at least 1.

§

SetParam

Set one parameter of the running model.

Fields

§index: usize

Position of the parameter in the full parameter list.

§value: ParamValue

New value.

§

Act(usize)

Run the model’s declared action at this index, once.

§

SetLayout

Turn the layout on or off, with a time budget per publish in milliseconds.

The layout relaxes on every publish that follows a tick. While paused, it relaxes only if while_paused is set.

Fields

§on: bool

Whether the layout runs.

§budget_ms: f32

Time in milliseconds that one publish may spend relaxing the layout, capped at MAX_VIEW_BUDGET_MS.

§while_paused: bool

Whether the layout keeps relaxing while paused.

§

SetSchedule(Schedule)

Replace the actions fired at their ticks, and fire those due at the current tick at once unless it has fired.

Each later action fires once, after the step that reaches its tick. A tick has fired once a step has reached it or an earlier schedule has fired it. No tick fires twice.

§

RunTo(u64)

Step as fast as possible to this tick, then pause and publish.

Play, Pause and StepOnce cancel it. A tick at or behind the current one pauses at once.

§

Shutdown

Stop the loop. A runner sends it when dropped.

Trait Implementations§

Source§

impl Debug for SimCommand

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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

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

Source§

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

Source§

impl<T> WasmNotSendSync for T

Source§

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

Source§

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