From 8e4d5d8dd0b9d3b5a21929903ac58ff4d9a540d1 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Sat, 30 Nov 2024 00:19:50 +0100 Subject: [PATCH] update to bevy release, fix event support and update extension list Signed-off-by: Schmarni --- Cargo.lock | 346 ++++++++---------- Cargo.toml | 2 +- crates/bevy_openxr/examples/overlay.rs | 53 ++- crates/bevy_openxr/src/openxr/exts.rs | 23 +- .../src/openxr/features/overlay.rs | 2 +- crates/bevy_openxr/src/openxr/poll_events.rs | 11 +- 6 files changed, 196 insertions(+), 241 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34fb32f..e38e99b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,42 +4,44 @@ version = 3 [[package]] name = "accesskit" -version = "0.16.3" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99b76d84ee70e30a4a7e39ab9018e2b17a6a09e31084176cc7c0b2dec036ba45" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" [[package]] name = "accesskit_consumer" -version = "0.24.3" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a12dc159d52233c43d9fe5415969433cbdd52c3d6e0df51bda7d447427b9986" +checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" dependencies = [ "accesskit", + "hashbrown 0.15.2", "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.17.4" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc6c1ecd82053d127961ad80a8beaa6004fb851a3a5b96506d7a6bd462403f6" +checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" dependencies = [ "accesskit", "accesskit_consumer", + "hashbrown 0.15.2", "objc2", "objc2-app-kit", "objc2-foundation", - "once_cell", ] [[package]] name = "accesskit_windows" -version = "0.23.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "974e96c347384d9133427167fb8a58c340cb0496988dacceebdc1ed27071023b" +checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" dependencies = [ "accesskit", "accesskit_consumer", + "hashbrown 0.15.2", "paste", "static_assertions", "windows 0.58.0", @@ -48,9 +50,9 @@ dependencies = [ [[package]] name = "accesskit_winit" -version = "0.22.4" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aea3522719f1c44564d03e9469a8e2f3a98b3a8a880bd66d0789c6b9c4a669dd" +checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" dependencies = [ "accesskit", "accesskit_macos", @@ -184,12 +186,6 @@ dependencies = [ "libc", ] -[[package]] -name = "anyhow" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" - [[package]] name = "approx" version = "0.5.1" @@ -292,25 +288,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-io" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys 0.59.0", -] - [[package]] name = "async-lock" version = "3.4.0" @@ -375,18 +352,18 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8e850ce5420a008f058bc0edffad2c10480220708678d91df013854ba48624" +checksum = "b6a01cd51a5cd310e4e7aa6e1560b1aabf29efc6a095a01e6daa8bf0a19f1fea" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_a11y" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443a6ed74462023305a0dd799a88c5581df05f230ed9c6dc7debd92231aae7c" +checksum = "82c66b5bc82a2660a5663d85b3354ddb72c8ab2c443989333cbea146f39a4e9a" dependencies = [ "accesskit", "bevy_app", @@ -397,11 +374,10 @@ dependencies = [ [[package]] name = "bevy_animation" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e02b9d777a4d1f71e480dcdc932c89b945a8945b2894397e52c30b543828a94" +checksum = "ee48f3fc65f583e5e320e38874053e20e7a71205a62aaace5d607446781bd742" dependencies = [ - "bevy_animation_derive", "bevy_app", "bevy_asset", "bevy_color", @@ -418,6 +394,7 @@ dependencies = [ "bevy_utils", "blake3", "derive_more", + "downcast-rs", "either", "petgraph", "ron", @@ -427,23 +404,11 @@ dependencies = [ "uuid", ] -[[package]] -name = "bevy_animation_derive" -version = "0.15.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1dbda00d5c940a96993ca366cb489b00a3432d387b885442d391f7c420838b" -dependencies = [ - "bevy_macro_utils", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "bevy_app" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f037ca5cd5fd455ec110cb17d096e842cad7230c3d489f2434c3022beff5583d" +checksum = "652574e4c10efcfa70f98036709dd5b67e5cb8d46c58087ef48c2ac6b62df9da" dependencies = [ "bevy_derive", "bevy_ecs", @@ -460,9 +425,9 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf65a1e047fb303c72bc3dc524ad0fc6d50858759934e1c34ba77452375e8f4" +checksum = "4d7d501eda01be6d500d843a06d9b9800c3f0fffaae3c29d17d9e4e172c28d37" dependencies = [ "async-broadcast", "async-fs", @@ -497,9 +462,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850737671990e7d73d0cff461e246347d8207ea7fc8468e4fa0d388c30c96ac3" +checksum = "7474b77fc27db11ec03d49ca04f1a7471f369dc373fd5e091a12ad7ab533d8c8" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -509,9 +474,9 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b0af3841b62e88c3b965e3b38412b5a28476249bf05ef2d0edab1b81b5e498" +checksum = "20e378c4005d9c47b7ebaf637a6a197e3953463615516ab709ba8b0c3c215c2e" dependencies = [ "bevy_app", "bevy_asset", @@ -528,9 +493,9 @@ dependencies = [ [[package]] name = "bevy_color" -version = "0.15.0-rc.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d916eabd2b5ed453e739b075b5cc9a07ff04d69b231974e6b2a050a38cc7db5" +checksum = "87bccacba27db37375eb97ffc86e91a7d95db3f5faa6a834fa7306db02cde327" dependencies = [ "bevy_math", "bevy_reflect", @@ -543,9 +508,9 @@ dependencies = [ [[package]] name = "bevy_core" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01967cdcbabb12beadc9fdebfb94edd629390b5e4ad0ad36602434363da9a24b" +checksum = "ecccf7be33330f58d4c7033b212a25c414d388e3a8d55b61331346da5dbabf22" dependencies = [ "bevy_app", "bevy_ecs", @@ -557,9 +522,9 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906e078fae9c6b3af37737ed5ba97f16a1f7cbc44b34144c701fcb43fe15439d" +checksum = "8a3fb9f84fa60c2006d4a15e039c3d08d4d10599441b9175907341a77a69d627" dependencies = [ "bevy_app", "bevy_asset", @@ -584,9 +549,9 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705ccd9cc85510faa67d0261e57b6fe196465f372ec9b6e9fe88642737fe652d" +checksum = "e141b7eda52a23bb88740b37a291e26394524cb9ee3b034c7014669671fc2bb5" dependencies = [ "bevy_macro_utils", "quote", @@ -595,9 +560,9 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570e296eee8be3230059c8dc396f7be1bcba7cc01fb0a96d530389d14514a5fb" +checksum = "fa97748337405089edfb2857f7608f21bcc648a7ad272c9209808aad252ed542" dependencies = [ "bevy_app", "bevy_core", @@ -611,9 +576,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d0e0972c55694ec8eb58a7a7345588a5f8cc77002cd39b0a1bed01d6bdefc" +checksum = "cb4c4b60d2a712c6d5cbe610bac7ecf0838fc56a095fd5b15f30230873e84f15" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -634,9 +599,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7c1e5d04c7e51105d262775cab02518ea20e2d44e037af892e33fe2e7346a3" +checksum = "cb4296b3254b8bd29769f6a4512731b2e6c4b163343ca18b72316927315b6096" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -646,9 +611,9 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59449eb107c9354d2ba227f04889a2578b9f6f9d8eb26d81e3346b45137b86f2" +checksum = "bfe562b883fb652acde84cb6bb01cbc9f23c377e411f1484467ecfdd3a3d234e" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -656,9 +621,9 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbc844d475260de2b2a7a4d25258e45a004b3130f5a59ca154de1a219f402e8" +checksum = "adc3a5f9e872133d7f5c2fab82e17781c19ed0b98f371362a23ed972bb538d20" dependencies = [ "bevy_app", "bevy_ecs", @@ -671,9 +636,9 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5fd067b32e6b6aefdfb5b239d547b0921c8c5f8c2fa4a7762349b151f919f9" +checksum = "e1c82341f6a3517efeeeef2fe68135ac3a91b11b6e369fc1a07f6e9a4b462b57" dependencies = [ "bevy_app", "bevy_asset", @@ -681,6 +646,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_ecs", "bevy_gizmos_macros", + "bevy_image", "bevy_math", "bevy_pbr", "bevy_reflect", @@ -694,9 +660,9 @@ dependencies = [ [[package]] name = "bevy_gizmos_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f70a1bcd58c4ca067738d66837a18b4a57c6b25c1cf2f0bd66cca98dfe87e5b" +checksum = "9454ac9f0a2141900ef9f3482af9333e490d5546bbea3cab63a777447d35beed" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -706,9 +672,9 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8efaa3887d9b1f7635fcc95109d1738573412b666065b86ae42cc21251c2399f" +checksum = "b21ed694796a001a5cf63de9ddc62fc017302b0e2998a361ef1126880ec93555" dependencies = [ "base64 0.22.1", "bevy_animation", @@ -738,9 +704,9 @@ dependencies = [ [[package]] name = "bevy_hierarchy" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53dec1d455b8be41eb918e7bf081972d6e02ba5660502e11ed107ed25f7982b8" +checksum = "6fe0b538beea7edbf30a6062242b99e67ff3bfa716566aacf91d5b5e027f02a2" dependencies = [ "bevy_app", "bevy_core", @@ -753,9 +719,9 @@ dependencies = [ [[package]] name = "bevy_image" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef230cdd23c883c0fc269093358d4dac0a0d339d493edc87b952f86149d0e60" +checksum = "db46fa6a2f9e20435f3231710abbb136d2cc0a376f3f8e6ecfe071e286f5a246" dependencies = [ "bevy_asset", "bevy_color", @@ -775,9 +741,9 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dc505f1c055b711c08b80d37f10d98151aafca9fcb6b153ee00c7a4dcae3f75" +checksum = "46b4ea60095d1a1851e40cb12481ad3d5d234e14376d6b73142a85586c266b74" dependencies = [ "bevy_app", "bevy_core", @@ -791,9 +757,9 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ad66535730bc578a82aa7c006107c9027108ff76903acfd55c69c3ff365298" +checksum = "d4237e6e9b03902321032f00f931f18a4a211093bd9a7cf81276a0228a2a4417" dependencies = [ "bevy_a11y", "bevy_animation", @@ -818,7 +784,6 @@ dependencies = [ "bevy_picking", "bevy_ptr", "bevy_reflect", - "bevy_remote", "bevy_render", "bevy_scene", "bevy_sprite", @@ -835,9 +800,9 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2d8a9f9f6875598e986ac8de8d17873871eb6e816d7842f32da204cd074b9f1" +checksum = "1a0bdb42b00ac3752f0d6f531fbda8abf313603157a7b3163da8529412119a0a" dependencies = [ "android_log-sys", "bevy_app", @@ -851,9 +816,9 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5594703cac7b78469f2691652c562f190b24a4f3cb78f862d9c98e98bfb804" +checksum = "3954dbb56a66a6c09c783e767f6ceca0dc0492c22e536e2aeaefb5545eac33c6" dependencies = [ "proc-macro2", "quote", @@ -863,9 +828,9 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a696cc7629ca5ce5ffb416ae5c868ae8e3cfcb0a51739296c91a776a355297" +checksum = "9ae26f952598e293acac783d947b21af1809673cbeba25d76b969a56f287160b" dependencies = [ "bevy_reflect", "derive_more", @@ -879,9 +844,9 @@ dependencies = [ [[package]] name = "bevy_mesh" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e798db51029ff3f7f41eef55f77265ce4a77868acce1ef8c4d6fb8030410726d" +checksum = "9c324d45ca0043a4696d7324b569de65be17066ed3a97dd42205bc28693d20b5" dependencies = [ "bevy_asset", "bevy_derive", @@ -902,9 +867,9 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa55db38ee370b8a01675e61ac7112d59ee2f31305cc7c7f0cfb3acab0d0354" +checksum = "da5ea3ad25d74ea36ea45418ad799f135d046db35c322b9704c4a8934eb65ce9" dependencies = [ "glam", ] @@ -957,9 +922,9 @@ dependencies = [ [[package]] name = "bevy_pbr" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbddf2fdeee2ed28a764210162ecac00e635a67f1b1d3235ba588699a4e53ca" +checksum = "01b3bd8e646ddd3f27743b712957d2990d7361eb21044accc47c4f66711bf2cb" dependencies = [ "bevy_app", "bevy_asset", @@ -967,6 +932,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_image", "bevy_math", "bevy_reflect", "bevy_render", @@ -985,9 +951,9 @@ dependencies = [ [[package]] name = "bevy_picking" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71585d3e9cf557cf2b32190aa92b001d100144e1bed60e185c09790169f80bcb" +checksum = "97a137ed706574dc4a01cac527eb2c44a0b0e477d5bce3afc892a9ee95ee0078" dependencies = [ "bevy_app", "bevy_asset", @@ -1009,15 +975,15 @@ dependencies = [ [[package]] name = "bevy_ptr" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bba1b455f5a688bf70fd712c4e40068014287964b865a31080c6a8e6db5eecb" +checksum = "2af9e30b40fb3f0a80a658419f670f2de1e743efcaca1952c43cdcc923287944" [[package]] name = "bevy_reflect" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a24644d96fcff7f1c141e87f08586c97dada3f7142552cb1d615631cf7f9d52" +checksum = "52a37e2ae5ed62df4a0e3f958076effe280b39bc81fe878587350897a89332a2" dependencies = [ "assert_type_match", "bevy_ptr", @@ -1037,9 +1003,9 @@ dependencies = [ [[package]] name = "bevy_reflect_derive" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e282d0186ac099a2cb91d9320dadd9fcdf52a8c3e565b9b6d86e7dc22fa11996" +checksum = "94c683fc68c75fc26f90bb1e529590095380d7cec66f6610dbe6b93d9fd26f94" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1048,34 +1014,11 @@ dependencies = [ "uuid", ] -[[package]] -name = "bevy_remote" -version = "0.15.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8557de19918af71897cef3dbe33d6cc6f400e818af4b8d9198e0b6bc555f3510" -dependencies = [ - "anyhow", - "async-channel", - "async-io", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "http-body-util", - "hyper", - "serde", - "serde_json", - "smol-hyper", -] - [[package]] name = "bevy_render" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d74663d2c95823d7b354fc01b9ce5eecd197c9191ff8f665c08c78f9d69942" +checksum = "d188f392edf4edcae53dfda07f3ec618a7a704183ec3f2e8504657a9fb940c8a" dependencies = [ "async-channel", "bevy_app", @@ -1120,9 +1063,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66e09c0ea65f28b0b790690a588b74adbf89899f37531c7062a55805a1214a" +checksum = "4ab37ee2945f93e9ba8daf91cd968b4cba9c677ac51d349dd8512a107a9a5d92" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1132,9 +1075,9 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0521c672d32480a789d8b00c950f4690336b38babc630a25fbd016c0e32c6d3" +checksum = "0e883fd3c6d6e7761f1fe662e79bc7bdc7e917e73e7bfc434b1d16d2a5852119" dependencies = [ "bevy_app", "bevy_asset", @@ -1152,9 +1095,9 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ec69e32c0bae51346de8a91ca0d7bb572967c2da0f924af14a174ebce1fd60d" +checksum = "e975abc3f3f3432d6ad86ae32de804e96d7faf59d27f32b065b5ddc1e73ed7e1" dependencies = [ "bevy_app", "bevy_asset", @@ -1162,6 +1105,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_image", "bevy_math", "bevy_picking", "bevy_reflect", @@ -1181,9 +1125,9 @@ dependencies = [ [[package]] name = "bevy_state" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e127e147f4336bf12eeaade1dabc18f3473a9dd77c154f7a0478887384633ae" +checksum = "036ec832197eae51b8a842220d2df03591dff75b4566dcf0f81153bbcb2b593b" dependencies = [ "bevy_app", "bevy_ecs", @@ -1195,9 +1139,9 @@ dependencies = [ [[package]] name = "bevy_state_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20eba83d61d49d86904fa828bfbab2b37dd126f58c8a5f2e928d913484f9d18a" +checksum = "2828eb6762af9eccfebb5e4a0e56dbc4bd07bf3192083fa3e8525cfdb3e95add" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1207,9 +1151,9 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35a350a7ffdd7150bd16f903780464b313b136ae6c17437e2f2b4c7c2bb9890e" +checksum = "5171c605b462b4e3249e01986505e62e3933aa27642a9f793c841814fcbbfb4f" dependencies = [ "async-channel", "async-executor", @@ -1222,9 +1166,9 @@ dependencies = [ [[package]] name = "bevy_text" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13f2e64593cb976b357d8134c2d17b1a25cad6b2a7f920d2ba6b6fc183a3f1d" +checksum = "4fb000b2abad9f82f7a137fac7e0e3d2c6488cbf8dd9ddbb68f9a6b7e7af8d84" dependencies = [ "bevy_app", "bevy_asset", @@ -1232,6 +1176,7 @@ dependencies = [ "bevy_derive", "bevy_ecs", "bevy_hierarchy", + "bevy_image", "bevy_math", "bevy_reflect", "bevy_render", @@ -1249,9 +1194,9 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812a471a73b4b25a8630f67b891f714f2fc8998e00a9987caad8916eba3e7294" +checksum = "291b6993b899c04554fc034ebb9e0d7fde9cb9b2fb58dcd912bfa6247abdedbb" dependencies = [ "bevy_app", "bevy_ecs", @@ -1262,9 +1207,9 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eef74f21fd938b63c8dcb4d582bb4fd96af9630d289f71624e72e426fe37db2" +checksum = "dc35665624d0c728107ab0920d5ad2d352362b906a8c376eaf375ec9c751faf4" dependencies = [ "bevy_app", "bevy_ecs", @@ -1276,12 +1221,12 @@ dependencies = [ [[package]] name = "bevy_ui" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7206ca33419b9745b6a9588a69cbb34cee6f6fe01a4df9dbe68860879449a0e0" +checksum = "43da3326aa592d6f6326e31893901bf17cd6957ded4e0ea02bc54652e5624b7f" dependencies = [ + "accesskit", "bevy_a11y", - "bevy_animation", "bevy_app", "bevy_asset", "bevy_color", @@ -1289,6 +1234,7 @@ dependencies = [ "bevy_derive", "bevy_ecs", "bevy_hierarchy", + "bevy_image", "bevy_input", "bevy_math", "bevy_picking", @@ -1308,14 +1254,14 @@ dependencies = [ [[package]] name = "bevy_utils" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e73bb014ee7754c8e6de9a89206139482a0aac29db0fa416f8fbcb640985314" +checksum = "a0a48bad33c385a7818b7683a16c8b5c6930eded05cd3f176264fc1f5acea473" dependencies = [ "ahash", "bevy_utils_proc_macros", "getrandom", - "hashbrown", + "hashbrown 0.14.5", "thread_local", "tracing", "web-time", @@ -1323,9 +1269,9 @@ dependencies = [ [[package]] name = "bevy_utils_proc_macros" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ae93d5e25b072af3637f3e1c83865c59d8a8e77a5ab87465e4a00dd4766d0d" +checksum = "3dfd8d4a525b8f04f85863e45ccad3e922d4c11ed4a8d54f7f62a40bf83fb90f" dependencies = [ "proc-macro2", "quote", @@ -1334,9 +1280,9 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc64e1a8acd775c78db7a1c6afb8f4ec31ffce7e61bd39bbc19a3177ac4276cc" +checksum = "05f3520279aae65935d6a84443202c154ead3abebf8dae906d095665162de358" dependencies = [ "android-activity", "bevy_a11y", @@ -1352,10 +1298,11 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.15.0-rc.3" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e05f94f7b207237b9f5903946e5969ea01b70e8b557aa2126f7903ce14780db" +checksum = "581bb2249a82285707e0977a9a1c79a2248ede587fcb289708faa03a82ebfa7f" dependencies = [ + "accesskit", "accesskit_winit", "approx", "bevy_a11y", @@ -1421,7 +1368,7 @@ dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -2262,6 +2209,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "font-types" version = "0.7.3" @@ -2605,7 +2558,7 @@ checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -2663,6 +2616,15 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "foldhash", +] + [[package]] name = "hermit-abi" version = "0.3.9" @@ -2740,12 +2702,6 @@ version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyper" version = "1.4.1" @@ -2759,7 +2715,6 @@ dependencies = [ "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -2844,9 +2799,9 @@ dependencies = [ [[package]] name = "immutable-chunkmap" -version = "2.0.5" +version = "2.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4419f022e55cc63d5bbd6b44b71e1d226b9c9480a47824c706e9d54e5c40c5eb" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" dependencies = [ "arrayvec", ] @@ -2858,7 +2813,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -4526,19 +4481,6 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "smol-hyper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7428a49d323867702cd12b97b08a6b0104f39ec13b49117911f101271321bc1a" -dependencies = [ - "async-executor", - "async-io", - "futures-io", - "hyper", - "pin-project-lite", -] - [[package]] name = "smol_str" version = "0.2.2" @@ -5253,9 +5195,9 @@ dependencies = [ [[package]] name = "wgpu" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ab52f2d3d18b70d5ab8dd270a1cff3ebe6dbe4a7d13c1cc2557138a9777fdc" +checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" dependencies = [ "arrayvec", "cfg_aliases 0.1.1", @@ -5278,9 +5220,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0c68e7b6322a03ee5b83fcd92caeac5c2a932f6457818179f4652ad2a9c065" +checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" dependencies = [ "arrayvec", "bit-vec 0.8.0", @@ -5303,9 +5245,9 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6e7266b869de56c7e3ed72a954899f71d14fec6cc81c102b7530b92947601b" +checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" dependencies = [ "android_system_properties", "arrayvec", diff --git a/Cargo.toml b/Cargo.toml index aa68360..4c7e32c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ resolver = "2" members = ["crates/*", "crates/bevy_openxr/examples/android"] [workspace.dependencies] -bevy = { version = "0.15.0-rc.3", default-features = false, features = [ +bevy = { version = "0.15", default-features = false, features = [ "bevy_render", "bevy_core_pipeline", "bevy_winit", diff --git a/crates/bevy_openxr/examples/overlay.rs b/crates/bevy_openxr/examples/overlay.rs index d19b235..800a7b6 100644 --- a/crates/bevy_openxr/examples/overlay.rs +++ b/crates/bevy_openxr/examples/overlay.rs @@ -1,10 +1,11 @@ //! A simple 3D scene with light shining over a cube sitting on a plane. use bevy::prelude::*; -use bevy_mod_openxr::{add_xr_plugins, init::OxrInitPlugin, types::OxrExtensions}; -use bevy_mod_xr::session::XrState; -// use openxr::EnvironmentBlendMode; -// use wgpu::TextureFormat; +use bevy_mod_openxr::{ + add_xr_plugins, features::overlay::OxrOverlaySessionEvent, init::OxrInitPlugin, + types::OxrExtensions, +}; +use openxr::EnvironmentBlendMode; fn main() { App::new() @@ -12,32 +13,32 @@ fn main() { exts: { let mut exts = OxrExtensions::default(); exts.enable_hand_tracking(); - exts.other.push("XR_EXTX_overlay\0".into()); + exts.extx_overlay = true; exts }, - // blend_modes: Some({ - // let mut v = Vec::new(); - // v.push(EnvironmentBlendMode::ALPHA_BLEND); - // v.push(EnvironmentBlendMode::ADDITIVE); - // v.push(EnvironmentBlendMode::OPAQUE); - // v - // }), - // formats: Some({ - // let mut v = Vec::new(); - // // v.push(TextureFormat::Rgba8Uint); - // v.push(TextureFormat::Rgba8Unorm); - // v.push(TextureFormat::Rgba8UnormSrgb); - // v - // }), + blend_modes: Some({ + vec![ + EnvironmentBlendMode::ALPHA_BLEND, + EnvironmentBlendMode::OPAQUE, + ] + }), ..OxrInitPlugin::default() })) .insert_resource(ClearColor(Color::NONE)) .add_plugins(bevy_xr_utils::hand_gizmos::HandGizmosPlugin) .add_systems(Startup, setup) .add_systems(Update, handle_input) + .add_systems(Update, print_main_session_changes) .run(); } +fn print_main_session_changes(mut events: EventReader) { + for event in events.read() { + let OxrOverlaySessionEvent::MainSessionVisibilityChanged { visible, flags: _ } = event; + info!("main session visible: {visible}"); + } +} + fn handle_input( keys: Res>, mut end: EventWriter, @@ -45,7 +46,6 @@ fn handle_input( mut begin: EventWriter, mut create: EventWriter, mut request_exit: EventWriter, - state: Res, ) { if keys.just_pressed(KeyCode::KeyE) { info!("sending end"); @@ -67,9 +67,6 @@ fn handle_input( info!("sending request exit"); request_exit.send_default(); } - if keys.just_pressed(KeyCode::KeyI) { - info!("current state: {:?}", *state); - } } /// set up a simple 3D scene @@ -78,12 +75,6 @@ fn setup( mut meshes: ResMut>, mut materials: ResMut>, ) { - // circular base - // commands.spawn(( - // Mesh3d(meshes.add(Circle::new(4.0))), - // MeshMaterial3d(materials.add(Color::WHITE)), - // Transform::from_rotation(Quat::from_rotation_x(-std::f32::consts::FRAC_PI_2)), - // )); // cube commands.spawn(( Mesh3d(meshes.add(Cuboid::new(1.0, 1.0, 1.0))), @@ -92,11 +83,11 @@ fn setup( )); // light commands.spawn(( - PointLight { + PointLight { shadows_enabled: true, ..default() }, - Transform::from_xyz(4.0, 8.0, 4.0), + Transform::from_xyz(4.0, 8.0, 4.0), )); commands.spawn(( Camera3d::default(), diff --git a/crates/bevy_openxr/src/openxr/exts.rs b/crates/bevy_openxr/src/openxr/exts.rs index dc96399..886df53 100644 --- a/crates/bevy_openxr/src/openxr/exts.rs +++ b/crates/bevy_openxr/src/openxr/exts.rs @@ -1,4 +1,7 @@ -use bevy::{ecs::system::Resource, prelude::{Deref, DerefMut}}; +use bevy::{ + ecs::system::Resource, + prelude::{Deref, DerefMut}, +}; use openxr::ExtensionSet; #[derive(Clone, Debug, Eq, PartialEq, Deref, DerefMut, Resource)] @@ -196,6 +199,8 @@ macro_rules! impl_ext { ext_local_floor, ext_hand_tracking_data_source, ext_plane_detection, + ext_future, + ext_user_presence, fb_composition_layer_image_layout, fb_composition_layer_alpha_blend, #[cfg(target_os = "android")] @@ -238,6 +243,7 @@ macro_rules! impl_ext { fb_composition_layer_depth_test, fb_spatial_entity_storage_batch, fb_spatial_entity_user, + fb_face_tracking2, htc_vive_cosmos_controller_interaction, htc_facial_tracking, htc_vive_focus3_controller_interaction, @@ -245,6 +251,7 @@ macro_rules! impl_ext { htc_vive_wrist_tracker_interaction, htc_passthrough, htc_foveation, + htc_anchor, huawei_controller_interaction, #[cfg(target_os = "android")] khr_android_thread_settings, @@ -276,6 +283,8 @@ macro_rules! impl_ext { khr_composition_layer_equirect2, khr_binding_modification, khr_swapchain_usage_input_attachment_bit, + khr_locate_spaces, + khr_maintenance1, meta_foveation_eye_tracked, meta_local_dimming, meta_passthrough_preferences, @@ -283,11 +292,18 @@ macro_rules! impl_ext { meta_vulkan_swapchain_create_info, meta_performance_metrics, meta_headset_id, + meta_recommended_layer_resolution, meta_passthrough_color_lut, + meta_spatial_entity_mesh, + meta_automatic_layer_filter, + meta_touch_controller_plus, + meta_environment_depth, ml_ml2_controller_interaction, ml_frame_end_info, ml_global_dimmer, ml_compat, + ml_marker_understanding, + ml_localization_map, ml_user_calibration, mnd_headless, mnd_swapchain_usage_input_attachment_bit, @@ -319,7 +335,12 @@ macro_rules! impl_ext { varjo_environment_depth_estimation, varjo_marker_tracking, varjo_view_offset, + varjo_xr4_controller_interaction, yvr_controller_interaction, + extx_overlay, + mndx_egl_enable, + mndx_force_feedback_curl, + htcx_vive_tracker_interaction, } )* diff --git a/crates/bevy_openxr/src/openxr/features/overlay.rs b/crates/bevy_openxr/src/openxr/features/overlay.rs index dfca5d3..e6072e7 100644 --- a/crates/bevy_openxr/src/openxr/features/overlay.rs +++ b/crates/bevy_openxr/src/openxr/features/overlay.rs @@ -55,7 +55,7 @@ fn add_overlay_info_to_chain( exts: Res, settings: Res, ) { - if exts.other.contains(&"XR_EXTX_overlay\0".to_string()) { + if exts.extx_overlay { chain.push(OxrSessionCreateInfoOverlay::new( settings.flags, settings.session_layer_placement, diff --git a/crates/bevy_openxr/src/openxr/poll_events.rs b/crates/bevy_openxr/src/openxr/poll_events.rs index 4b4d696..c2eac26 100644 --- a/crates/bevy_openxr/src/openxr/poll_events.rs +++ b/crates/bevy_openxr/src/openxr/poll_events.rs @@ -45,15 +45,16 @@ use super::{openxr_session_available, resources::OxrInstance}; pub struct OxrEventHandlers { pub handlers: Vec, } -pub type OxrEventHandler = SystemId; +pub type OxrEventHandler = SystemId, ()>; pub struct OxrEvent { event: Rc>>>, } impl OxrEvent { - pub(crate) fn new<'a>(event: Rc>>>) -> Self { + pub(crate) fn new(event: Rc>>>) -> Self { Self { + #[allow(clippy::missing_transmute_annotations)] event: unsafe { mem::transmute(event) }, } } @@ -63,19 +64,19 @@ impl OxrEvent { /// don't Store the [Event] anywhere!! #[allow(clippy::needless_lifetimes)] pub unsafe fn get<'a>(&'a self) -> Option> { - self.event.borrow().clone() + *self.event.borrow() } } pub trait OxrEventHandlerExt { fn add_oxr_event_handler( &mut self, - system: impl IntoSystem + 'static, + system: impl IntoSystem, (), M> + 'static, ) -> &mut Self; } impl OxrEventHandlerExt for App { fn add_oxr_event_handler( &mut self, - system: impl IntoSystem + 'static, + system: impl IntoSystem, (), M> + 'static, ) -> &mut Self { self.init_resource::(); let id = self.register_system(system);