diff --git a/Cargo.lock b/Cargo.lock index 499abde..3bd6b8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1960,6 +1960,7 @@ dependencies = [ "hdrhistogram", "humantime", "hyper-util", + "parking_lot 0.12.4", "prost", "prost-types", "serde", @@ -2529,7 +2530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.52.0", ] [[package]] @@ -3500,7 +3501,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.2", + "windows-targets 0.48.5", ] [[package]] @@ -4041,7 +4042,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", "syn 2.0.104", @@ -5113,7 +5114,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5126,7 +5127,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.60.2", + "windows-sys 0.52.0", ] [[package]] @@ -5461,7 +5462,7 @@ checksum = "6eae92052b72ef70dafa16eddbabffc77e5ca3574be2f7bc1127b36f0a7ad7f2" [[package]] name = "stardust-xr" version = "0.45.0" -source = "git+https://github.com/StardustXR/core.git?branch=dev#7514f132772e81aed1add2a172869e7887697746" +source = "git+https://github.com/StardustXR/core.git?branch=dev#4e616a1ebbaf3fc96d3c7d3d5da00b64bf867142" dependencies = [ "color-eyre", "dirs", @@ -5480,8 +5481,9 @@ dependencies = [ [[package]] name = "stardust-xr-schemas" version = "1.5.3" -source = "git+https://github.com/StardustXR/core.git?branch=dev#7514f132772e81aed1add2a172869e7887697746" +source = "git+https://github.com/StardustXR/core.git?branch=dev#4e616a1ebbaf3fc96d3c7d3d5da00b64bf867142" dependencies = [ + "console-subscriber", "flatbuffers", "flexbuffers", "fnv", @@ -5493,6 +5495,7 @@ dependencies = [ "serde_repr", "thiserror 2.0.16", "tokio", + "variadics_please", "zbus", ] @@ -5739,7 +5742,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix 1.1.2", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -6136,6 +6139,7 @@ dependencies = [ "matchers", "nu-ansi-term", "once_cell", + "parking_lot 0.12.4", "regex", "sharded-slab", "smallvec", @@ -6185,7 +6189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f" dependencies = [ "cc", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -6786,7 +6790,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/codegen/src/lib.rs b/codegen/src/lib.rs index 6caeb9a..3b4ce96 100644 --- a/codegen/src/lib.rs +++ b/codegen/src/lib.rs @@ -63,6 +63,7 @@ fn codegen_protocol(protocol: &'static str) -> proc_macro::TokenStream { description: protocol.description.clone(), inherits: vec![], members: p.members, + inherited_aspects: vec![], }); quote! { #node_id @@ -104,7 +105,7 @@ fn codegen_protocol(protocol: &'static str) -> proc_macro::TokenStream { let aspects = protocol .aspects .iter() - .map(generate_aspect) + .map(|a| generate_aspect(&a.blocking_read())) .reduce(fold_tokens) .unwrap_or_default(); quote!(#custom_enums #custom_unions #custom_structs #aspects #interface).into() diff --git a/src/main.rs b/src/main.rs index 2687f7d..3185f39 100644 --- a/src/main.rs +++ b/src/main.rs @@ -254,7 +254,7 @@ async fn main() -> Result { #[derive(ScheduleLabel, Hash, Debug, PartialEq, Eq, Clone, Copy)] pub struct PreFrameWait; #[derive(Resource, Deref)] -pub struct ObjectRegistryRes(ObjectRegistry); +pub struct ObjectRegistryRes(Arc); #[derive(Resource, Deref)] pub struct DbusConnection(Connection); @@ -263,7 +263,7 @@ fn bevy_loop( _project_dirs: Option, args: CliArgs, dbus_connection: Connection, - object_registry: ObjectRegistry, + object_registry: Arc, ) -> AppExit { let mut app = App::new(); app.insert_resource(DbusConnection(dbus_connection)); diff --git a/src/nodes/items/panel.rs b/src/nodes/items/panel.rs index 42e7ce5..80a47fd 100644 --- a/src/nodes/items/panel.rs +++ b/src/nodes/items/panel.rs @@ -1,13 +1,14 @@ use super::camera::CameraItemAcceptor; use super::{create_item_acceptor_flex, register_item_ui_flex}; use crate::bail; -use crate::core::error::Result; -use crate::nodes::items::ITEM_ACCEPTOR_ASPECT_ALIAS_INFO; -use crate::nodes::items::ITEM_ASPECT_ALIAS_INFO; -use crate::nodes::{Aspect, AspectIdentifier}; +use crate::nodes::{ + Aspect, AspectIdentifier, + items::{ITEM_ACCEPTOR_ASPECT_ALIAS_INFO, ITEM_ASPECT_ALIAS_INFO, ITEM_UI_ASPECT_ALIAS_INFO}, +}; use crate::{ core::{ client::{Client, INTERNAL_CLIENT, get_env, state}, + error::Result, registry::Registry, }, nodes::{ diff --git a/src/objects/input/mouse_pointer.rs b/src/objects/input/mouse_pointer.rs index f8c6c13..3da3c95 100644 --- a/src/objects/input/mouse_pointer.rs +++ b/src/objects/input/mouse_pointer.rs @@ -27,10 +27,7 @@ use rustc_hash::{FxHashMap, FxHasher}; use serde::{Deserialize, Serialize}; use slotmap::{DefaultKey, Key as SlotKey}; use stardust_xr::{ - schemas::dbus::{ - interfaces::FieldRefProxy, - object_registry::{ObjectInfo, ObjectRegistry}, - }, + schemas::dbus::{ObjectInfo, interfaces::FieldRefProxy, object_registry::ObjectRegistry}, values::Datamap, }; use std::sync::{Arc, Weak};