From 769fa24c1d80c3e1fc7f945949f7ee8424424726 Mon Sep 17 00:00:00 2001 From: Nova Date: Sat, 17 Dec 2022 02:29:32 -0500 Subject: [PATCH] feat: update stardust-xr --- Cargo.toml | 2 +- src/core/eventloop.rs | 3 ++- src/main.rs | 5 ++++- src/nodes/spatial/mod.rs | 6 +++--- src/objects/input/mouse_pointer.rs | 11 ++++------- src/objects/input/sk_controller.rs | 9 ++++----- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5f90f90..022f708 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ send_wrapper = "0.6.0" prisma = "0.1.1" slog = "2.7.0" xkbcommon = { version = "0.5.0", default-features = false, optional = true } -stardust-xr = "0.8.0" +stardust-xr = "0.10.0" directories = "4.0.1" serde = { version = "1.0.145", features = ["derive"] } tracing = "0.1.37" diff --git a/src/core/eventloop.rs b/src/core/eventloop.rs index 4410515..b94486a 100644 --- a/src/core/eventloop.rs +++ b/src/core/eventloop.rs @@ -2,6 +2,7 @@ use super::client::Client; use color_eyre::eyre::Result; use slab::Slab; use stardust_xr::server; +use std::path::PathBuf; use std::sync::atomic::AtomicU64; use std::sync::Arc; use tokio::net::UnixListener; @@ -11,7 +12,7 @@ use tokio::task::JoinHandle; pub static FRAME: AtomicU64 = AtomicU64::new(0); pub struct EventLoop { - pub socket_path: String, + pub socket_path: PathBuf, stop_notifier: Arc, pub clients: Mutex>>, } diff --git a/src/main.rs b/src/main.rs index b22f243..344eae0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -160,7 +160,10 @@ async fn event_loop( let (event_loop, event_loop_join_handle) = EventLoop::new().expect("Couldn't create server socket"); info!("Init event loop"); - info!("Stardust socket created at {}", event_loop.socket_path); + info!( + "Stardust socket created at {}", + event_loop.socket_path.display() + ); let result = tokio::select! { biased; diff --git a/src/nodes/spatial/mod.rs b/src/nodes/spatial/mod.rs index d4a0541..db4693c 100644 --- a/src/nodes/spatial/mod.rs +++ b/src/nodes/spatial/mod.rs @@ -267,11 +267,11 @@ impl Drop for Spatial { pub fn parse_transform( transform: Transform, - translation: bool, + position: bool, rotation: bool, scale: bool, ) -> Result { - let translation = translation + let position = position .then_some(transform.position) .flatten() .unwrap_or_else(|| Vector3::from([0.0; 3])); @@ -287,7 +287,7 @@ pub fn parse_transform( Ok(Mat4::from_scale_rotation_translation( scale.into(), rotation.into(), - translation.into(), + position.into(), )) } diff --git a/src/objects/input/mouse_pointer.rs b/src/objects/input/mouse_pointer.rs index 1366981..3b0f8fe 100644 --- a/src/objects/input/mouse_pointer.rs +++ b/src/objects/input/mouse_pointer.rs @@ -54,13 +54,10 @@ impl MousePointer { if let Some(ray) = SkRay::from_mouse(mouse) { self.spatial.set_local_transform_components( None, - Transform { - position: Some(ray.pos), - rotation: Some( - glam::Quat::from_rotation_arc(vec3(0.0, 0.0, 1.0), ray.dir.into()).into(), - ), - scale: None, - }, + Transform::from_position_rotation( + ray.pos, + glam::Quat::from_rotation_arc(vec3(0.0, 0.0, 1.0), ray.dir.into()), + ), ); } { diff --git a/src/objects/input/sk_controller.rs b/src/objects/input/sk_controller.rs index 795adbb..ed7fa53 100644 --- a/src/objects/input/sk_controller.rs +++ b/src/objects/input/sk_controller.rs @@ -30,11 +30,10 @@ impl SkController { if *self.tip.enabled.lock() { self.tip.spatial.set_local_transform_components( None, - Transform { - position: Some(controller.pose.position), - rotation: Some(controller.pose.orientation), - scale: None, - }, + Transform::from_position_rotation( + controller.pose.position, + controller.pose.orientation, + ), ); } let mut fbb = flexbuffers::Builder::default();