feat: update fusion and molecules

This commit is contained in:
Nova
2023-02-23 08:43:09 -05:00
parent 2b2b66f1f6
commit 084fa44330
5 changed files with 152 additions and 73 deletions

186
Cargo.lock generated
View File

@@ -101,9 +101,9 @@ dependencies = [
[[package]]
name = "base64"
version = "0.13.1"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
[[package]]
name = "bit_field"
@@ -429,6 +429,18 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
[[package]]
name = "enum_dispatch"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2"
dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "errno"
version = "0.2.8"
@@ -492,13 +504,12 @@ checksum = "cda653ca797810c02f7ca4b804b40b8b95ae046eb989d356bce17919a8c25499"
[[package]]
name = "flatbuffers"
version = "2.1.2"
version = "23.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86b428b715fdbdd1c364b84573b5fdc0f84f8e423661b9f398735278bc7f2b6a"
checksum = "77f5399c2c9c50ae9418e522842ad362f61ee48b346ac106807bd355a8a7c619"
dependencies = [
"bitflags",
"smallvec",
"thiserror",
"rustc_version",
]
[[package]]
@@ -549,14 +560,14 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2be17a530a842f8a7a60f4397a08e8f08872849a5e31b20c7bd7301dac483296"
dependencies = [
"roxmltree",
"roxmltree 0.15.1",
]
[[package]]
name = "fontdb"
version = "0.10.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8131752b3f3b876a20f42b3d08233ad177d6e7ec6d18aaa6954489a201071be5"
checksum = "ff20bef7942a72af07104346154a70a70b089c572e454b41bef6eb6cb10e9c06"
dependencies = [
"fontconfig-parser",
"log",
@@ -605,6 +616,16 @@ dependencies = [
"weezl",
]
[[package]]
name = "gif"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
dependencies = [
"color_quant",
"weezl",
]
[[package]]
name = "gimli"
version = "0.27.0"
@@ -620,6 +641,15 @@ dependencies = [
"mint",
]
[[package]]
name = "glam"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e4afd9ad95555081e109fe1d21f2a30c691b5f0919c67dfa690a2e1eb6bd51c"
dependencies = [
"mint",
]
[[package]]
name = "half"
version = "1.8.2"
@@ -693,7 +723,7 @@ dependencies = [
"byteorder",
"color_quant",
"exr",
"gif",
"gif 0.11.4",
"jpeg-decoder",
"num-rational",
"num-traits",
@@ -704,9 +734,9 @@ dependencies = [
[[package]]
name = "imagesize"
version = "0.10.1"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951"
checksum = "b72ad49b554c1728b1e83254a1b1565aea4161e28dabbfa171fc15fe62299caf"
[[package]]
name = "indenter"
@@ -772,6 +802,15 @@ dependencies = [
"arrayvec",
]
[[package]]
name = "kurbo"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e119590a03caff1f7a582e8ee8c2164ddcc975791701188132fd1d1b518d3871"
dependencies = [
"arrayvec",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
@@ -1224,7 +1263,7 @@ dependencies = [
"directories",
"dirs",
"ez-pixmap",
"glam",
"glam 0.22.0",
"image",
"lazy_static",
"manifest-dir-macros",
@@ -1232,6 +1271,7 @@ dependencies = [
"nix",
"resvg",
"rustc-hash",
"stardust-xr-fusion",
"stardust-xr-molecules",
"tempdir",
"tokio",
@@ -1400,18 +1440,18 @@ dependencies = [
[[package]]
name = "resvg"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c115863f2d3621999cf187e318bc92b16402dfeff6a48c74df700d77381394c1"
checksum = "76888219c0881e22b0ceab06fddcfe83163cd81642bd60c7842387f9c968a72e"
dependencies = [
"gif",
"gif 0.12.0",
"jpeg-decoder",
"log",
"pico-args",
"png",
"rgb",
"svgfilters",
"svgtypes",
"svgtypes 0.10.0",
"tiny-skia",
"usvg",
"usvg-text-layout",
@@ -1426,6 +1466,19 @@ dependencies = [
"bytemuck",
]
[[package]]
name = "rosvgtree"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdc23d1ace03d6b8153c7d16f0708cd80b61ee8e80304954803354e67e40d150"
dependencies = [
"log",
"roxmltree 0.18.0",
"simplecss",
"siphasher",
"svgtypes 0.9.0",
]
[[package]]
name = "roxmltree"
version = "0.15.1"
@@ -1435,6 +1488,15 @@ dependencies = [
"xmlparser",
]
[[package]]
name = "roxmltree"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8"
dependencies = [
"xmlparser",
]
[[package]]
name = "rustc-demangle"
version = "0.1.21"
@@ -1447,6 +1509,15 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
"semver",
]
[[package]]
name = "rustix"
version = "0.36.7"
@@ -1463,9 +1534,9 @@ dependencies = [
[[package]]
name = "rustybuzz"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab9e34ecf6900625412355a61bda0bd68099fe674de707c67e5e4aed2c05e489"
checksum = "162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a"
dependencies = [
"bitflags",
"bytemuck",
@@ -1504,6 +1575,12 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
[[package]]
name = "semver"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
[[package]]
name = "serde"
version = "1.0.152"
@@ -1595,9 +1672,7 @@ dependencies = [
[[package]]
name = "stardust-xr"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd8541caad6c5c3e9c43ce4fa43a330f7a3df5ec293c88fd062fff46172ceb97"
version = "0.11.0"
dependencies = [
"chrono",
"cluFlock",
@@ -1615,14 +1690,12 @@ dependencies = [
[[package]]
name = "stardust-xr-fusion"
version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd60cde6226782ea4b2eac83740f140c59adb7ab1cc38618401e474cc1663edd"
version = "0.38.0"
dependencies = [
"anyhow",
"color-rs",
"enum_dispatch",
"flagset",
"glam",
"mint",
"nanoid",
"parking_lot 0.12.1",
@@ -1638,13 +1711,10 @@ dependencies = [
[[package]]
name = "stardust-xr-molecules"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8675431b05c71a734748badea127c2872d2f6754a2da80f418b6e53a43347ffa"
version = "0.21.0"
dependencies = [
"color-rs",
"flexbuffers",
"glam",
"glam 0.23.0",
"lazy_static",
"mint",
"rustc-hash",
@@ -1657,13 +1727,11 @@ dependencies = [
[[package]]
name = "stardust-xr-schemas"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12b2b760187d18535aadf608d6221506b1364a4fff14653f31c51a2fd6696fd9"
version = "1.4.0"
dependencies = [
"flatbuffers",
"flexbuffers",
"glam",
"glam 0.22.0",
"mint",
"ouroboros",
"serde",
@@ -1703,10 +1771,21 @@ dependencies = [
[[package]]
name = "svgtypes"
version = "0.8.2"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564"
checksum = "c9ee29c1407a5b18ccfe5f6ac82ac11bab3b14407e09c209a6c1a32098b19734"
dependencies = [
"kurbo 0.8.3",
"siphasher",
]
[[package]]
name = "svgtypes"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98ffacedcdcf1da6579c907279b4f3c5492fbce99fbbf227f5ed270a589c2765"
dependencies = [
"kurbo 0.9.0",
"siphasher",
]
@@ -1802,9 +1881,9 @@ dependencies = [
[[package]]
name = "tiny-skia"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ae12c22601b6853f4d93abb178e13bf0e1cc8e2454100c85d4d3a59ac71b3f7"
checksum = "bfef3412c6975196fdfac41ef232f910be2bb37b9dd3313a49a1a6bc815a5bdb"
dependencies = [
"arrayref",
"arrayvec",
@@ -1816,9 +1895,9 @@ dependencies = [
[[package]]
name = "tiny-skia-path"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd665853ce64402daabef6edda442dbb4f8ee93ea80957b66ba1af419f11a104"
checksum = "a4b5edac058fc98f51c935daea4d805b695b38e2f151241cad125ade2a2ac20d"
dependencies = [
"arrayref",
"bytemuck",
@@ -1827,9 +1906,9 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.24.1"
version = "1.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
dependencies = [
"autocfg",
"bytes",
@@ -1939,9 +2018,9 @@ dependencies = [
[[package]]
name = "ttf-parser"
version = "0.17.1"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff"
checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
[[package]]
name = "tween"
@@ -2011,32 +2090,29 @@ dependencies = [
[[package]]
name = "usvg"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b5b7c2b30845b3348c067ca3d09e20cc6e327c288f0ca4c48698712abf432e9"
checksum = "63b6bb4e62619d9f68aa2d8a823fea2bff302340a1f2d45c264d5b0be170832e"
dependencies = [
"base64",
"data-url",
"flate2",
"imagesize",
"kurbo",
"kurbo 0.9.0",
"log",
"rctree",
"roxmltree",
"simplecss",
"siphasher",
"rosvgtree",
"strict-num",
"svgtypes",
]
[[package]]
name = "usvg-text-layout"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c9550670848028641bf976b06f5c520ffdcd6f00ee7ee7eb0853f78e2c249d7"
checksum = "195386e01bc35f860db024de275a76e7a31afdf975d18beb6d0e44764118b4db"
dependencies = [
"fontdb",
"kurbo",
"kurbo 0.9.0",
"log",
"rustybuzz",
"unicode-bidi",

View File

@@ -15,9 +15,10 @@ lazy_static = "1.4.0"
manifest-dir-macros = "0.1.16"
mint = "0.5.9"
nix = "0.26.1"
resvg = "0.28.0"
resvg = "0.29.0"
rustc-hash = "1.1.0"
stardust-xr-molecules = "0.17.0"
stardust-xr-fusion = "0.38.0"
stardust-xr-molecules = "0.21.0"
tokio = { version = "1.24.1", features = ["full"] }
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
tween = "2.0.0"
@@ -26,3 +27,7 @@ walkdir = "2.3.2"
[dev-dependencies]
tempdir = "0.3.7"
[patch.crates-io]
stardust-xr-molecules = { path = "../../molecules" }
stardust-xr-fusion = { path = "../../core/fusion" }

View File

@@ -5,7 +5,7 @@ use protostar::{
protostar::ProtoStar,
xdg::{get_desktop_files, parse_desktop_file, DesktopFile},
};
use stardust_xr_molecules::fusion::{
use stardust_xr_fusion::{
client::{Client, FrameInfo, RootHandler},
spatial::Spatial,
};

View File

@@ -5,7 +5,7 @@ use color_eyre::{
};
use manifest_dir_macros::directory_relative_path;
use protostar::{protostar::ProtoStar, xdg::parse_desktop_file};
use stardust_xr_molecules::fusion::client::Client;
use stardust_xr_fusion::client::Client;
use std::path::PathBuf;
#[derive(Debug, Parser)]

View File

@@ -3,18 +3,16 @@ use color_eyre::eyre::{eyre, Result};
use glam::Quat;
use mint::Vector3;
use nix::unistd::{execv, fork};
use stardust_xr_molecules::{
fusion::{
client::{Client, FrameInfo, RootHandler},
core::values::Transform,
drawable::{MaterialParameter, Model, ResourceID},
fields::BoxField,
node::NodeType,
spatial::Spatial,
startup_settings::StartupSettings,
},
GrabData, Grabbable,
use stardust_xr_fusion::{
client::{Client, FrameInfo, RootHandler},
core::values::Transform,
drawable::{MaterialParameter, Model, ResourceID},
fields::BoxField,
node::NodeType,
spatial::Spatial,
startup_settings::StartupSettings,
};
use stardust_xr_molecules::{GrabData, Grabbable};
use std::{f32::consts::PI, ffi::CStr, sync::Arc};
use tween::{QuartInOut, Tweener};
use ustr::ustr;
@@ -79,8 +77,7 @@ impl ProtoStar {
match icon.as_ref() {
Some(Icon::Png(_)) => [0.05, 0.0665, 0.005],
_ => [0.05; 3],
}
.into(),
},
)?;
let grabbable = Grabbable::new(
parent,
@@ -88,6 +85,7 @@ impl ProtoStar {
&field,
GrabData {
max_distance: 0.025,
..Default::default()
},
)?;
field.set_spatial_parent(grabbable.content_parent())?;
@@ -115,7 +113,7 @@ impl ProtoStar {
}
impl RootHandler for ProtoStar {
fn frame(&mut self, info: FrameInfo) {
self.grabbable.update();
self.grabbable.update(&info);
if let Some(icon_shrink) = &mut self.icon_shrink {
if !icon_shrink.is_finished() {