pub enum WorkerMessage {
Show 27 variants
Camera {
right: [f32; 3],
up: [f32; 3],
forward: [f32; 3],
},
ScriptAssetLoaded {
name: String,
},
ScriptAssetFailed {
name: String,
error: String,
},
Scene {
rows: Vec<TreeRow>,
},
Selected {
detail: Option<Box<SelectedEntity>>,
},
Cameras {
entries: Vec<CameraEntry>,
},
Animation {
time: f32,
duration: f32,
playing: bool,
clip: Option<u32>,
},
MorphWeights {
id: u32,
weights: Vec<f32>,
},
MorphMeshes {
entries: Vec<MorphMeshInfo>,
},
MaterialVariants {
names: Vec<String>,
active: Option<String>,
},
RenderSettings(Box<RenderSettingsState>),
Flags(Box<EditorFlags>),
Materials {
entries: Vec<MaterialEntry>,
},
Tags {
entries: Vec<(String, u32)>,
},
Structure(SceneStructure),
Palette {
entries: Vec<PaletteEntry>,
},
KhronosList {
entries: Vec<KhronosEntry>,
},
PolyhavenList {
category: PolyhavenCategory,
entries: Vec<PolyhavenEntry>,
},
Loading {
active: bool,
label: String,
},
Project {
name: String,
modified: bool,
model: Option<String>,
mode: String,
},
SaveFile {
name: String,
},
PointerLock {
locked: bool,
},
FocusEntity {
id: u32,
},
UndoState {
can_undo: bool,
can_redo: bool,
},
Toast {
message: String,
error: bool,
},
CommandLog {
entries: Vec<CommandLogEntry>,
},
Agent(Box<AgentResponse>),
}Expand description
Worker to page, over the app envelope field. Ready and stats reporting belong to the worker host’s control plane.
Variants§
Camera
The active camera’s world-space basis, for the page’s nav gizmo.
ScriptAssetLoaded
A ClientMessage::LoadScriptAsset finished and its bytes are in the
script asset map under name.
ScriptAssetFailed
A ClientMessage::LoadScriptAsset failed to fetch.
Scene
Selected
Fields
detail: Option<Box<SelectedEntity>>Cameras
Every camera entity in the world, independent of scene tree filtering, so multi-view tiling sees cameras inside collapsed prefab instances.
Fields
entries: Vec<CameraEntry>Animation
The selected entity’s animation playhead, streamed while it changes.
MorphWeights
One mesh’s morph weights, streamed while they change (animation-driven or edited), so the inspector and scene panel sliders follow.
MorphMeshes
Every mesh in the scene that carries morph targets, synced when the set
changes. Weight values stream separately via MorphWeights.
Fields
entries: Vec<MorphMeshInfo>MaterialVariants
Every material variant name in the scene plus the active one, synced whenever either changes.
RenderSettings(Box<RenderSettingsState>)
Flags(Box<EditorFlags>)
Materials
Fields
entries: Vec<MaterialEntry>Tags
Structure(SceneStructure)
Palette
Fields
entries: Vec<PaletteEntry>KhronosList
Fields
entries: Vec<KhronosEntry>PolyhavenList
Loading
Project
Project status for the title bar.
SaveFile
Serialized file bytes for the page to save, riding the attachments
under name.
PointerLock
Ask the page to acquire or release pointer lock on the canvas.
FocusEntity
Scroll the tree to this entity after a viewport pick.
UndoState
Toast
CommandLog
New command and event traffic from the participant cycle, streamed each frame the journal has anything, for the command and event log panel.
Fields
entries: Vec<CommandLogEntry>Agent(Box<AgentResponse>)
External agent responses and delta batches, relayed back to the MCP bridge.
Trait Implementations§
Source§impl Clone for WorkerMessage
impl Clone for WorkerMessage
Source§fn clone(&self) -> WorkerMessage
fn clone(&self) -> WorkerMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for WorkerMessage
impl<'de> Deserialize<'de> for WorkerMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for WorkerMessage
impl RefUnwindSafe for WorkerMessage
impl Send for WorkerMessage
impl Sync for WorkerMessage
impl Unpin for WorkerMessage
impl UnsafeUnpin for WorkerMessage
impl UnwindSafe for WorkerMessage
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§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>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<T> FromFormData for Twhere
T: DeserializeOwned,
impl<T> FromFormData for Twhere
T: DeserializeOwned,
Source§fn from_event(ev: &Event) -> Result<T, FromFormDataError>
fn from_event(ev: &Event) -> Result<T, FromFormDataError>
submit event.Source§impl<CustErr, T, Request> FromReq<GetUrl, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<GetUrl, Request, CustErr> for T
Source§async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Source§impl<CustErr, T, Request> FromReq<Json, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<Json, Request, CustErr> for T
Source§async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Source§impl<CustErr, T, Request> FromReq<PostUrl, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<PostUrl, Request, CustErr> for T
Source§async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Source§impl<CustErr, T, Response> FromRes<Json, Response, CustErr> for T
impl<CustErr, T, Response> FromRes<Json, Response, CustErr> for T
Source§async fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
async fn from_res(res: Response) -> Result<T, ServerFnError<CustErr>>
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<CustErr, T, Response> IntoRes<Json, Response, CustErr> for T
impl<CustErr, T, Response> IntoRes<Json, Response, CustErr> for T
Source§async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>
async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>
Source§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> SerializableAny for T
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.