update: stardust-xr core

This commit is contained in:
Nova
2025-09-23 14:08:52 -07:00
parent 25b0760913
commit 96e910c450
10 changed files with 156 additions and 176 deletions

View File

@@ -1,5 +1,7 @@
use super::{Aspect, AspectIdentifier, Node};
use crate::core::{client::Client, error::Result, registry::Registry};
use crate::core::{
client::Client, error::Result, registry::Registry, scenegraph::MethodResponseSender,
};
use std::{
ops::Add,
sync::{Arc, Weak},
@@ -86,7 +88,7 @@ impl Aspect for Alias {
_node: Arc<Node>,
_method: u64,
_message: super::Message,
_response: crate::core::scenegraph::MethodResponseSender,
_response: MethodResponseSender,
) {
}
}

View File

@@ -77,12 +77,12 @@ impl CameraItem {
_message: Message,
response: MethodResponseSender,
) {
response.wrap_sync(move || {
response.wrap(move || {
let ItemType::Camera(_camera) = &node.get_aspect::<Item>().unwrap().specialization
else {
bail!("Wrong item type?");
};
Ok(serialize(())?.into())
Ok(serialize(())?)
});
}

View File

@@ -204,11 +204,11 @@ impl Node {
) {
if let Ok(alias) = self.get_aspect::<Alias>() {
if !alias.info.server_methods.contains(&method) {
response.send(Err(ScenegraphError::MemberNotFound));
response.send_err(ScenegraphError::MemberNotFound);
return;
}
let Some(alias) = alias.original.upgrade() else {
response.send(Err(ScenegraphError::BrokenAlias));
response.send_err(ScenegraphError::BrokenAlias);
return;
};
alias.execute_local_method(
@@ -223,7 +223,7 @@ impl Node {
)
} else {
let Some(aspect) = self.aspects.0.get(&aspect_id).map(|v| v.clone()) else {
response.send(Err(ScenegraphError::AspectNotFound));
response.send_err(ScenegraphError::AspectNotFound);
return;
};
aspect.run_method(calling_client, self.clone(), method, message, response);