feat: update dependencies to use local paths for StardustXR crates; enhance reify method to include Axes elements for tracked nodes

This commit is contained in:
MayaTheShy
2025-11-08 14:30:24 -05:00
parent f9a7e61ff5
commit 2f1be10c37
4 changed files with 29 additions and 7 deletions

View File

@@ -15,12 +15,10 @@ zbus = { version = "5.5.0", features = ["tokio"] }
serde = { version = "1.0", features = ["derive"] }
[dependencies.stardust-xr-asteroids]
git = "https://github.com/StardustXR/asteroids.git"
branch = "dev"
path = "../third_party/asteroids"
[dependencies.stardust-xr-fusion]
git = "https://github.com/StardustXR/core.git"
branch = "dev"
path = "../third_party/core"
[features]
# Feature enabling real StardustXR integration when crates are present.

View File

@@ -10,7 +10,7 @@ use glam::Mat4;
use stardust_xr_asteroids as ast; // alias for brevity
use stardust_xr_asteroids::{
client::ClientState,
elements::PlaySpace,
elements::{PlaySpace, Axes},
Migrate, Reify,
};
use stardust_xr_asteroids::CustomElement;
@@ -34,8 +34,30 @@ impl ClientState for BridgeState {
impl Reify for BridgeState {
fn reify(&self) -> impl ast::Element<Self> {
// Root playspace. We attach our dynamic nodes under this.
PlaySpace.build()
// Root playspace. Attach a visible Axes element per tracked node id.
// We read from the global CTRL so the element tree reflects the latest node registry.
let nodes = CTRL.lock().ok()
.map(|c| c.nodes.clone())
.unwrap_or_default();
let children = nodes.into_iter().map(|(id, node)| {
// Decompose transform into TRS
let (scale, rot, trans) = node.transform.to_scale_rotation_translation();
// Axes are small; apply a uniform visual scale multiplier based on TRS scale.x
let vis_scale = glam::Vec3::new(scale.x, scale.y, scale.z) * 0.2;
(
id,
Axes::default()
.pos(trans)
.rot(rot)
.scl(vis_scale)
.build()
)
});
PlaySpace
.build()
.stable_children(children)
}
}

1
third_party/asteroids vendored Submodule

Submodule third_party/asteroids added at 38ec7d0470

1
third_party/core vendored Submodule

Submodule third_party/core added at 5176d1e9d2