fix: scenegraph errors

This commit is contained in:
Nova
2024-10-31 07:40:06 -04:00
parent 4f01bd5eec
commit be709efbdd
3 changed files with 11 additions and 10 deletions

View File

@@ -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 {

View File

@@ -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))

View File

@@ -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 {