Skip to main content

ProgramFrame

Enum ProgramFrame 

Source
pub enum ProgramFrame {
    Source(SourceFrame),
    NotConverted {
        why: String,
    },
}
Expand description

core.program_frame: the coordinate frame the source’s game programs compute in, stated by the reader that keeps them. The world is in core’s frame (crate::frame); a source’s programs compute in the frame their game’s data is in, which its reader converted the world out of. A consumer that runs them on the world converts every value they read into their frame by its kind (SpatialKind) and reads what they write in it, so the programs compute as they do in the game. There is no default: a reader states one form or the other, an identity included (Source(SourceFrame::WORLD) for programs that compute in core’s frame).

Variants§

§

Source(SourceFrame)

The programs compute in this frame: world = frame(program), as the reader converted the source’s data.

§

NotConverted

The frame the programs compute in is not established for this source, or a consumer’s conversion into it is not checked: a consumer feeds them world values unconverted and shows why with every view of them. why names the world, what is known of its frame and on what evidence, and what is missing.

Fields

§why: String

The world, what is known of its programs’ frame (with its evidence), and what is not.

Implementations§

Source§

impl ProgramFrame

Source

pub fn frame(&self) -> Option<&SourceFrame>

The frame values are converted into, where one is stated.

Source

pub fn state(self, world: &mut World) -> Result<(), String>

State this as the world’s program frame, from a reader or pass that keeps the source’s programs: inserted where the world has none, kept where it has the same, refused where it has another (two producers of one world’s programs disagreeing on the frame they compute in).

Trait Implementations§

Source§

impl Clone for ProgramFrame

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ProgramFrame

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ProgramFrame

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Resource for ProgramFrame

Source§

fn verify(&self, _w: &World) -> Result<(), String>

A frame that is not converted says why.

Source§

const NAME: &'static str = "core.program_frame"

Source§

fn to_json(&self) -> Result<Option<Value>, JsonError>

Source§

const VERSION: u32 = 1

Source§

fn references(&self, _out: &mut Vec<Entity>)

The entities this resource refers to, appended to out. A resource holding entity references must declare every one of them and implement Resource::retain_references.
Source§

fn retain_references(&mut self, _keep: &dyn Fn(Entity) -> bool)

Forget every reference to an entity keep refuses (set it to “none”). The world calls it whenever entities leave it (World::despawn, World::retain, World::move_components) and on the copy a World::subset or World::split_off part gets, so a resource never refers to an entity its world lacks.
Source§

impl StructuralPartialEq for ProgramFrame

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.