diff --git a/editor.ron b/editor.ron index 5ec76bc..326bbf0 100644 --- a/editor.ron +++ b/editor.ron @@ -1,6 +1,8 @@ { - "space_editor_core::hotkeys::HotkeySet": "{\"space_editor_core::hotkeys::HotkeySet\":(bindings:{Rotate:[R],Translate:[G],Scale:[S],Multiple:[ShiftLeft],Clone:[AltLeft],Delete:[X]},name:\"GizmoHotkey\")}", - "space_undo::ChangeChainSettings": "{\"space_undo::ChangeChainSettings\":(max_change_chain_size:200)}", "space_persistence::PersistenceSettings": "{\"space_persistence::PersistenceSettings\":(load_on_startup:true,save_on_close:true)}", + "space_undo::ChangeChainSettings": "{\"space_undo::ChangeChainSettings\":(max_change_chain_size:200)}", + "space_editor_core::hotkeys::HotkeySet": "{\"space_editor_core::hotkeys::HotkeySet\":(bindings:{Rotate:[R],Translate:[G],Scale:[S],Multiple:[ShiftLeft],Clone:[AltLeft],Delete:[X]},name:\"GizmoHotkey\")}", + "space_editor_ui::sizing::Sizing": "{\"space_editor_ui::sizing::Sizing\":(icon:Regular,gizmos:Gizmos,text:14.0)}", + "space_editor_ui::settings::GameModeSettings": "{\"space_editor_ui::settings::GameModeSettings\":(mode:Game3D)}", "space_editor_ui::settings::NewWindowSettings": "{\"space_editor_ui::settings::NewWindowSettings\":(new_tab:SameNode)}", } \ No newline at end of file diff --git a/studio/assets/gltf/base-human-male.gltf.meta b/studio/assets/gltf/base-human-male.gltf.meta deleted file mode 100644 index cd8fcb1..0000000 --- a/studio/assets/gltf/base-human-male.gltf.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_gltf::loader::GltfLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/gltf/sample-room.bin.meta b/studio/assets/gltf/sample-room.bin.meta deleted file mode 100644 index 0799eb9..0000000 --- a/studio/assets/gltf/sample-room.bin.meta +++ /dev/null @@ -1,4 +0,0 @@ -( - meta_format_version: "1.0", - asset: Ignore, -) \ No newline at end of file diff --git a/studio/assets/gltf/sample-room.gltf.meta b/studio/assets/gltf/sample-room.gltf.meta deleted file mode 100644 index cd8fcb1..0000000 --- a/studio/assets/gltf/sample-room.gltf.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_gltf::loader::GltfLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/README.md.meta b/studio/assets/skyboxes/README.md.meta deleted file mode 100644 index 0799eb9..0000000 --- a/studio/assets/skyboxes/README.md.meta +++ /dev/null @@ -1,4 +0,0 @@ -( - meta_format_version: "1.0", - asset: Ignore, -) \ No newline at end of file diff --git a/studio/assets/skyboxes/gum_trees_4k.hdr.meta b/studio/assets/skyboxes/gum_trees_4k.hdr.meta deleted file mode 100644 index 24764c1..0000000 --- a/studio/assets/skyboxes/gum_trees_4k.hdr.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::hdr_texture_loader::HdrTextureLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/gum_trees_4k_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/gum_trees_4k_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/gum_trees_4k_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/gum_trees_4k_specular.zstd.ktx2.meta b/studio/assets/skyboxes/gum_trees_4k_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/gum_trees_4k_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/kloofendal_28d_misty_4k.hdr.meta b/studio/assets/skyboxes/kloofendal_28d_misty_4k.hdr.meta deleted file mode 100644 index 24764c1..0000000 --- a/studio/assets/skyboxes/kloofendal_28d_misty_4k.hdr.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::hdr_texture_loader::HdrTextureLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/kloofendal_28d_misty_4k_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/kloofendal_28d_misty_4k_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/kloofendal_28d_misty_4k_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/kloofendal_28d_misty_4k_specular.zstd.ktx2.meta b/studio/assets/skyboxes/kloofendal_28d_misty_4k_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/kloofendal_28d_misty_4k_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/meadow_4k.hdr.meta b/studio/assets/skyboxes/meadow_4k.hdr.meta deleted file mode 100644 index 24764c1..0000000 --- a/studio/assets/skyboxes/meadow_4k.hdr.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::hdr_texture_loader::HdrTextureLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/meadow_4k_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/meadow_4k_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/meadow_4k_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/meadow_4k_specular.zstd.ktx2.meta b/studio/assets/skyboxes/meadow_4k_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/meadow_4k_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/promenade_de_vidy_4k.hdr.meta b/studio/assets/skyboxes/promenade_de_vidy_4k.hdr.meta deleted file mode 100644 index 24764c1..0000000 --- a/studio/assets/skyboxes/promenade_de_vidy_4k.hdr.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::hdr_texture_loader::HdrTextureLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/promenade_de_vidy_4k_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/promenade_de_vidy_4k_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/promenade_de_vidy_4k_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/promenade_de_vidy_4k_specular.zstd.ktx2.meta b/studio/assets/skyboxes/promenade_de_vidy_4k_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/promenade_de_vidy_4k_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/scythian_tombs_4k.hdr.meta b/studio/assets/skyboxes/scythian_tombs_4k.hdr.meta deleted file mode 100644 index 24764c1..0000000 --- a/studio/assets/skyboxes/scythian_tombs_4k.hdr.meta +++ /dev/null @@ -1,7 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::hdr_texture_loader::HdrTextureLoader", - settings: (), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/scythian_tombs_4k_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/scythian_tombs_4k_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/scythian_tombs_4k_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/scythian_tombs_4k_specular.zstd.ktx2.meta b/studio/assets/skyboxes/scythian_tombs_4k_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/scythian_tombs_4k_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/test_scene_diffuse.zstd.ktx2.meta b/studio/assets/skyboxes/test_scene_diffuse.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/test_scene_diffuse.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/assets/skyboxes/test_scene_specular.zstd.ktx2.meta b/studio/assets/skyboxes/test_scene_specular.zstd.ktx2.meta deleted file mode 100644 index 7bd16e5..0000000 --- a/studio/assets/skyboxes/test_scene_specular.zstd.ktx2.meta +++ /dev/null @@ -1,11 +0,0 @@ -( - meta_format_version: "1.0", - asset: Load( - loader: "bevy_render::texture::image_loader::ImageLoader", - settings: ( - format: FromExtension, - is_srgb: true, - sampler: Default, - ), - ), -) \ No newline at end of file diff --git a/studio/src/anim/camera.rs b/studio/src/anim/camera.rs index eab3be6..ce3e368 100644 --- a/studio/src/anim/camera.rs +++ b/studio/src/anim/camera.rs @@ -84,7 +84,7 @@ fn draw_camera_keyframes( let t = seek_time.inv_lerp(timestamp_a.0, timestamp_b.0); let (_, rot_a, pos_a) = xform_a.to_scale_rotation_translation(); let (_, rot_b, pos_b) = xform_b.to_scale_rotation_translation(); - let pos = t.lerp(pos_a, pos_b); + let pos = pos_a.lerp(pos_b, t); let rot = Quat::slerp(rot_a, rot_b, t); gizmos.sphere(pos, rot, 0.25, Color::WHITE); diff --git a/studio/src/bvh/mod.rs b/studio/src/bvh/mod.rs index 675a283..cd859d2 100644 --- a/studio/src/bvh/mod.rs +++ b/studio/src/bvh/mod.rs @@ -1,11 +1,29 @@ +use std::ops::{Deref, DerefMut}; + use bevy::{ + app::{App, Plugin, PostUpdate, Update}, + asset::{Asset, AssetApp, AssetEvent, Assets, Handle}, + core::Name, ecs::{ - query::{QueryData, QueryFilter, WorldQuery}, - system::Command, + component::Component, + entity::Entity, + event::{Event, EventReader, EventWriter}, + query::{QueryData, QueryFilter, With, Without, WorldQuery}, + schedule::{apply_deferred, IntoSystemConfigs}, + system::{Command, Commands, Query, Res, Resource}, + world::World, + }, + hierarchy::{BuildWorldChildren, Children}, + math::{EulerRot, Quat, Vec3}, + reflect::{Reflect, TypePath}, + render::color::Color, + time::{Time, Timer, TimerMode}, + transform::{ + components::{GlobalTransform, Transform}, + TransformSystem, }, - prelude::*, - transform::TransformSystem, }; +use space_editor::space_prefab::ext::{in_state, resource_exists, Deref, DerefMut, SpatialBundle}; use studio_bvh::{frames::Frame, ChannelType}; mod error; diff --git a/studio/src/debug.rs b/studio/src/debug.rs index ef9a983..c902e5a 100644 --- a/studio/src/debug.rs +++ b/studio/src/debug.rs @@ -69,6 +69,7 @@ impl Plugin for DebugPlugin { .disable::() .disable::() .disable::() + .disable::() .disable::(), ); diff --git a/studio/src/math/interp/ecs.rs b/studio/src/math/interp/ecs.rs index 3dfdeb8..ca276c0 100644 --- a/studio/src/math/interp/ecs.rs +++ b/studio/src/math/interp/ecs.rs @@ -1,4 +1,5 @@ use bevy::prelude::*; +use space_editor::space_prefab::ext::{Deref, DerefMut}; use crate::math::{NearlyEq, NearlyZero}; @@ -56,7 +57,7 @@ where Easing::SineOut => self.t.curve_sin_out(), }; - t.lerp(self.initial, self.target) + Lerp::lerp(t, self.initial, self.target) } } } @@ -68,8 +69,8 @@ where { fn default() -> Self { Self { - initial: default(), - target: default(), + initial: T::default(), + target: T::default(), t: 0., easing: Easing::Linear, } diff --git a/studio/src/screenshot.rs b/studio/src/screenshot.rs index 8a7e70b..0e204f3 100644 --- a/studio/src/screenshot.rs +++ b/studio/src/screenshot.rs @@ -55,13 +55,15 @@ impl Plugin for ScreenShotPlugin { core_3d::graph::Core3d, ScreenCaptureNode, ) - .add_render_graph_edges( + .add_render_graph_edge( core_3d::graph::Core3d, - &[ - core_3d::graph::Node3d::Tonemapping, - ScreenCaptureNode, - core_3d::graph::Node3d::EndMainPassPostProcessing, - ], + core_3d::graph::Node3d::Tonemapping, + ScreenCaptureNode, + ) + .add_render_graph_edge( + core_3d::graph::Core3d, + ScreenCaptureNode, + core_3d::graph::Node3d::EndMainPassPostProcessing, ); } }