pub struct LanguageRuntime { /* private fields */ }Expand description
Persistent, explicitly stepped interpreter and physics world.
Call free() when replacing a program or disposing its editor.
Implementations§
Source§impl LanguageRuntime
impl LanguageRuntime
Sourcepub fn ui_json(&self) -> Result<String, JsValue>
pub fn ui_json(&self) -> Result<String, JsValue>
Reads semantic controls for this standalone interpreter instance.
Sourcepub fn invoke_ui(&mut self, event_json: &str) -> Result<String, JsValue>
pub fn invoke_ui(&mut self, event_json: &str) -> Result<String, JsValue>
Validates a semantic input and invokes its Rust-owned callback transactionally.
Sourcepub fn new(source: &str, modules_json: &str) -> Result<Self, JsValue>
pub fn new(source: &str, modules_json: &str) -> Result<Self, JsValue>
Constructs and initializes a program. Imports come only from modules_json.
Sourcepub fn step(&mut self, count: f64) -> Result<String, JsValue>
pub fn step(&mut self, count: f64) -> Result<String, JsValue>
Advances a bounded number of fixed simulation ticks.
Sourcepub fn finish(&mut self) -> Result<String, JsValue>
pub fn finish(&mut self) -> Result<String, JsValue>
Runs pending system done callbacks once. A failure preserves the run.
Use free() separately to release the WebAssembly allocation.
Sourcepub fn snapshot_json(&self) -> Result<String, JsValue>
pub fn snapshot_json(&self) -> Result<String, JsValue>
Reads serializable component values, logs and source-linked execution trace.
Sourcepub fn inspect_tensor_json(&self, target_json: &str) -> String
pub fn inspect_tensor_json(&self, target_json: &str) -> String
Returns an algebraic JSON result for read-only tensor inspection.
target_json encodes a language InspectionTarget, limited to 4 KiB.
The result is {"Ok": TensorInspection} or {"Err": InspectionError}.
It never evaluates source, dispatches callbacks, or alters accepted state.
The SDK bounds sampling and preserves exact numeric previews and extrema.
Sourcepub fn tensor_bytes(&self, name: &str) -> Result<Vec<u8>, JsValue>
pub fn tensor_bytes(&self, name: &str) -> Result<Vec<u8>, JsValue>
Exports one global tensor as an owned, packed little-endian byte array.
Strided views are materialized in logical row-major order. The returned
Uint8Array owns its bytes, so later stepping, allocation or free() cannot
invalidate it. Read Self::tensor_metadata_json for the element format.
Sourcepub fn tensor_metadata_json(&self, name: &str) -> Result<String, JsValue>
pub fn tensor_metadata_json(&self, name: &str) -> Result<String, JsValue>
Describes the independent packed export, rather than its internal view strides.
Sourcepub fn render_json(&self) -> Result<String, JsValue>
pub fn render_json(&self) -> Result<String, JsValue>
Generates validated render data. Browser code owns GPU and DOM resources.
Sourcepub fn invoke_entity(
&mut self,
entity: f64,
method: &str,
args_json: &str,
) -> Result<String, JsValue>
pub fn invoke_entity( &mut self, entity: f64, method: &str, args_json: &str, ) -> Result<String, JsValue>
Dispatches a component method such as click without browser-owned behavior.
Trait Implementations§
Source§impl From<LanguageRuntime> for JsValue
impl From<LanguageRuntime> for JsValue
Source§fn from(value: LanguageRuntime) -> Self
fn from(value: LanguageRuntime) -> Self
Source§impl FromWasmAbi for LanguageRuntime
impl FromWasmAbi for LanguageRuntime
Source§impl IntoWasmAbi for LanguageRuntime
impl IntoWasmAbi for LanguageRuntime
Source§impl LongRefFromWasmAbi for LanguageRuntime
impl LongRefFromWasmAbi for LanguageRuntime
Source§type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
RefFromWasmAbi::AbiSource§type Anchor = RcRef<LanguageRuntime>
type Anchor = RcRef<LanguageRuntime>
RefFromWasmAbi::AnchorSource§unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiSource§impl OptionFromWasmAbi for LanguageRuntime
impl OptionFromWasmAbi for LanguageRuntime
Source§impl OptionIntoWasmAbi for LanguageRuntime
impl OptionIntoWasmAbi for LanguageRuntime
Source§impl RefFromWasmAbi for LanguageRuntime
impl RefFromWasmAbi for LanguageRuntime
Source§type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
Self are recovered from.Source§type Anchor = RcRef<LanguageRuntime>
type Anchor = RcRef<LanguageRuntime>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl RefMutFromWasmAbi for LanguageRuntime
impl RefMutFromWasmAbi for LanguageRuntime
Source§type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
type Abi = WasmPtr<WasmRefCell<LanguageRuntime>>
RefFromWasmAbi::AbiSource§type Anchor = RcRefMut<LanguageRuntime>
type Anchor = RcRefMut<LanguageRuntime>
RefFromWasmAbi::AnchorSource§unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor
RefFromWasmAbi::ref_from_abiimpl SupportsConstructor for LanguageRuntime
impl SupportsInstanceProperty for LanguageRuntime
impl SupportsStaticProperty for LanguageRuntime
Source§impl TryFromJsValue for LanguageRuntime
impl TryFromJsValue for LanguageRuntime
Source§impl VectorFromWasmAbi for LanguageRuntime
impl VectorFromWasmAbi for LanguageRuntime
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[LanguageRuntime]>
Source§impl VectorIntoWasmAbi for LanguageRuntime
impl VectorIntoWasmAbi for LanguageRuntime
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[LanguageRuntime]>) -> Self::Abi
Source§impl WasmDescribeVector for LanguageRuntime
impl WasmDescribeVector for LanguageRuntime
Auto Trait Implementations§
impl !Freeze for LanguageRuntime
impl !RefUnwindSafe for LanguageRuntime
impl !UnwindSafe for LanguageRuntime
impl Send for LanguageRuntime
impl Sync for LanguageRuntime
impl Unpin for LanguageRuntime
impl UnsafeUnpin for LanguageRuntime
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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 moreimpl<T> MaybeSync for T
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.