feat: update to bevy 0.17 and use individual bevy crates

Signed-off-by: Schmarni <marnistromer@gmail.com>
This commit is contained in:
Schmarni
2025-10-19 16:13:59 +02:00
parent 9fd0c79759
commit eb3ec03d91
45 changed files with 1581 additions and 986 deletions

View File

@@ -1,7 +1,8 @@
use bevy::prelude::*;
use bevy::render::Render;
use bevy::render::RenderApp;
use bevy::render::RenderSet;
use bevy_log::error;
use bevy_log::info;
use bevy_render::Render;
use bevy_render::RenderApp;
use bevy_render::RenderSystems;
use openxr::sys::SystemPassthroughProperties2FB;
use openxr::PassthroughCapabilityFlagsFB;
@@ -105,7 +106,7 @@ pub fn supports_passthrough(instance: &OxrInstance, system: OxrSystemId) -> OxrR
system.0,
p.as_mut_ptr(),
))?;
bevy::log::info!(
info!(
"From supports_passthrough: Passthrough capabilities: {:?}",
properties.capabilities
);

View File

@@ -1,4 +1,12 @@
use bevy::prelude::*;
use bevy_app::{App, Plugin, PreUpdate, Startup};
use bevy_derive::{Deref, DerefMut};
use bevy_ecs::component::Component;
use bevy_ecs::entity::Entity;
use bevy_ecs::query::{Or, With};
use bevy_ecs::schedule::IntoScheduleConfigs as _;
use bevy_ecs::system::{Commands, Query, Res};
use bevy_ecs::world::World;
use bevy_log::{debug, error, warn};
use bevy_mod_xr::hands::{
spawn_hand_bones, HandBone, HandSide, SpawnHandTracker, SpawnHandTrackerCommandExecutor,
XrHandBoneRadius,
@@ -9,6 +17,7 @@ use bevy_mod_xr::spaces::{
XrPrimaryReferenceSpace, XrReferenceSpace, XrSpaceLocationFlags, XrSpaceSyncSet,
XrSpaceVelocityFlags, XrVelocity,
};
use bevy_transform::components::Transform;
use openxr::{SpaceLocationFlags, SpaceVelocityFlags};
use crate::helper_traits::ToVec3;

View File

@@ -1,6 +1,7 @@
use std::{mem, ptr};
use bevy::prelude::*;
use bevy_app::{App, First, Plugin};
use bevy_ecs::{message::{Message, MessageWriter}, resource::Resource, schedule::IntoScheduleConfigs as _, system::{NonSendMut, Res}};
use openxr::{sys, Event};
use crate::{
@@ -14,8 +15,8 @@ use crate::{
pub struct OxrOverlayPlugin;
impl Plugin for OxrOverlayPlugin {
fn build(&self, app: &mut bevy::prelude::App) {
app.add_event::<OxrOverlaySessionEvent>();
fn build(&self, app: &mut App) {
app.add_message::<OxrOverlaySessionMessage>();
app.init_resource::<OxrOverlaySettings>();
app.add_systems(
First,
@@ -25,9 +26,9 @@ impl Plugin for OxrOverlayPlugin {
}
}
fn handle_overlay_event(event: OxrEventIn, mut writer: EventWriter<OxrOverlaySessionEvent>) {
fn handle_overlay_event(event: OxrEventIn, mut writer: MessageWriter<OxrOverlaySessionMessage>) {
if let Event::MainSessionVisibilityChangedEXTX(event) = *event {
writer.write(OxrOverlaySessionEvent::MainSessionVisibilityChanged {
writer.write(OxrOverlaySessionMessage::MainSessionVisibilityChanged {
visible: event.visible(),
flags: event.flags(),
});
@@ -62,8 +63,8 @@ fn add_overlay_info_to_chain(
}
}
#[derive(Event, Clone, Copy, Debug)]
pub enum OxrOverlaySessionEvent {
#[derive(Message, Clone, Copy, Debug)]
pub enum OxrOverlaySessionMessage {
MainSessionVisibilityChanged {
visible: bool,
flags: openxr::OverlayMainSessionFlagsEXTX,