fix: scenegraph errors
This commit is contained in:
@@ -286,7 +286,7 @@ fn generate_aspect(aspect: &Aspect) -> TokenStream {
|
||||
) -> Result<(), stardust_xr::scenegraph::ScenegraphError> {
|
||||
match _signal {
|
||||
#run_signals
|
||||
_ => Err(stardust_xr::scenegraph::ScenegraphError::SignalNotFound)
|
||||
_ => Err(stardust_xr::scenegraph::ScenegraphError::MemberNotFound)
|
||||
}
|
||||
}
|
||||
#[allow(clippy::all)]
|
||||
@@ -301,7 +301,7 @@ fn generate_aspect(aspect: &Aspect) -> TokenStream {
|
||||
match _method {
|
||||
#run_methods
|
||||
_ => {
|
||||
let _ = _method_response.send(Err(stardust_xr::scenegraph::ScenegraphError::MethodNotFound));
|
||||
let _ = _method_response.send(Err(stardust_xr::scenegraph::ScenegraphError::MemberNotFound));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -467,7 +467,7 @@ fn generate_run_member(aspect_name: &Ident, _type: MemberType, member: &Member)
|
||||
#opcode => (move || {
|
||||
#deserialize
|
||||
<Self as #aspect_name>::#member_name_ident(_node, _calling_client.clone(), #argument_uses)
|
||||
})().map_err(|e: color_eyre::Report| stardust_xr::scenegraph::ScenegraphError::SignalError { error: e.to_string() }),
|
||||
})().map_err(|e: color_eyre::Report| stardust_xr::scenegraph::ScenegraphError::MemberError { error: e.to_string() }),
|
||||
},
|
||||
MemberType::Method => quote! {
|
||||
#opcode => _method_response.wrap_async(async move {
|
||||
|
||||
@@ -60,7 +60,7 @@ impl MethodResponseSender {
|
||||
// let _ = self.0.send(map_method_return(result));
|
||||
// }
|
||||
pub fn wrap_sync<F: FnOnce() -> color_eyre::eyre::Result<Message>>(self, f: F) {
|
||||
self.send(f().map_err(|e| ScenegraphError::MethodError {
|
||||
self.send(f().map_err(|e| ScenegraphError::MemberError {
|
||||
error: e.to_string(),
|
||||
}))
|
||||
}
|
||||
@@ -74,11 +74,11 @@ impl MethodResponseSender {
|
||||
fn map_method_return<T: Serialize>(
|
||||
result: color_eyre::eyre::Result<(T, Vec<OwnedFd>)>,
|
||||
) -> Result<(Vec<u8>, Vec<OwnedFd>), ScenegraphError> {
|
||||
let (value, fds) = result.map_err(|e| ScenegraphError::MethodError {
|
||||
let (value, fds) = result.map_err(|e| ScenegraphError::MemberError {
|
||||
error: e.to_string(),
|
||||
})?;
|
||||
|
||||
let serialized_value = serialize(value).map_err(|e| ScenegraphError::MethodError {
|
||||
let serialized_value = serialize(value).map_err(|e| ScenegraphError::MemberError {
|
||||
error: format!("Internal: Serialization failed: {e}"),
|
||||
})?;
|
||||
Ok((serialized_value, fds))
|
||||
|
||||
@@ -129,7 +129,8 @@ impl Node {
|
||||
.global_transform()
|
||||
.to_scale_rotation_translation()
|
||||
.0
|
||||
.length_squared() > 0.0
|
||||
.length_squared()
|
||||
> 0.0
|
||||
} else {
|
||||
true
|
||||
}
|
||||
@@ -176,7 +177,7 @@ impl Node {
|
||||
) -> Result<(), ScenegraphError> {
|
||||
if let Ok(alias) = self.get_aspect::<Alias>() {
|
||||
if !alias.info.server_signals.iter().any(|e| *e == method) {
|
||||
return Err(ScenegraphError::SignalNotFound);
|
||||
return Err(ScenegraphError::MemberNotFound);
|
||||
}
|
||||
alias
|
||||
.original
|
||||
@@ -193,7 +194,7 @@ impl Node {
|
||||
.clone();
|
||||
aspect
|
||||
.run_signal(calling_client, self.clone(), method, message)
|
||||
.map_err(|error| ScenegraphError::SignalError {
|
||||
.map_err(|error| ScenegraphError::MemberError {
|
||||
error: error.to_string(),
|
||||
})
|
||||
}
|
||||
@@ -208,7 +209,7 @@ impl Node {
|
||||
) {
|
||||
if let Ok(alias) = self.get_aspect::<Alias>() {
|
||||
if !alias.info.server_methods.iter().any(|e| *e == method) {
|
||||
response.send(Err(ScenegraphError::MethodNotFound));
|
||||
response.send(Err(ScenegraphError::MemberNotFound));
|
||||
return;
|
||||
}
|
||||
let Some(alias) = alias.original.upgrade() else {
|
||||
|
||||
Reference in New Issue
Block a user