Skip to content

Commit 0b85860

Browse files
committed
refactor: new core crates
1 parent 098abfa commit 0b85860

File tree

25 files changed

+108
-102
lines changed

25 files changed

+108
-102
lines changed

Cargo.lock

Lines changed: 41 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ homepage = "https://stardustxr.org"
1212
[workspace]
1313
members = ["codegen"]
1414

15-
[workspace.dependencies.stardust-xr]
16-
git = "https://github.com/StardustXR/core.git"
17-
1815
[[bin]]
1916
name = "stardust-xr-server"
2017
path = "src/main.rs"
@@ -170,7 +167,12 @@ rustix = { version = "1.0.8", features = ["time"] }
170167
pin-project-lite = "0.2.16"
171168
futures-sink = "0.3.31"
172169

173-
[dependencies.stardust-xr]
174-
workspace = true
170+
[dependencies.stardust-xr-wire]
171+
git = "https://github.com/StardustXR/core.git"
172+
# path = "../core/wire"
173+
[dependencies.stardust-xr-gluon]
174+
git = "https://github.com/StardustXR/core.git"
175+
# path = "../core/gluon"
176+
175177
[dependencies.stardust-xr-server-codegen]
176178
path = "codegen"

codegen/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ convert_case = "0.6.0"
1111
quote = "1.0.33"
1212
proc-macro2 = "1.0.71"
1313

14-
stardust-xr = { workspace = true }
14+
[dependencies.stardust-xr-protocol]
15+
# git = "https://github.com/StardustXR/core.git"
16+
path = "../../core/protocol"

codegen/src/lib.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use convert_case::{Case, Casing};
22
use proc_macro2::{Ident, Span, TokenStream};
33
use quote::{quote, ToTokens};
4-
use stardust_xr::schemas::protocol::*;
4+
use stardust_xr_protocol::*;
55

66
fn fold_tokens(a: TokenStream, b: TokenStream) -> TokenStream {
77
quote!(#a #b)
@@ -105,7 +105,7 @@ fn codegen_protocol(protocol: &'static str) -> proc_macro::TokenStream {
105105
let aspects = protocol
106106
.aspects
107107
.iter()
108-
.map(|a| generate_aspect(&a.blocking_read()))
108+
.map(generate_aspect)
109109
.reduce(fold_tokens)
110110
.unwrap_or_default();
111111
quote!(#custom_enums #custom_unions #custom_structs #aspects #interface).into()
@@ -293,10 +293,10 @@ fn generate_aspect(aspect: &Aspect) -> TokenStream {
293293
_node: std::sync::Arc<crate::nodes::Node>,
294294
_signal: u64,
295295
_message: crate::nodes::Message
296-
) -> Result<(), stardust_xr::scenegraph::ScenegraphError> {
296+
) -> Result<(), stardust_xr_wire::scenegraph::ScenegraphError> {
297297
match _signal {
298298
#run_signals
299-
_ => Err(stardust_xr::scenegraph::ScenegraphError::MemberNotFound)
299+
_ => Err(stardust_xr_wire::scenegraph::ScenegraphError::MemberNotFound)
300300
}
301301
}
302302
#[allow(clippy::all)]
@@ -311,7 +311,7 @@ fn generate_aspect(aspect: &Aspect) -> TokenStream {
311311
match _method {
312312
#run_methods
313313
_ => {
314-
let _ = _method_response.send_err(stardust_xr::scenegraph::ScenegraphError::MemberNotFound);
314+
let _ = _method_response.send_err(stardust_xr_wire::scenegraph::ScenegraphError::MemberNotFound);
315315
}
316316
}
317317
}
@@ -422,7 +422,7 @@ fn generate_member(aspect_id: u64, aspect_name: &str, member: &Member) -> TokenS
422422
let arguments = (#argument_uses);
423423
let (#(#arguments),*) = &arguments;
424424
::tracing::trace!(#argument_debug "sent signal to client: {}::{}", #aspect_name, #name_str);
425-
let result = stardust_xr::schemas::flex::serialize(&arguments).map_err(|e|e.into()).and_then(|serialized|_node.send_remote_signal(#aspect_id, #opcode, serialized));
425+
let result = stardust_xr_wire::flex::serialize(&arguments).map_err(|e|e.into()).and_then(|serialized|_node.send_remote_signal(#aspect_id, #opcode, serialized));
426426

427427
if let Err(err) = result.as_ref() {
428428
::tracing::warn!(#argument_debug "failed to send signal to client : {}::{}, error: {}",#aspect_name,#name_str,err);
@@ -499,7 +499,7 @@ fn generate_run_member(aspect_name: &Ident, _type: MemberType, member: &Member)
499499
.map(|(argument_names, argument_types)| {
500500
quote!{
501501
#[allow(unused_parens)]
502-
let (#argument_names): (#argument_types) = stardust_xr::schemas::flex::deserialize(_message.as_ref())?;
502+
let (#argument_names): (#argument_types) = stardust_xr_wire::flex::deserialize(_message.as_ref())?;
503503
}
504504
})
505505
.unwrap_or_default();
@@ -520,7 +520,7 @@ fn generate_run_member(aspect_name: &Ident, _type: MemberType, member: &Member)
520520
#deserialize
521521
::tracing::trace!(#argument_debug "received local signal: {}::{}",#aspect_name_str,#member_name);
522522
<Self as #aspect_name>::#member_name_ident(_node, _calling_client.clone(), #argument_uses)
523-
})().map_err(|e: crate::core::error::ServerError| stardust_xr::scenegraph::ScenegraphError::MemberError { error: e.to_string() }),
523+
})().map_err(|e: crate::core::error::ServerError| stardust_xr_wire::scenegraph::ScenegraphError::MemberError { error: e.to_string() }),
524524
},
525525
MemberType::Method => quote! {
526526
#opcode => _method_response.wrap_async(async move {
@@ -687,15 +687,15 @@ fn generate_argument_type(
687687
ArgumentType::Float => quote!(f32),
688688
ArgumentType::Vec2(t) => {
689689
let t = generate_argument_type(t, false, true);
690-
quote!(stardust_xr::values::Vector2<#t>)
690+
quote!(stardust_xr_wire::values::Vector2<#t>)
691691
}
692692
ArgumentType::Vec3(t) => {
693693
let t = generate_argument_type(t, false, true);
694-
quote!(stardust_xr::values::Vector3<#t>)
694+
quote!(stardust_xr_wire::values::Vector3<#t>)
695695
}
696-
ArgumentType::Quat => quote!(stardust_xr::values::Quaternion),
697-
ArgumentType::Mat4 => quote!(stardust_xr::values::Mat4),
698-
ArgumentType::Color => quote!(stardust_xr::values::Color),
696+
ArgumentType::Quat => quote!(stardust_xr_wire::values::Quaternion),
697+
ArgumentType::Mat4 => quote!(stardust_xr_wire::values::Mat4),
698+
ArgumentType::Color => quote!(stardust_xr_wire::values::Color),
699699
ArgumentType::Bytes => {
700700
if !owned {
701701
quote!(&[u8])
@@ -722,24 +722,24 @@ fn generate_argument_type(
722722
let t = generate_argument_type(t, false, true);
723723

724724
if !owned {
725-
quote!(&stardust_xr::values::Map<String, #t>)
725+
quote!(&stardust_xr_wire::values::Map<String, #t>)
726726
} else {
727-
quote!(stardust_xr::values::Map<String, #t>)
727+
quote!(stardust_xr_wire::values::Map<String, #t>)
728728
}
729729
}
730730
ArgumentType::NodeID => quote!(crate::nodes::Id),
731731
ArgumentType::Datamap => {
732732
if !owned {
733-
quote!(&stardust_xr::values::Datamap)
733+
quote!(&stardust_xr_wire::values::Datamap)
734734
} else {
735-
quote!(stardust_xr::values::Datamap)
735+
quote!(stardust_xr_wire::values::Datamap)
736736
}
737737
}
738738
ArgumentType::ResourceID => {
739739
if !owned {
740-
quote!(&stardust_xr::values::ResourceID)
740+
quote!(&stardust_xr_wire::values::ResourceID)
741741
} else {
742-
quote!(stardust_xr::values::ResourceID)
742+
quote!(stardust_xr_wire::values::ResourceID)
743743
}
744744
}
745745
ArgumentType::Enum(e) => {

src/core/client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use global_counter::primitive::exact::CounterU32;
1515
use lazy_static::lazy_static;
1616
use parking_lot::Mutex;
1717
use rustc_hash::FxHashMap;
18-
use stardust_xr::messenger::{self, MessageSenderHandle};
18+
use stardust_xr_wire::messenger::{self, MessageSenderHandle};
1919
use std::{
2020
fmt::Debug,
2121
fs,

src/core/color.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use stardust_xr::values::color::{AlphaColor, Rgb, color_space::LinearRgb};
1+
use stardust_xr_wire::values::color::{AlphaColor, Rgb, color_space::LinearRgb};
22

33
pub trait ColorConvert {
44
fn to_bevy(&self) -> bevy::color::Color;

src/core/error.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
use std::any::TypeId;
2-
31
use color_eyre::eyre::Report;
4-
use stardust_xr::{
5-
messenger::MessengerError,
6-
schemas::flex::{
2+
use stardust_xr_wire::{
3+
flex::{
74
FlexSerializeError,
85
flexbuffers::{DeserializationError, ReaderError},
96
},
7+
messenger::MessengerError,
108
};
9+
use std::any::TypeId;
1110
use thiserror::Error;
1211

1312
pub type Result<T, E = ServerError> = std::result::Result<T, E>;

src/core/resource.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use stardust_xr::values::ResourceID;
1+
use stardust_xr_wire::values::ResourceID;
22
use std::{
33
ffi::OsStr,
44
path::{Path, PathBuf},

src/core/scenegraph.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ use crate::{
99
use parking_lot::Mutex;
1010
use rustc_hash::FxHashMap;
1111
use serde::Serialize;
12-
use stardust_xr::{
12+
use stardust_xr_wire::{
13+
flex::serialize,
1314
messenger::MethodResponse,
1415
scenegraph::{self, ScenegraphError},
15-
schemas::flex::serialize,
1616
};
1717
use std::{
1818
os::fd::OwnedFd,
@@ -35,7 +35,7 @@ impl MethodResponseSender {
3535
return;
3636
}
3737
};
38-
let Ok(serialized) = stardust_xr::schemas::flex::serialize(data) else {
38+
let Ok(serialized) = stardust_xr_wire::flex::serialize(data) else {
3939
self.0.send(Err(ScenegraphError::MemberError {
4040
error: "Internal: Failed to serialize".to_string(),
4141
}));

src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ use objects::input::oxr_hand::HandPlugin;
6969
use objects::play_space::PlaySpacePlugin;
7070
use openxr::{EnvironmentBlendMode, ReferenceSpaceType};
7171
use session::{launch_start, save_session};
72-
use stardust_xr::schemas::dbus::object_registry::ObjectRegistry;
73-
use stardust_xr::server::LockedSocket;
72+
use stardust_xr_gluon::object_registry::ObjectRegistry;
73+
use stardust_xr_wire::server::LockedSocket;
7474
use std::ops::DerefMut as _;
7575
use std::path::PathBuf;
7676
use std::str::FromStr;

0 commit comments

Comments
 (0)