feat: update fusion
This commit is contained in:
961
Cargo.lock
generated
961
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
14
Cargo.toml
14
Cargo.toml
@@ -4,13 +4,13 @@ version = "0.4.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
cached = "0.42.0"
|
cached = "0.43.0"
|
||||||
clap = { version = "4.1.3", features = ["derive"] }
|
clap = { version = "4.1.3", features = ["derive"] }
|
||||||
color-eyre = "0.6.2"
|
color-eyre = "0.6.2"
|
||||||
directories = "4.0.1"
|
directories = "5.0.0"
|
||||||
dirs = "4.0.0"
|
dirs = "5.0.0"
|
||||||
ez-pixmap = "0.2.2"
|
ez-pixmap = "0.2.2"
|
||||||
glam = { version = "0.22.0", features = ["mint"] }
|
glam = { version = "0.24.0", features = ["mint"] }
|
||||||
image = "0.24.5"
|
image = "0.24.5"
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
linicon = "2.3.0"
|
linicon = "2.3.0"
|
||||||
@@ -20,8 +20,8 @@ nix = "0.26.1"
|
|||||||
regex = "1.7.1"
|
regex = "1.7.1"
|
||||||
resvg = "0.29.0"
|
resvg = "0.29.0"
|
||||||
rustc-hash = "1.1.0"
|
rustc-hash = "1.1.0"
|
||||||
stardust-xr-fusion = "0.38.1"
|
stardust-xr-fusion = "0.39.2"
|
||||||
stardust-xr-molecules = "0.23.2"
|
stardust-xr-molecules = "0.24.0"
|
||||||
tokio = { version = "1.24.1", features = ["full"] }
|
tokio = { version = "1.24.1", features = ["full"] }
|
||||||
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
||||||
tween = "2.0.0"
|
tween = "2.0.0"
|
||||||
@@ -29,4 +29,4 @@ ustr = "0.9.0"
|
|||||||
walkdir = "2.3.2"
|
walkdir = "2.3.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tempdir = "0.3.7"
|
tempdir = "0.3.7"
|
||||||
@@ -183,7 +183,7 @@ struct Button {
|
|||||||
impl Button {
|
impl Button {
|
||||||
fn new(client: &Client) -> Result<Self, NodeError> {
|
fn new(client: &Client) -> Result<Self, NodeError> {
|
||||||
let field = BoxField::create(client.get_root(), Transform::default(), [APP_SIZE; 3])?;
|
let field = BoxField::create(client.get_root(), Transform::default(), [APP_SIZE; 3])?;
|
||||||
let grabbable = Grabbable::new(
|
let grabbable = Grabbable::create(
|
||||||
client.get_root(),
|
client.get_root(),
|
||||||
Transform::default(),
|
Transform::default(),
|
||||||
&field,
|
&field,
|
||||||
@@ -193,11 +193,13 @@ impl Button {
|
|||||||
},
|
},
|
||||||
)?;
|
)?;
|
||||||
field.set_spatial_parent(grabbable.content_parent())?;
|
field.set_spatial_parent(grabbable.content_parent())?;
|
||||||
let touch_plane = TouchPlane::new(
|
let touch_plane = TouchPlane::create(
|
||||||
grabbable.content_parent(),
|
grabbable.content_parent(),
|
||||||
Transform::default(),
|
Transform::default(),
|
||||||
[(APP_SIZE + PADDING) / 2.0; 2],
|
[(APP_SIZE + PADDING) / 2.0; 2],
|
||||||
(APP_SIZE + PADDING) / 2.0,
|
(APP_SIZE + PADDING) / 2.0,
|
||||||
|
0.0..1.0,
|
||||||
|
0.0..1.0,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
let model = Model::create(
|
let model = Model::create(
|
||||||
@@ -218,7 +220,7 @@ impl Button {
|
|||||||
}
|
}
|
||||||
impl RootHandler for Button {
|
impl RootHandler for Button {
|
||||||
fn frame(&mut self, info: FrameInfo) {
|
fn frame(&mut self, info: FrameInfo) {
|
||||||
self.grabbable.update(&info);
|
let _ = self.grabbable.update(&info);
|
||||||
if self.grabbable.grab_action().actor_started() {
|
if self.grabbable.grab_action().actor_started() {
|
||||||
let _ = self.touch_plane.set_enabled(false);
|
let _ = self.touch_plane.set_enabled(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ impl ProtoStar {
|
|||||||
) -> Result<Self> {
|
) -> Result<Self> {
|
||||||
let position = position.into();
|
let position = position.into();
|
||||||
let field = BoxField::create(parent, Transform::default(), [MODEL_SCALE * 2.0; 3])?;
|
let field = BoxField::create(parent, Transform::default(), [MODEL_SCALE * 2.0; 3])?;
|
||||||
let grabbable = Grabbable::new(
|
let grabbable = Grabbable::create(
|
||||||
parent,
|
parent,
|
||||||
Transform::from_position(position),
|
Transform::from_position(position),
|
||||||
&field,
|
&field,
|
||||||
@@ -190,7 +190,7 @@ impl ProtoStar {
|
|||||||
}
|
}
|
||||||
impl RootHandler for ProtoStar {
|
impl RootHandler for ProtoStar {
|
||||||
fn frame(&mut self, info: FrameInfo) {
|
fn frame(&mut self, info: FrameInfo) {
|
||||||
self.grabbable.update(&info);
|
let _ = self.grabbable.update(&info);
|
||||||
|
|
||||||
if let Some(grabbable_move) = &mut self.grabbable_move {
|
if let Some(grabbable_move) = &mut self.grabbable_move {
|
||||||
if !grabbable_move.is_finished() {
|
if !grabbable_move.is_finished() {
|
||||||
@@ -274,6 +274,7 @@ impl RootHandler for ProtoStar {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let executable = self.execute_command.clone();
|
let executable = self.execute_command.clone();
|
||||||
|
let client = self.content_parent().client().unwrap();
|
||||||
|
|
||||||
//TODO: split the executable string for the args
|
//TODO: split the executable string for the args
|
||||||
tokio::task::spawn(async move {
|
tokio::task::spawn(async move {
|
||||||
@@ -284,6 +285,11 @@ impl RootHandler for ProtoStar {
|
|||||||
if dbg!(distance) > ACTIVATION_DISTANCE {
|
if dbg!(distance) > ACTIVATION_DISTANCE {
|
||||||
let future = startup_settings.generate_startup_token().unwrap();
|
let future = startup_settings.generate_startup_token().unwrap();
|
||||||
|
|
||||||
|
let env = client.get_connection_environment().unwrap().await.unwrap();
|
||||||
|
for (k, v) in env.into_iter() {
|
||||||
|
std::env::set_var(k, v);
|
||||||
|
}
|
||||||
|
|
||||||
std::env::set_var("STARDUST_STARTUP_TOKEN", future.await.unwrap());
|
std::env::set_var("STARDUST_STARTUP_TOKEN", future.await.unwrap());
|
||||||
let re = Regex::new(r"%[fFuUdDnNickvm]").unwrap();
|
let re = Regex::new(r"%[fFuUdDnNickvm]").unwrap();
|
||||||
let exec = re.replace_all(&executable, "");
|
let exec = re.replace_all(&executable, "");
|
||||||
|
|||||||
Reference in New Issue
Block a user