Giter Club home page Giter Club logo

bevy_editor_pls's People

Contributors

aceeri avatar amperl avatar blackphlox avatar dylanowen avatar imsfc avatar irate-devil avatar jakobhellermann avatar kcking avatar keithamus avatar killercup avatar lewiszlw avatar louis-le-cam avatar nicopap avatar olle-lukowski avatar phaestusfox avatar pramberg avatar promethia-27 avatar raffaeleragni avatar rs017991 avatar soniczentropy avatar superdump avatar thehourglass34 avatar vidhanio avatar villor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bevy_editor_pls's Issues

Crashing when used with kayak_ui

Opened up the issue there but might be a relevant issue here. Basically app crashes immediately when used with the kayak_ui plugin.

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_mod_debugdump-0.7.0/src/schedule_graph/mod.rs:602:14
stack backtrace:
   0:        0x101dc85fc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hacdfc7a7ba1f3921
   1:        0x101e1b3f4 - core::fmt::write::h5204bfb3e3f67d71
   2:        0x101dbe244 - std::io::Write::write_fmt::h2962204ca0f57254
   3:        0x101dc8410 - std::sys_common::backtrace::print::hae2682ac3efa1710
   4:        0x101dcae98 - std::panicking::default_hook::{{closure}}::h6e1b39797d538a85
   5:        0x101dcabf0 - std::panicking::default_hook::h2cfb0b57666dfacb
   6:        0x101dcb454 - std::panicking::rust_panic_with_hook::h0ff1de35c9ad4a9d
   7:        0x101dcb348 - std::panicking::begin_panic_handler::{{closure}}::hb584af3e9d5aa6d0
   8:        0x101dc8a1c - std::sys_common::backtrace::__rust_end_short_backtrace::h3c50e4b586dd2b4b
   9:        0x101dcb0e4 - _rust_begin_unwind
  10:        0x101e46658 - core::panicking::panic_fmt::h0ba5d599d3cf07dc
  11:        0x101e466c8 - core::panicking::panic::h935e6ef675b0c466
  12:        0x1001eb744 - core::option::Option<T>::unwrap::hd181915e57c726f6
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/option.rs:988:21
  13:        0x1001eb744 - bevy_mod_debugdump::schedule_graph::ScheduleGraphContext::system_of_system_type::h196867f0ad1f1aa1
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_mod_debugdump-0.7.0/src/schedule_graph/mod.rs:602:14
  14:        0x1001eb744 - bevy_mod_debugdump::schedule_graph::ScheduleGraphContext::node_ref::h49ccf47f8530c027
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_mod_debugdump-0.7.0/src/schedule_graph/mod.rs:622:39
  15:        0x1001e8c84 - bevy_mod_debugdump::schedule_graph::ScheduleGraphContext::add_dependencies::h4a28db43fae98577
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_mod_debugdump-0.7.0/src/schedule_graph/mod.rs:247:18
  16:        0x1001e8c84 - bevy_mod_debugdump::schedule_graph::schedule_graph_dot::h0be29d6665d4fb54
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_mod_debugdump-0.7.0/src/schedule_graph/mod.rs:163:5
  17:        0x100156328 - bevy_editor_pls_default_windows::debug_settings::debugdump::setup::h0ea93a184640f808
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_editor_pls_default_windows-0.4.0/src/debug_settings/debugdump.rs:48:32
  18:        0x100116244 - <bevy_app::app::App as bevy_editor_pls_core::AddEditorWindow>::add_editor_window::h64aeca14b2876475
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_editor_pls_core-0.4.0/src/lib.rs:31:9
  19:        0x100116244 - <bevy_editor_pls::EditorPlugin as bevy_app::plugin::Plugin>::build::h98a134d421d51565
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_editor_pls-0.4.0/src/lib.rs:117:13
  20:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::{{closure}}::hcf798dd70b4e514f
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:55
  21:        0x106d2c904 - core::ops::function::FnOnce::call_once::hf6ccb1cf4ef13b4c
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/ops/function.rs:250:5
  22:        0x106d2c904 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h18b792bb2ec86843
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/panic/unwind_safe.rs:271:9
  23:        0x106d2c904 - std::panicking::try::do_call::hbbb326bd27b225f4
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:487:40
  24:        0x106d2c904 - std::panicking::try::h58b8f9aa3b64be2e
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:451:19
  25:        0x106d2c904 - std::panic::catch_unwind::haa51bc759b9ea972
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panic.rs:140:14
  26:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::h73d8ed57fcb3eac7
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:22
  27:        0x1000d395c - bevy_app::app::App::add_plugin::h6bf5b059649bd134
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:747:15
  28:        0x1000c8a04 - <cool_game::debug::DebugPlugin as bevy_app::plugin::Plugin>::build::h89f72c4e4c330553
                               at /Users/k/Code/cool-game/src/debug.rs:16:9
  29:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::{{closure}}::hcf798dd70b4e514f
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:55
  30:        0x106d2c904 - core::ops::function::FnOnce::call_once::hf6ccb1cf4ef13b4c
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/ops/function.rs:250:5
  31:        0x106d2c904 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h18b792bb2ec86843
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/panic/unwind_safe.rs:271:9
  32:        0x106d2c904 - std::panicking::try::do_call::hbbb326bd27b225f4
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:487:40
  33:        0x106d2c904 - std::panicking::try::h58b8f9aa3b64be2e
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:451:19
  34:        0x106d2c904 - std::panic::catch_unwind::haa51bc759b9ea972
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panic.rs:140:14
  35:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::h73d8ed57fcb3eac7
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:22
  36:        0x1000a7598 - bevy_app::app::App::add_plugin::h9c03fe2f4df52b12
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:747:15
  37:        0x1000a7598 - <cool_game::GamePlugin as bevy_app::plugin::Plugin>::build::he0d600b63ec7ff5f
                               at /Users/k/Code/cool-game/src/lib.rs:46:9
  38:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::{{closure}}::hcf798dd70b4e514f
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:55
  39:        0x106d2c904 - core::ops::function::FnOnce::call_once::hf6ccb1cf4ef13b4c
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/ops/function.rs:250:5
  40:        0x106d2c904 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h18b792bb2ec86843
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/panic/unwind_safe.rs:271:9
  41:        0x106d2c904 - std::panicking::try::do_call::hbbb326bd27b225f4
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:487:40
  42:        0x106d2c904 - std::panicking::try::h58b8f9aa3b64be2e
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panicking.rs:451:19
  43:        0x106d2c904 - std::panic::catch_unwind::haa51bc759b9ea972
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/panic.rs:140:14
  44:        0x106d2c904 - bevy_app::app::App::add_boxed_plugin::h73d8ed57fcb3eac7
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:767:22
  45:        0x100026898 - bevy_app::app::App::add_plugin::h3850a694b866d9eb
                               at /Users/k/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.10.1/src/app.rs:747:15
  46:        0x100026898 - cool_game::main::h2832868182304a5c
                               at /Users/k/Code/cool-game/src/main.rs:26:5
  47:        0x100061370 - core::ops::function::FnOnce::call_once::h735d4479e1cba8a3
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/core/src/ops/function.rs:250:5
  48:        0x100061370 - std::sys_common::backtrace::__rust_begin_short_backtrace::h011f7bdb3e6f7a56
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/sys_common/backtrace.rs:134:18
  49:        0x1000775fc - std::rt::lang_start::{{closure}}::h8565ec3ae52d2363
                               at /rustc/511364e7874dba9649a264100407e4bffe7b5425/library/std/src/rt.rs:166:18
  50:        0x101db1d30 - std::rt::lang_start_internal::h8a4901aae8fe93a3
  51:        0x100026bdc - _main

Editor when in another window inconsistently responds to inputs from other windows

I'm adding this editor by slapping it on the Bevy app like so:

        .add_plugin(EditorPlugin::new().in_new_window(Window::default()))

However, the viewport window in the editor, as well as keyboard shortcuts like T/R/S, seem to sometimes respond to mouse and keyboard events from the primary window, when the editor window is not in focus.

From experimentation, it seems like the most consistent way to trigger this bug is to put one window over the other and quickly move the mouse from the editor window to the primary window, where the cursor is over one of the two Bevy's windows for every frame, and then try the inputs.

I assume the input code there isn't checking if the window the editor is on is actually in focus before processing input events or something?

Gizmo rendering location incorrect

Gizmo rendering on parent objects seems fine; however, gizmo placement on child objects seems off.

How to reproduce, run the load_gltf example in this repo, and specify a different translation for the scene when spawned, something like:

    commands.spawn(SceneBundle {
        scene: asset_server.load("models/FlightHelmet/FlightHelmet.gltf#Scene0"),
        transform: Transform {
            translation: Vec3::new(5.0, 0.0, 5.0),
            ..default()
        },
        ..default()
    });

Nothing crazy here, we are just spawning an entity and giving it a different starting location. What you end up with is everything rendering correctly for the gltf; however, the gizmos for children of the scene are all pinned to the world origin. Interestingly, the global transform of the children appear to be correct, so there is a mismatch between where the gizmo is rendered and what the actual global+local transform of the object is.

Screenshot 2023-07-15 at 13 12 43 Screenshot 2023-07-15 at 13 12 53 Screenshot 2023-07-15 at 13 14 00

Bug: Clicking hamburger icons panics

Clicking the hamburger icons causes a panic. Happened in my own project and confirmed it is also happening in the breakout example.

Screenshot_app_2

thread 'main' panicked at 'already immutably borrowed', /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/atomic_refcell-0.1.8/src/lib.rs:151:23
Click for full traceback
thread 'main' panicked at 'already immutably borrowed', /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/atomic_refcell-0.1.8/src/lib.rs:151:23
stack backtrace:
0: rust_begin_unwind
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/std/src/panicking.rs:584:5
1: core::panicking::panic_fmt
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/panicking.rs:142:14
2: core::panicking::panic_display
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/panicking.rs:72:5
3: atomic_refcell::AtomicRefCell<T>::borrow_mut
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/atomic_refcell-0.1.8/src/lib.rs:151:23
4: epaint::mutex::rw_lock_impl::RwLock<T>::write
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/epaint-0.17.0/src/mutex.rs:204:13
5: egui::context::Context::write
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/context.rs:170:9
6: egui::context::Context::graphics
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/context.rs:458:31
7: egui::context::Context::translate_layer
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/context.rs:888:13
8: bevy_editor_pls_core::drag_and_drop::translate_ui_to_cursor
at ./crates/bevy_editor_pls_core/src/drag_and_drop.rs:35:9
9: bevy_editor_pls_core::drag_and_drop::drag_source
at ./crates/bevy_editor_pls_core/src/drag_and_drop.rs:23:9
10: bevy_editor_pls_core::editor::Editor::editor_window::{{closure}}::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:446:40
11: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:248:5
12: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1872:9
13: egui::ui::Ui::with_layout_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/ui.rs:1830:21
14: egui::ui::Ui::with_layout
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/ui.rs:1821:9
15: bevy_editor_pls_core::editor::Editor::editor_window::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:443:13
16: egui::menu::bar::{{closure}}
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/menu.rs:82:9
17: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:248:5
18: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1872:9
19: egui::ui::Ui::allocate_ui_with_layout_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/ui.rs:838:19
20: egui::ui::Ui::horizontal_with_main_wrap_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/ui.rs:1741:9
21: egui::ui::Ui::horizontal
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/ui.rs:1684:9
22: egui::menu::bar
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/menu.rs:67:5
23: bevy_editor_pls_core::editor::Editor::editor_window
at ./crates/bevy_editor_pls_core/src/editor.rs:429:9
24: bevy_editor_pls_core::editor::Editor::editor_ui::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:298:17
25: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:248:5
26: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1872:9
27: egui::containers::panel::SidePanel::show_inside_dyn::{{closure}}
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:246:13
28: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:248:5
29: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1872:9
30: egui::containers::frame::Frame::show_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/frame.rs:170:19
31: egui::containers::frame::Frame::show
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/frame.rs:161:9
32: egui::containers::panel::SidePanel::show_inside_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:243:30
33: egui::containers::panel::SidePanel::show_dyn
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:307:30
34: egui::containers::panel::SidePanel::show
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:292:9
35: bevy_editor_pls_core::editor::Editor::editor_ui
at ./crates/bevy_editor_pls_core/src/editor.rs:295:19
36: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}::{{closure}}::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:265:33
37: bevy_ecs::world::World::resource_scope
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/world/mod.rs:1071:22
38: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:263:25
39: bevy_ecs::world::World::resource_scope
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/world/mod.rs:1071:22
40: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:261:17
41: bevy_ecs::world::World::resource_scope
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/world/mod.rs:1071:22
42: bevy_editor_pls_core::editor::Editor::system::{{closure}}
at ./crates/bevy_editor_pls_core/src/editor.rs:260:13
43: bevy_ecs::world::World::resource_scope
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/world/mod.rs:1071:22
44: bevy_editor_pls_core::editor::Editor::system
at ./crates/bevy_editor_pls_core/src/editor.rs:259:9
45: core::ops::function::FnMut::call_mut
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:164:5
46: <bevy_ecs::system::exclusive_system::ExclusiveSystemFn<F> as bevy_ecs::system::exclusive_system::ExclusiveSystem>::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/system/exclusive_system.rs:37:9
47: <bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/schedule/stage.rs:842:25
48: bevy_ecs::schedule::Schedule::run_once
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.7.0/src/schedule/mod.rs:341:13
49: bevy_app::app::App::update
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_app-0.7.0/src/app.rs:114:9
50: bevy_winit::winit_runner_with::{{closure}}
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_winit-0.7.0/src/lib.rs:563:21
51: winit::platform_impl::platform::sticky_exit_callback
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/linux/mod.rs:753:5
52: winit::platform_impl::platform::x11::EventLoop<T>::run_return
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/linux/x11/mod.rs:293:17
53: winit::platform_impl::platform::x11::EventLoop<T>::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/linux/x11/mod.rs:392:9
54: winit::platform_impl::platform::EventLoop<T>::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/linux/mod.rs:669:56
55: winit::event_loop::EventLoop<T>::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/event_loop.rs:154:9
56: bevy_winit::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_winit-0.7.0/src/lib.rs:180:5
57: bevy_winit::winit_runner_with
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_winit-0.7.0/src/lib.rs:604:9
58: bevy_winit::winit_runner
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_winit-0.7.0/src/lib.rs:220:5
59: core::ops::function::Fn::call
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:77:5
60: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1886:9
61: bevy_editor_pls_default_windows::debug_settings::debugdump::setup::{{closure}}
at ./crates/bevy_editor_pls_default_windows/src/debug_settings/debugdump.rs:50:9
62: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/alloc/src/boxed.rs:1886:9
63: bevy_app::app::App::run
at /home/paul/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_app-0.7.0/src/app.rs:130:9
64: breakout::main
at ./crates/bevy_editor_pls/examples/breakout.rs:10:5
65: core::ops::function::FnOnce::call_once
at /rustc/a8314ef7d0ec7b75c336af2c9857bfaf43002bfc/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
2022-07-10T04:03:30.040825Z  INFO wgpu_core::hub: Dropping Global
2022-07-10T04:03:30.048708Z  INFO wgpu_core::device: Destroying 3 command encoders

OS: Garuda Linux (Arch based distro)

I'm just starting to play around with this after having used bevy_egui_inspector for awhile. Loving everything here so far!

Closing primary window leaves secondary window intact

If i use EditorPlugin::new().on_second_monitor_fullscreen() or EditorPlugin::new().in_new_window() then closing the primary window does not cause the app to shut down.

I don't know if this was intentional or not, but i figured I would mention it just in case. For my workaround, i just added a system to close bevy if the primary window ceases to exist

fn exit_on_primary_window_close(
    mut app_exit_events: EventWriter<AppExit>,
    primary_windows: Query<&Window, With<PrimaryWindow>>,
) {
    if primary_windows.is_empty() {
        log::info!("Primary window closed, exiting");
        app_exit_events.send(AppExit);
    }
}

Weird Vulkan Validation errors

Whenever I try to enable the plugin I get weird Vulkan errors on Linux:

INFO  winit::platform_impl::platform::x11::window: Guessed window scale factor: 1
INFO  bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce GTX 1050 Ti", vendor: 4318, device: 7298, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "525.89.02", backend: Vulkan }
WARN  bevy_ecs::schedule::graph_utils: bevy_editor_pls_default_windows::debug_settings::fake_time::pause_time wants to be after unknown label: TimeSystem
INFO  bevy_editor_pls_default_windows::cameras: Spawning editor cameras
WARN  bevy_ecs::schedule::graph_utils: bevy_editor_pls_core::editor::Editor::system wants to be before unknown label: EguiSystem::ProcessOutput
ERROR wgpu_hal::vulkan::instance: VALIDATION [VUID-VkSwapchainCreateInfoKHR-imageExtent-01274 (0x7cd0911d)]
	Validation Error: [ VUID-VkSwapchainCreateInfoKHR-imageExtent-01274 ] Object 0: handle = 0x55f13e5da6e0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x7cd0911d | vkCreateSwapchainKHR() called with imageExtent = (1280,720), which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR(): currentExtent = (1280,756), minImageExtent = (1280,756), maxImageExtent = (1280,756). The Vulkan spec states: imageExtent must be between minImageExtent and maxImageExtent, inclusive, where minImageExtent and maxImageExtent are members of the VkSurfaceCapabilitiesKHR structure returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR for the surface (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkSwapchainCreateInfoKHR-imageExtent-01274)
ERROR wgpu_hal::vulkan::instance: 	objects: (type: DEVICE, hndl: 0x55f13e5da6e0, name: ?)

The code:

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(bevy_editor_pls::EditorPlugin)
        .run();
}

The Editor seems to work fine.
image

Time stop hotkey doesn't work when the editor panels aren't open

System configuration

OS: Windows 11 (However, it seems that it might be a crossplatform issue)
Bevy: 0.10.1 (from crates.io)

rustc --version: rustc 1.68.2 (9eb3afe9e 2023-03-27)
rustup default: stable-x86_64-pc-windows-msvc

bevy startup output:

2023-04-16T13:03:12.341333Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon (TM) Graphics", vendor: 4098, device: 5607, device_type: IntegratedGpu, driver: "AMD proprietary driver", driver_info: "21.40.52", backend: Vulkan }
2023-04-16T13:03:13.221788Z  INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras
2023-04-16T13:03:13.827399Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Windows 11 Pro", kernel: "22621", cpu: "AMD Ryzen 7 5825U with Radeon Graphics", core_count: "8", memory: "14.8 GiB" }

What versions have this issue

This problem happens with bevy_editor_pls 0.4 and the latest version on the main branch on github (f202123).

The issue

When I launch this program and press the time pause hotkey -- LCtrl + Return -- the sprite keeps flickering. At the same time, it looks as if the input wasn't dropped, because the Pause time box in the Debug settings does get checked

"pause time" box is checked

Code to reproduce the issue

use bevy::prelude::*;
use bevy_editor_pls::EditorPlugin;

fn startup(
    asset_server: Res<AssetServer>,
    mut commands: Commands,
) {
    commands.spawn(Camera2dBundle::default());
    commands.spawn(SpriteBundle {
        texture: asset_server.load("bevy.png"),
        ..default()
    });
}

fn tick(
    time: Res<Time>,
    mut sprite_q: Query<&mut Sprite>,
) {
    let secs = time.elapsed_seconds();
    let evenness = (secs * 2.0f32) as i32 % 2;
    sprite_q.single_mut().color.set_b(evenness as f32);
    sprite_q.single_mut().color.set_g(evenness as f32);
}

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(EditorPlugin::default())
        .add_startup_system(startup)
        .add_system(tick)
        .run();
}

Update to Bevy 0.10

Seeing as Bevy 0.10 is about to be released, I thought it's time to put this in the room ๐Ÿ™‚

Apps crash on macOS

I cannot make any app that includes EditorPlugin to work anymore. This includes all examples in bevy_editor_pls.
The running app displays INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras and then instantly quits.

Versions used:

  • macOS: 13.0
  • rustc: 1.68.0-nightly

I only tested the native builds, not the wasm ones.

Save Scenes throws error ComputedVisibilityFlags bevy 0.11.3

Hello!

I was running the basic and breakout examples to test the scene saving, but it throws an error.

The error is generated by the bevy::render::view::visibility::ComputedVisibilityFlags structure that apparently is not registered. This structure is private and is registered by the bevy's RenderPlugin (inside the ViewPlugin) so it's something strange.

image
image

The ComputedVisibilityFlags struct exists jut in 0.11.3 but is not present in main branch or 0.11 branch.

Compute thread crashes, fails to call windows.get_primary_mut

Just added the plugin to a mostly empty game and saw this in the logs:

thread 'Compute Task Pool (2)' panicked at 'called `Option::unwrap()` on a `None` value', /Users/pascal/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_editor_pls_default_windows-0.1.1/src/cameras/camera_3d_free.rs:130:44

I didn't even notice anything when wrong, so I gues it's not very important :)

Feature request: Add/remove component buttons

I think that the editor being able to manipulate the components of entities- and display all available ones- is a vital feature which is missing currently. I'd be happy to make a PR for this, I just wanted to make an issue first in case you were working on this already. The UI for it should be easy, the biggest problem I encountered was being able to iterate all the component types available. I've found out that any type that has #[reflect(Component)] on it and has been registered (both necessary for being serialized as a scene) can be accessed like this:

let reg = app.world.get_resource::<bevy::reflect::TypeRegistry>().unwrap();
for ty in reg.read().iter() {
    if let Some(_) = ty.data::<ReflectComponent>() {
        println!("{}", ty.name());
    }
}

I'd be working on new-main rather than main, since I assume main is not going to be further developed until new-main is merged into it.

Should I go ahead and make a PR for this?

crash unwrapping the window optional in `toggle_cursor`

Running on latest macOS with bevy 0.9.0 and bevy_editor_pls 0.2.0. Full stack trace is below.

2023-02-20T01:51:17.913022Z  INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_editor_pls_default_windows-0.2.0/src/cameras/camera_3d_free.rs:130:18
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::option::Option<T>::unwrap
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/option.rs:778:21
   4: bevy_editor_pls_default_windows::cameras::camera_3d_free::toggle_cursor
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_editor_pls_default_windows-0.2.0/src/cameras/camera_3d_free.rs:130:18
   5: core::ops::function::FnMut::call_mut
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/ops/function.rs:337:5
   6: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library/core/src/ops/function.rs:617:13
   7: <Func as bevy_ecs::system::function_system::SystemParamFunction<(),Out,(F0,F1,F2),()>>::run::call_inner
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/system/function_system.rs:579:21
   8: <Func as bevy_ecs::system::function_system::SystemParamFunction<(),Out,(F0,F1,F2),()>>::run
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/system/function_system.rs:582:17
   9: <bevy_ecs::system::function_system::FunctionSystem<In,Out,Param,Marker,F> as bevy_ecs::system::system::System>::run_unsafe
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/system/function_system.rs:409:19
  10: bevy_ecs::schedule::executor_parallel::ParallelExecutor::prepare_systems::{{closure}}
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/schedule/executor_parallel.rs:218:26
  11: bevy_ecs::schedule::executor_parallel::ParallelExecutor::prepare_systems::{{closure}}
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/schedule/executor_parallel.rs:223:21
  12: async_executor::Executor::spawn::{{closure}}
             at /Users/ddd/.cargo/registry/src/github.com-1ecc6299db9ec823/async-executor-1.5.0/src/lib.rs:139:19

`bevy_framepace` dependency

Curious as to why there's a dependency on bevy_framepace:

        if !app.is_plugin_added::<bevy_framepace::FramepacePlugin>() {
            app.add_plugin(bevy_framepace::FramepacePlugin);
            app.add_plugin(bevy_framepace::debug::DiagnosticsPlugin);
        }

I forked this plugin just to remove it because it causes my camera systems to have a lot of stutter for some reason

A component with a nested `Inspectable` field causes a panic when expanded

#[derive(Component, Inspectable, Debug)]
pub struct Behavior {
    actor: Entity,
    state: BehaviorState,
}

#[derive(Inspectable, PartialEq, Eq, Debug)]
pub enum BehaviorState {
    Inactive,
    Running,
    Succeeded,
    Failed,
}

When I try to expand the Behavior component in the inspector pane, it crashes with

thread 'main' panicked at 'assertion failed: !self.contains_resource::<R>()', ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1072:9
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: bevy_ecs::world::World::resource_scope
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1072:9
   4: bevy_editor_pls_default_windows::inspector::inspector
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_default_windows/src/inspector.rs:34:5
   5: <bevy_editor_pls_default_windows::inspector::InspectorWindow as bevy_editor_pls_core::editor_window::EditorWindow>::ui
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_default_windows/src/inspector.rs:19:9
   6: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/alloc/src/boxed.rs:1948:9
   7: bevy_editor_pls_core::editor::Editor::editor_window_inner
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:488:9
   8: bevy_editor_pls_core::editor::Editor::editor_window::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:458:17
   9: bevy_editor_pls_core::drag_and_drop::drop_target
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/drag_and_drop.rs:53:15
  10: bevy_editor_pls_core::editor::Editor::editor_window
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:456:29
  11: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/alloc/src/boxed.rs:1934:9
  12: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/alloc/src/boxed.rs:1934:9
  13: egui::containers::frame::Frame::show_dyn
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/frame.rs:170:19
  14: egui::containers::frame::Frame::show
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/frame.rs:161:9
  15: egui::containers::panel::SidePanel::show_inside_dyn
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:243:30
  16: egui::containers::panel::SidePanel::show_dyn
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:307:30
  17: egui::containers::panel::SidePanel::show
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/egui-0.17.0/src/containers/panel.rs:292:9
  18: bevy_editor_pls_core::editor::Editor::editor_ui
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:302:19
  19: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}::{{closure}}::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:265:33
  20: bevy_ecs::world::World::resource_scope
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1071:22
  21: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:263:25
  22: bevy_ecs::world::World::resource_scope
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1071:22
  23: bevy_editor_pls_core::editor::Editor::system::{{closure}}::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:261:17
  24: bevy_ecs::world::World::resource_scope
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1071:22
  25: bevy_editor_pls_core::editor::Editor::system::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:260:13
  26: bevy_ecs::world::World::resource_scope
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/world/mod.rs:1071:22
  27: bevy_editor_pls_core::editor::Editor::system
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_core/src/editor.rs:259:9
  28: core::ops::function::FnMut::call_mut
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/core/src/ops/function.rs:164:5
  29: <bevy_ecs::system::exclusive_system::ExclusiveSystemFn<F> as bevy_ecs::system::exclusive_system::ExclusiveSystem>::run
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/system/exclusive_system.rs:37:9
  30: <bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/schedule/stage.rs:842:25
  31: bevy_ecs::schedule::Schedule::run_once
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_ecs/src/schedule/mod.rs:341:13
  32: bevy_app::app::App::update
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_app/src/app.rs:114:9
  33: bevy_winit::winit_runner_with::{{closure}}
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_winit/src/lib.rs:563:21
  34: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event::{{closure}}
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/app_state.rs:101:13
  35: winit::platform_impl::platform::app_state::EventLoopHandler<T>::with_callback
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/app_state.rs:79:13
  36: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/app_state.rs:100:9
  37: winit::platform_impl::platform::app_state::Handler::handle_nonuser_event
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/app_state.rs:206:21
  38: winit::platform_impl::platform::app_state::AppState::cleared
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/app_state.rs:387:9
  39: winit::platform_impl::platform::observer::control_flow_end_handler::{{closure}}
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/observer.rs:180:21
  40: winit::platform_impl::platform::observer::control_flow_handler::{{closure}}
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/observer.rs:142:57
  41: std::panicking::try::do_call
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/std/src/panicking.rs:492:40
  42: std::panicking::try
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/std/src/panicking.rs:456:19
  43: std::panic::catch_unwind
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/std/src/panic.rs:137:14
  44: winit::platform_impl::platform::event_loop::stop_app_on_panic
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/event_loop.rs:229:11
  45: winit::platform_impl::platform::observer::control_flow_handler
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/observer.rs:142:5
  46: winit::platform_impl::platform::observer::control_flow_end_handler
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/observer.rs:175:9
  47: <unknown>
  48: <unknown>
  49: <unknown>
  50: <unknown>
  51: <unknown>
  52: <unknown>
  53: <unknown>
  54: <unknown>
  55: <unknown>
  56: <unknown>
  57: <() as objc::message::MessageArguments>::invoke
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/mod.rs:128:17
  58: objc::message::platform::send_unverified
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/apple/mod.rs:27:9
  59: objc::message::send_message
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/event_loop.rs:188:22
  60: winit::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/macros.rs:133:15
  61: objc::rc::autorelease::autoreleasepool
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/rc/autorelease.rs:29:5
  62: winit::platform_impl::platform::event_loop::EventLoop<T>::run_return
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/event_loop.rs:178:9
  63: winit::platform_impl::platform::event_loop::EventLoop<T>::run
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/platform_impl/macos/event_loop.rs:157:9
  64: winit::event_loop::EventLoop<T>::run
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.26.1/src/event_loop.rs:154:9
  65: bevy_winit::run
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_winit/src/lib.rs:180:5
  66: bevy_winit::winit_runner_with
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_winit/src/lib.rs:604:9
  67: bevy_winit::winit_runner
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_winit/src/lib.rs:220:5
  68: core::ops::function::Fn::call
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/core/src/ops/function.rs:77:5
  69: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/alloc/src/boxed.rs:1948:9
  70: bevy_editor_pls_default_windows::debug_settings::debugdump::setup::{{closure}}
             at ~/.cargo/git/checkouts/bevy_editor_pls-aa84c1e9122cf1d6/73e7e3c/crates/bevy_editor_pls_default_windows/src/debug_settings/debugdump.rs:50:9
  71: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/alloc/src/boxed.rs:1948:9
  72: bevy_app::app::App::run
             at ~/.cargo/git/checkouts/bevy-0ebda94b0d66b172/f38cef0/crates/bevy_app/src/app.rs:130:9
  73: bevy_blocks::main
             at ./src/main.rs:22:5
  74: core::ops::function::FnOnce::call_once
             at /rustc/06754d8852bea286a3a76d373ccd17e66afb5a8b/library/core/src/ops/function.rs:248:5

This works fine if I use the enum as a component directly. It also works as is in bevy-inspector-egui.

Panic with 0.10, can't use

I just tried to add bevy_editor_pls = "0.4" but now my app panics at startup 100% of the time:

thread 'main' panicked at 'alloc::borrow::Cow not registered', C:\Users\xxx.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy-inspector-egui-0.18.3\src\inspector_egui_impls\mod.rs:121:28

Release on crates.io

Is there a reason this was not done yet? The crate is definitely usable enough :)

Panic when using Editor State ressource

Hi,
I started to play around with Bevy and Bevy inspector, but I'm hitting an issue with the simplest working example.

INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_editor_pls_default_windows-0.2.0/src/cameras/camera_3d_free.rs:130:18

Here the code:

use bevy::prelude::*;
use bevy_editor_pls::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(EditorPlugin)
        .add_system(bevy::window::close_on_esc)
        .run();
}

As I said, it's a pretty minimal exemple, so I get that's pretty wide in terms of possible issue and possibly non solvable.

here the full stack

2022-12-02T17:27:40.156550Z  INFO bevy_render::renderer: AdapterInfo { name: "Apple M1", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
2022-12-02T17:27:40.221023Z  WARN bevy_ecs::schedule::graph_utils: bevy_editor_pls_default_windows::debug_settings::fake_time::pause_time wants to be after unknown label: TimeSystem
2022-12-02T17:27:40.221203Z  INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_editor_pls_default_windows-0.2.0/src/cameras/camera_3d_free.rs:130:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Here a minimal working example which narrow the issue:

use bevy::prelude::*;
use bevy_editor_pls_core::EditorState;
use bevy::window::CursorGrabMode;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_system(test_editor)
        .run();
}

fn test_editor(
    editor_state: Res<EditorState>,
) {
    if !editor_state.active {
        return;
    }
}

Resources missing from resource panel

I can't seem to figure out how to get my custom resource to show up in the panel. I've tried deriving Reflect based on reading the resource panel code, but to no avail.

What I have:

use bevy::prelude::*;
use bevy_editor_pls::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(EditorPlugin::default())
        .add_systems(Startup, setup)
        .add_systems(Update, keyboard_input_system)
        //.init_resource::<Speed>()
        .insert_resource(Speed { s: 0.5 })
        .run();
}

#[derive(Resource, Reflect, Debug, Clone, Copy)]
pub struct Speed {
    pub s: f32,
}

...

But Speed still does not show up in the resource panel.

WGPU validation error missing COPY_SRC in copy_texture_to_texture

Bevy version

[[package]]
name = "bevy"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04a90fe8e9c03fa2d30acf39a5178a48526df00c1ccea2fc43fa6d9ca4d8a168"
dependencies = [
 "bevy_dylib",
 "bevy_internal",
]

[[package]]
name = "bevy_editor_pls"
version = "0.4.0"
source = "git+https://github.com/jakobhellermann/bevy_editor_pls?branch=main#f72483a5d48ae61f01e05fbd3cfd6fc64ce54e34"
dependencies = [
 "bevy",
 "bevy_editor_pls_core",
 "bevy_editor_pls_default_windows",
 "egui",
 "egui-gizmo",
]

Relevant system information

Mac os sonoma 14 (beta)

`AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }`

What you did

Had egui_editor_pls "expanded" (click the Pause icon in top left) then entered my game scene by doing a state transition via ResMut<NextState<GameState>>::set. The OnEnter system for the game scene finishes (there is a debug log on the last line) but then bevy crashes after.

This doesn't happen when the ui is "minimized".

What went wrong

Bevy crashed with a wgpu validation error.

wgpu::backend::direct: Handling wgpu errors as fatal by default    
thread '<unnamed>' panicked at 'wgpu error: Validation Error

Caused by:
    In CommandEncoder::copy_texture_to_texture
    Copy error
    Source buffer/texture is missing the `COPY_SRC` usage flag

', /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:3019:5

Additional information

Full backtrace

RUST_BACKTRACE=full
2023-08-10T05:06:58.672364Z  INFO bevy_render::renderer: AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }
2023-08-10T05:07:01.842446Z ERROR wgpu::backend::direct: Handling wgpu errors as fatal by default    
thread '<unnamed>' panicked at 'wgpu error: Validation Error

Caused by:
    In CommandEncoder::copy_texture_to_texture
    Copy error
    Source buffer/texture is missing the `COPY_SRC` usage flag

', /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:3019:5
stack backtrace:
   0:        0x101b57014 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0874498f7a84909c
   1:        0x101baa858 - core::fmt::write::h779d0a7127ba6edf
   2:        0x101b4c6ec - std::io::Write::write_fmt::h204705956f1336db
   3:        0x101b56e6c - std::sys_common::backtrace::print::h0ec150985442d85c
   4:        0x101b599e8 - std::panicking::default_hook::{{closure}}::h403e13db83ce6e39
   5:        0x101b59778 - std::panicking::default_hook::h6b48aca96315fedb
   6:        0x101b5a030 - std::panicking::rust_panic_with_hook::hc28badb4bfc41596
   7:        0x101b59f3c - std::panicking::begin_panic_handler::{{closure}}::h1cfc38c5c176e83d
   8:        0x101b573f4 - std::sys_common::backtrace::__rust_end_short_backtrace::h8e6f2ad6b3b17930
   9:        0x101b59ca8 - _rust_begin_unwind
  10:        0x101bd58a8 - core::panicking::panic_fmt::ha1d8ee1d8f1c4dc9
  11:        0x106b47aa8 - wgpu::backend::direct::default_error_handler::hc942232dc93f60d2
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:3019:5
  12:        0x106b47aa8 - core::ops::function::Fn::call::h5cb50ee28f9d61c9
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:79:5
  13:        0x106b52374 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hf835617a5bdecc0f
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/alloc/src/boxed.rs:2007:9
  14:        0x106b52374 - wgpu::backend::direct::ErrorSinkRaw::handle_error::ha09add09ae6e2cd2
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:3005:17
  15:        0x106b52374 - wgpu::backend::direct::Context::handle_error::h9c0cf501b21434ba
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:287:9
  16:        0x106b5d5d0 - wgpu::backend::direct::Context::handle_error_nolabel::h965dc1dcd8a82770
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:299:9
  17:        0x106b5d5d0 - <wgpu::backend::direct::Context as wgpu::context::Context>::command_encoder_copy_texture_to_texture::h5545a229dbbd29f1
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/backend/direct.rs:1801:18
  18:        0x106b645ac - <T as wgpu::context::DynContext>::command_encoder_copy_texture_to_texture::h635974a2b3261f1e
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/context.rs:2596:9
  19:        0x106bc6364 - wgpu::CommandEncoder::copy_texture_to_texture::hbeb851e3ae1a699f
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-0.16.3/src/lib.rs:2864:9
  20:        0x106433fbc - <bevy_core_pipeline::prepass::node::PrepassNode as bevy_render::render_graph::node::ViewNode>::run::hf433ebc63e64273f
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_core_pipeline-0.11.0/src/prepass/node.rs:119:13
  21:        0x1064c51e4 - <bevy_render::render_graph::node::ViewNodeRunner<T> as bevy_render::render_graph::node::Node>::run::hf8d8d8bf09496c92
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/render_graph/node.rs:406:9
  22:        0x10672f550 - bevy_render::renderer::graph_runner::RenderGraphRunner::run_graph::h1bc6cd105be322ce
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/renderer/graph_runner.rs:190:21
  23:        0x10672f6dc - bevy_render::renderer::graph_runner::RenderGraphRunner::run_graph::h1bc6cd105be322ce
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/renderer/graph_runner.rs:197:21
  24:        0x10672ebd0 - bevy_render::renderer::graph_runner::RenderGraphRunner::run::h4de64e53f91e272c
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/renderer/graph_runner.rs:63:9
  25:        0x1068c47a4 - bevy_render::renderer::render_system::heb35d8daecdc245f
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/renderer/mod.rs:33:21
  26:        0x1066a5744 - core::ops::function::FnMut::call_mut::haeaf27160be26534
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:166:5
  27:        0x1066a5744 - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::h35607d05e0f1628d
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:294:13
  28:        0x1066a5744 - <Func as bevy_ecs::system::exclusive_function_system::ExclusiveSystemParamFunction<fn() .> Out>>::run::call_inner::hee82e5eed38745ef
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/system/exclusive_function_system.rs:203:21
  29:        0x1066a5744 - <Func as bevy_ecs::system::exclusive_function_system::ExclusiveSystemParamFunction<fn() .> Out>>::run::habf21e68f2607061
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/system/exclusive_function_system.rs:206:17
  30:        0x1066a5744 - <bevy_ecs::system::exclusive_function_system::ExclusiveFunctionSystem<Marker,F> as bevy_ecs::system::system::System>::run::hfee1bfdd0e612e9f
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/system/exclusive_function_system.rs:103:19
  31:        0x10721dc9c - bevy_ecs::schedule::executor::multi_threaded::MultiThreadedExecutor::spawn_exclusive_system_task::{{closure}}::{{closure}}::hd774c6ebaa69a3d9
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/schedule/executor/multi_threaded.rs:592:21
  32:        0x10721dc9c - core::ops::function::FnOnce::call_once::ha14b2430388b94a5
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:250:5
  33:        0x10721dc9c - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8ad00fe01c52ab1b
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  34:        0x10721dc9c - std::panicking::try::do_call::h81adb080eb96be0d
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  35:        0x10721dc9c - std::panicking::try::h538319103d0289b9
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  36:        0x10721dc9c - std::panic::catch_unwind::h09d1d20b96ad8731
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  37:        0x10721dc9c - bevy_ecs::schedule::executor::multi_threaded::MultiThreadedExecutor::spawn_exclusive_system_task::{{closure}}::h6bdfeb426326ae2e
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/schedule/executor/multi_threaded.rs:591:27
  38:        0x10721dc9c - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::future::future::Future>::poll::hf1267637a03fcddb
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:296:9
  39:        0x1071e9910 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::{{closure}}::h2d179257c3528610
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:42
  40:        0x1071e9910 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h890c980a7f60ad7a
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  41:        0x1071e9910 - std::panicking::try::do_call::h1e12d190e2e559f1
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  42:        0x1071e9910 - std::panicking::try::h6ebe4129cbace5d4
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  43:        0x1071e9910 - std::panic::catch_unwind::h4934d8619563f4d4
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  44:        0x1071e9910 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::h035bb9da04f0aaba
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:9
  45:        0x1071e9910 - async_executor::Executor::spawn::{{closure}}::h3380b7eba920d69f
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.5.1/src/lib.rs:145:20
  46:        0x1071e9910 - async_task::raw::RawTask<F,T,S,M>::run::h848d1539677f743a
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.4.0/src/raw.rs:563:17
  47:        0x10721daa0 - async_executor::Executor::tick::{{closure}}::h1154f89bfcff073c
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.5.1/src/lib.rs:210:9
  48:        0x10721daa0 - bevy_tasks::thread_executor::ThreadExecutorTicker::tick::{{closure}}::h24e51b370efb7de3
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/thread_executor.rs:105:39
  49:        0x10721daa0 - bevy_tasks::task_pool::TaskPool::execute_scope::{{closure}}::{{closure}}::{{closure}}::h78cf4809dfc4ee6e
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:503:45
  50:        0x10721daa0 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::future::future::Future>::poll::hd32115bc59835cc8
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:296:9
  51:        0x107245854 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::{{closure}}::h5dcd4589d26912cd
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:42
  52:        0x107245854 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::he0b834cc19d4b7c4
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  53:        0x107245854 - std::panicking::try::do_call::hebc75371ce039e67
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  54:        0x107245854 - std::panicking::try::h4675e3bc4217f9c9
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  55:        0x107245854 - std::panic::catch_unwind::hb9767ac490c47440
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  56:        0x107245854 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::h491f7f8b7172292a
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:9
  57:        0x107245854 - bevy_tasks::task_pool::TaskPool::execute_scope::{{closure}}::{{closure}}::he4de437712cfc974
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:506:77
  58:        0x107245854 - <futures_lite::future::Or<F1,F2> as core::future::future::Future>::poll::h2b67f7e48c9bb07a
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:526:33
  59:        0x107242dc4 - bevy_tasks::task_pool::TaskPool::execute_scope::{{closure}}::ha397b545e6c7b4f3
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:509:41
  60:        0x107242dc4 - bevy_tasks::task_pool::TaskPool::scope_with_executor_inner::{{closure}}::hc31c14c75adacc58
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:420:85
  61:        0x1072435e4 - futures_lite::future::block_on::{{closure}}::hcf30ff475f45e669
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:89:27
  62:        0x1072435e4 - std::thread::local::LocalKey<T>::try_with::hde4bc6c397408e97
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:270:16
  63:        0x1072435e4 - std::thread::local::LocalKey<T>::with::hebc37dcb29adb0a8
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:246:9
  64:        0x1072435e4 - futures_lite::future::block_on::hf983de130a2b4c09
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:79:11
  65:        0x1072377a8 - bevy_tasks::task_pool::TaskPool::scope_with_executor_inner::h6afb3ba0de2545f4
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:374:13
  66:        0x10722ce54 - bevy_tasks::task_pool::TaskPool::scope_with_executor::{{closure}}::hce7bdad7fac56d30
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:311:17
  67:        0x10722ce54 - std::thread::local::LocalKey<T>::try_with::h66f3a4a85036fb2c
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:270:16
  68:        0x10722ce54 - std::thread::local::LocalKey<T>::with::h5e8ca6aaa01e72a0
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:246:9
  69:        0x10722ce54 - bevy_tasks::task_pool::TaskPool::scope_with_executor::hb6fe323ca0689710
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:307:31
  70:        0x10722ce54 - <bevy_ecs::schedule::executor::multi_threaded::MultiThreadedExecutor as bevy_ecs::schedule::executor::SystemExecutor>::run::hb452e755f635fab9
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/schedule/executor/multi_threaded.rs:190:9
  71:        0x1071c7e08 - bevy_ecs::world::World::run_schedule::{{closure}}::h71cd8e4e115dc5b2
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/world/mod.rs:1865:51
  72:        0x1071c7e08 - bevy_ecs::world::World::try_schedule_scope::h80d4f8f24fb04b20
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/world/mod.rs:1782:21
  73:        0x1071c2e04 - bevy_ecs::world::World::schedule_scope::h0fbabdd0064bb93b
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/world/mod.rs:1836:9
  74:        0x1071c2e04 - bevy_ecs::world::World::run_schedule::hd121c64cd413d44d
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.11.0/src/world/mod.rs:1865:9
  75:        0x1071c2e04 - bevy_app::app::SubApp::run::h448f1d7f03234663
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_app-0.11.0/src/app.rs:159:24
  76:        0x106716860 - <bevy_render::pipelined_rendering::PipelinedRenderingPlugin as bevy_app::plugin::Plugin>::cleanup::{{closure}}::h593ee57963c15924
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/pipelined_rendering.rs:118:17
  77:        0x106716860 - std::sys_common::backtrace::__rust_begin_short_backtrace::h063df5fa5ae8a629
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/sys_common/backtrace.rs:135:18
  78:        0x1068a2f2c - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h0db4a8fb83b22f2f
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/mod.rs:529:17
  79:        0x1068a2f2c - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9a0b5e6fa4a909ea
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  80:        0x1068a2f2c - std::panicking::try::do_call::h132a0b4f04970f7a
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  81:        0x1068a2f2c - std::panicking::try::h2eae3a0f413d416e
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  82:        0x1068a2f2c - std::panic::catch_unwind::h9fc5da14e49dd3da
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  83:        0x1068a2f2c - std::thread::Builder::spawn_unchecked_::{{closure}}::h0d88a253f43f62ed
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/mod.rs:528:30
  84:        0x1068a2f2c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h86056e181ae60e54
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:250:5
  85:        0x101b62b28 - std::sys::unix::thread::Thread::new::thread_start::h0c6e1bdecf54caa8
  86:        0x182d67034 - __pthread_joiner_wake
Encountered a panic in exclusive system `bevy_render::renderer::render_system`!
thread 'Compute Task Pool (1)' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/pipelined_rendering.rs:135:45
stack backtrace:
   0:        0x101b57014 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0874498f7a84909c
   1:        0x101baa858 - core::fmt::write::h779d0a7127ba6edf
   2:        0x101b4c6ec - std::io::Write::write_fmt::h204705956f1336db
   3:        0x101b56e6c - std::sys_common::backtrace::print::h0ec150985442d85c
   4:        0x101b599e8 - std::panicking::default_hook::{{closure}}::h403e13db83ce6e39
   5:        0x101b59778 - std::panicking::default_hook::h6b48aca96315fedb
   6:        0x101b5a030 - std::panicking::rust_panic_with_hook::hc28badb4bfc41596
   7:        0x101b59f3c - std::panicking::begin_panic_handler::{{closure}}::h1cfc38c5c176e83d
   8:        0x101b573f4 - std::sys_common::backtrace::__rust_end_short_backtrace::h8e6f2ad6b3b17930
   9:        0x101b59ca8 - _rust_begin_unwind
  10:        0x101bd58a8 - core::panicking::panic_fmt::ha1d8ee1d8f1c4dc9
  11:        0x101bd5c68 - core::result::unwrap_failed::hf541b48a0597750b
  12:        0x1067d47c8 - core::result::Result<T,E>::unwrap::h6dc9d628daf55728
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/result.rs:1076:23
  13:        0x1067d47c8 - bevy_render::pipelined_rendering::update_rendering::{{closure}}::{{closure}}::{{closure}}::h61d96bee418c225c
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.11.0/src/pipelined_rendering.rs:135:21
  14:        0x1067d47c8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::future::future::Future>::poll::h4915a9c74adf84f8
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:296:9
  15:        0x1066971f4 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::{{closure}}::h23b44af4c5b601ec
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:42
  16:        0x1066971f4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf5f3506770f7cc80
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  17:        0x1066971f4 - std::panicking::try::do_call::h3cd294bde7ea29ac
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  18:        0x1066971f4 - std::panicking::try::ha7649f4fbde0ec65
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  19:        0x1066971f4 - std::panic::catch_unwind::ha114498dd60153f5
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  20:        0x1066971f4 - <futures_lite::future::CatchUnwind<F> as core::future::future::Future>::poll::h7316a2a92e9be5d0
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:626:9
  21:        0x1066971f4 - async_executor::Executor::spawn::{{closure}}::hefd39e4a1b2f7b9c
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.5.1/src/lib.rs:145:20
  22:        0x1066971f4 - async_task::raw::RawTask<F,T,S,M>::run::h0f7b5f33b99613c3
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.4.0/src/raw.rs:563:17
  23:        0x107249220 - async_executor::Executor::run::{{closure}}::{{closure}}::h9405d4ccddab7b61
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.5.1/src/lib.rs:236:21
  24:        0x107249220 - <futures_lite::future::Or<F1,F2> as core::future::future::Future>::poll::h5c59d5332ca71357
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:529:33
  25:        0x107248550 - async_executor::Executor::run::{{closure}}::h6a6181e019296fe9
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.5.1/src/lib.rs:243:32
  26:        0x1072481f4 - futures_lite::future::block_on::{{closure}}::h31e44deca02fd20c
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:89:27
  27:        0x1072481f4 - std::thread::local::LocalKey<T>::try_with::h822006d89d8541e0
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:270:16
  28:        0x1072481f4 - std::thread::local::LocalKey<T>::with::h18a3fb6ebda91332
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:246:9
  29:        0x1072481f4 - futures_lite::future::block_on::h5c9b0377fcc5f99a
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-1.13.0/src/future.rs:79:11
  30:        0x10724e2c4 - bevy_tasks::task_pool::TaskPool::new_internal::{{closure}}::{{closure}}::{{closure}}::{{closure}}::h763b78311c118970
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:171:37
  31:        0x10724e2c4 - std::panicking::try::do_call::hf05d3b1cd7841477
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  32:        0x10724e2c4 - std::panicking::try::hb77f30f734d7495a
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  33:        0x10724e2c4 - std::panic::catch_unwind::h877ea7838728406b
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  34:        0x10724e2c4 - bevy_tasks::task_pool::TaskPool::new_internal::{{closure}}::{{closure}}::{{closure}}::hc62a9fa50e5c0002
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:165:43
  35:        0x10724e2c4 - std::thread::local::LocalKey<T>::try_with::h3a5ec4bb834be772
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:270:16
  36:        0x10724e2c4 - std::thread::local::LocalKey<T>::with::h6587036495cb4587
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/local.rs:246:9
  37:        0x10724e2c4 - bevy_tasks::task_pool::TaskPool::new_internal::{{closure}}::{{closure}}::he177f4f68f4644ed
                               at /Users/choc/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_tasks-0.11.0/src/task_pool.rs:158:50
  38:        0x10724e2c4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2d9c36f4fac3b6f6
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/sys_common/backtrace.rs:135:18
  39:        0x10724c000 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h1691bd614de48bb6
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/mod.rs:529:17
  40:        0x10724c000 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::had8db2bba2c9236b
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/panic/unwind_safe.rs:271:9
  41:        0x10724c000 - std::panicking::try::do_call::h0f4516c86f179a3e
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:500:40
  42:        0x10724c000 - std::panicking::try::h6b0c0a6f18cbb998
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panicking.rs:464:19
  43:        0x10724c000 - std::panic::catch_unwind::h2522ed3eded40eaa
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/panic.rs:142:14
  44:        0x10724c000 - std::thread::Builder::spawn_unchecked_::{{closure}}::h5860ca775abbd9bd
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/std/src/thread/mod.rs:528:30
  45:        0x10724c000 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6fd462adb1032018
                               at /rustc/7bd81ee1902c049691d0a1f03be5558bee51d100/library/core/src/ops/function.rs:250:5
  46:        0x101b62b28 - std::sys::unix::thread::Thread::new::thread_start::h0c6e1bdecf54caa8
  47:        0x182d67034 - __pthread_joiner_wake

conflict with bevy_console

when you add both bevy_editor_pls and bevy_console to the same application neither UI works.
the editor can still be opened, as apparent by the fact the camera will change but is functionally useless without its UI.

Fails to compile

I'd love to try this editor for bevy but am running into some compiler issues. Any pointers would be helpful.

I edited cargo.toml to include:

...
[dependencies]
bevy = { version = "0.7.0", features = ["dynamic"] }  
bevy_editor_pls = { git = "https://github.com/jakobhellermann/bevy_editor_pls.git"}
...

and then changed my main.rs to include the reference.

use bevy::prelude::*;
use bevy_editor_pls::prelude::*;

fn main() {
    App::new()
    .add_plugins(DefaultPlugins)
    .add_plugin(EditorPlugin).run()}

I am getting the error E0432. Specifically:

error: extern location for bevy_inspector_egui_derive does not exist: /home/USER/GitRepos/my_first_rust/target/debug/deps/libbevy_inspector_egui_derive-7c6e3db4283f06dd.so

I post the entire error below. Thank you for your help.

Compiling bevy-inspector-egui v0.10.0
error: extern location for bevy_inspector_egui_derive does not exist: /home/dg/GitRepos/my_first_rust/target/debug/deps/libbevy_inspector_egui_derive-7c6e3db4283f06dd.so
   --> /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/lib.rs:130:9
    |
130 | pub use bevy_inspector_egui_derive::Inspectable;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0432]: unresolved imports `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`, `crate::Inspectable`
   --> /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/lib.rs:111:21
    |
111 |     pub use crate::{Inspectable, InspectorPlugin, RegisterInspectable, WorldInspectorPlugin};
    |                     ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/widgets/button.rs:1:22
    |
1   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/widgets/new_window.rs:3:22
    |
3   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/widgets/resource_inspector.rs:5:5
    |
5   | use crate::Inspectable;
    |     ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_impls.rs:2:22
    |
2   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_math.rs:3:22
    |
3   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/list.rs:4:20
    |
4   | use crate::{utils, Inspectable};
    |                    ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/number.rs:3:5
    |
3   | use crate::Inspectable;
    |     ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/quat.rs:4:22
    |
4   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/std.rs:7:22
    |
7   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/texture.rs:3:14
    |
3   |     Context, Inspectable,
    |              ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_core_pipeline.rs:6:5
    |
6   | use crate::Inspectable;
    |     ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_render.rs:12:29
    |
12  | use crate::{utils, Context, Inspectable};
    |                             ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_pbr.rs:11:22
    |
11  | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_sprite.rs:8:22
    |
8   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_text.rs:3:14
    |
3   |     Context, Inspectable,
    |              ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/impls/bevy_ui.rs:4:5
    |
4   | use crate::Inspectable;
    |     ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/plugin.rs:7:22
    |
7   | use crate::{Context, Inspectable, InspectableRegistry};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/world_inspector/impls.rs:2:5
    |
2   | use crate::Inspectable;
    |     ^^^^^^^^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/world_inspector/inspectable_registry.rs:1:22
    |
1   | use crate::{Context, Inspectable};
    |                      ^^^^^^^^^^^
    |
   ::: /home/dg/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy-inspector-egui-0.10.0/src/reflect/mod.rs:8:22
    |
8   | use crate::{Context, Inspectable, InspectableRegistry};
    |                      ^^^^^^^^^^^

For more information about this error, try `rustc --explain E0432`.

Windows: Can't get fly or orbit cameras to work

Hi :)

How is the fly camera supposed to work?

I tried running the examples and pressing ctrl+f and pressing wasd, arrow keys, holding down mouse etc, but nothing seems to happen to the camera.

This was on windows, fwiw.

I tried both before and after the bump to bevy-inspector-egui 0.6

panic: Resource WorldInspectorParams was inserted during a call to World::resource_scope

Not sure if this issue is related to bevy_editor_pls itself, to bevy-inspector-egui or maybe I'm doing something wrong.

The issue is that as soon as I'm trying to expand one of my components in ispector, the app crashes with panic:

thread 'main' panicked at 'Resource `bevy_inspector_egui::world_inspector::WorldInspectorParams` was inserted during a call to World::resource_scope.
This is not allowed as the original resource is reinserted to the world after the FnOnce param is invoked.', /home/set/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_ecs-0.9.1/src/world/mod.rs:1203:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Finished running. Exit status: 101]

the component is:

#[derive(Component, Default, Clone, Copy, Debug, PartialEq, Reflect, FromReflect)]
pub struct ChunkTileIndex{
  pub chunk: IVec2,
  pub tile: IVec2
}

#[derive(Component, Default, Clone, Debug, Reflect, PartialEq)]
#[reflect(Component)]
pub struct PositionOnTilemap{
  pub position: Option<ChunkTileIndex>,
  pub current_tiles: Vec<Entity>
}

A small guide to implement egui_tiles instead egui_dock

I'm trying to implement egui_tiles instead of egui_dock, and to start with I'm trying to put together bevy and egui_tiles, but I think I have problems with egui context. See this gist: Bevy and egui_tiles

I saw in the code that set the context in the EditorPlugin (from bevy_editor_pls_core crate not from bevy_editor_pls crate) , Do you have a guide on how to set the correct context for bevy and egui to work correctly?

Do you think it would be a good idea to use egui_tiles instead of egui_dock?
I am trying to make a bevy_editor_pls_core using egui_tiles instead of egui_dock to have more versatility as in this example: https://github.com/rerun-io/egui_tiles/blob/main/examples/advanced.rs

Thnx! :D

Viewport does not have any camera

Using the 0.3 update with bevy 0.10.0, I am getting no camera in the inspector viewport.

Here is my sample setup:

fn main() {
    App::new()
        .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
        .add_plugin(RapierPhysicsPlugin::<NoUserData>::default())
        .add_plugin(RapierDebugRenderPlugin::default())
        .add_plugin(bevy::diagnostic::FrameTimeDiagnosticsPlugin)
        .add_plugin(bevy::diagnostic::EntityCountDiagnosticsPlugin)
        .add_plugin(EditorPlugin)
        .init_resource::<DebugAssets>()
        .init_resource::<InputState>()
        .add_startup_system(setup_world)
        .add_startup_system(setup_player)
        .add_system(process_input_state)
        .add_system(process_player_movement.after(process_input_state))
        .run();
}

fn setup_world(mut commands: Commands, mut debug_params: DebugParams) {
    commands.spawn(Camera3dBundle {
        transform: Transform::from_xyz(0.0, 3.0, 10.0).looking_at(Vec3::ZERO, Vec3::Y),
        ..default()
    });

    commands.spawn(PointLightBundle {
        point_light: PointLight {
            intensity: 9000.0,
            range: 100.,
            shadows_enabled: true,
            ..default()
        },
        transform: Transform::from_xyz(8.0, 16.0, 8.0),
        ..default()
    });

    let mut ground = debug_params.create_physics_box(100.0, 0.1, 100.0, None);
    ground.transform = Transform::from_xyz(0.0, -0.1, 0.0);

    /* Create the ground. */
    commands.spawn(ground);
}

image
image

unable to add default floating windows

My program should launch DiagnosticsWindow from the start and place it on the top right corner, alongside the amazing editor.

But as far as I know this is impossible to do. I just cannot find a way to do this.

Please help.

Conflict when depend on bevy 8.0

Updating crates.io index
    Updating git repository `https://github.com/obsgolem/bevy_mod_raycast`
error: failed to select a version for `web-sys`.
    ... required by package `wgpu v0.12.0`
    ... which satisfies dependency `wgpu = "^0.12.0"` of package `bevy_render v0.7.0`
    ... which satisfies dependency `bevy_render = "^0.7.0"` of package `bevy_core_pipeline v0.7.0`
    ... which satisfies dependency `bevy_core_pipeline = "^0.7.0"` of package `bevy_internal v0.7.0`
    ... which satisfies dependency `bevy_internal = "^0.7.0"` of package `bevy v0.7.0`
    ... which satisfies dependency `bevy = "^0.7"` of package `bevy-inspector-egui v0.11.0`
    ... which satisfies dependency `bevy-inspector-egui = "^0.11"` of package `bevy_editor_pls_core v0.1.0 (/Users/zhouzihao/.Trash/bevy_editor_pls/crates/bevy_editor_pls_core)`
    ... which satisfies path dependency `bevy_editor_pls_core` of package `bevy_editor_pls v0.1.0 (/Users/zhouzihao/.Trash/bevy_editor_pls/crates/bevy_editor_pls)`
versions that meet the requirements `^0.3.53` are: 0.3.59, 0.3.58, 0.3.57, 0.3.56, 0.3.55, 0.3.54, 0.3.53

the package `wgpu` depends on `web-sys`, with features: `GpuBufferUsage` but `web-sys` does not have these features.


all possible versions conflict with previously selected packages.

  previously selected package `web-sys v0.3.58`
    ... which satisfies dependency `web-sys = "^0.3.53"` of package `wgpu v0.12.0`
    ... which satisfies dependency `wgpu = "^0.12.0"` of package `bevy_render v0.7.0`
    ... which satisfies dependency `bevy_render = "^0.7.0"` of package `bevy_core_pipeline v0.7.0`
    ... which satisfies dependency `bevy_core_pipeline = "^0.7.0"` of package `bevy_internal v0.7.0`
    ... which satisfies dependency `bevy_internal = "^0.7.0"` of package `bevy v0.7.0`
    ... which satisfies dependency `bevy = "^0.7"` of package `bevy-inspector-egui v0.11.0`
    ... which satisfies dependency `bevy-inspector-egui = "^0.11"` of package `bevy_editor_pls_core v0.1.0 (/Users/zhouzihao/.Trash/bevy_editor_pls/crates/bevy_editor_pls_core)`
    ... which satisfies path dependency `bevy_editor_pls_core` of package `bevy_editor_pls v0.1.0 (/Users/zhouzihao/.Trash/bevy_editor_pls/crates/bevy_editor_pls)`

failed to select a version for `web-sys` which could resolve this conflict

How can i fix it?
I'm new for rust.if can get some help .thank you,

Save Scenes throws error

when saving a scene it fails because "Type 'core::option::Option<bevy_render::camera::camera::Viewport>' did not register ReflectSerialize.

this feels like it should no prevent the saving a scene and just skip the missing types

Cannot change EditorWindow color

pub struct DiagnosticsWindow;
impl EditorWindow for DiagnosticsWindow {
    ...
    fn ui(world: &mut World, _cx: EditorWindowContext, ui: &mut egui::Ui) {
       ...
        //this one does work.
        ui.visuals_mut().override_text_color = Some(egui::Color32::RED);
        //for some reason this doesn't change the floating window frame color to red.
        ui.visuals_mut().window_fill = egui::Color32::RED;
        ui.visuals_mut().panel_fill = egui::Color32::RED;
        diagnostic_ui(ui, diagnostics);
    }
}

any help is much appreciated

Crash If no User Camera

The Editor will crash the game if you click the screen while you are in editor mode if you have not spawned your own camera, a UI camera does not count(before you say this is a rare edge case). it crashes in at least two separate checks, one in the raycast logic, and once in the change camera selection.

Feature request: Add Game camera support

Similar to other game engines, it would be nice if there was the ability to either split the existing window or change it between the "Scene" camera and the "Game" camera without having to restart the program.

Panning breaks when a customly sized app window is used

System configuration

OS: Windows 11
Bevy: 0.10.1 (from crates.io)

Display resolution: 1920 x 1080
rustc --version: rustc 1.68.2 (9eb3afe9e 2023-03-27)
rustup default: stable-x86_64-pc-windows-msvc

bevy startup output:

2023-04-16T13:03:12.341333Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon (TM) Graphics", vendor: 4098, device: 5607, device_type: IntegratedGpu, driver: "AMD proprietary driver", driver_info: "21.40.52", backend: Vulkan }
2023-04-16T13:03:13.221788Z  INFO bevy_editor_pls_default_windows::cameras: Spawning editor cameras
2023-04-16T13:03:13.827399Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Windows 11 Pro", kernel: "22621", cpu: "AMD Ryzen 7 5825U with Radeon Graphics", core_count: "8", memory: "14.8 GiB" }

What versions the problem happens on

This problem happens with bevy_editor_pls 0.4 and the latest version on the main branch on github (when I fetched it the latest commit was f202123)

The issue

When I create an App with a window that has a custom size (different from the one provided in the default() of Window), the panning controls in the editor become completely unresponsive, leaving only the scrolling enabled.

Code to reproduce the issue

use bevy::{prelude::*, window::WindowResolution};
use bevy_editor_pls::EditorPlugin;

fn startup(
    asset_server: Res<AssetServer>,
    mut commands: Commands,
) {
    // Spawned for demonstration purposes, so the starting window isn't black
    commands.spawn(Camera2dBundle::default());
    // Spawned for demonstration purposes to provide visual reference
    commands.spawn(SpriteBundle {
        texture: asset_server.load("bevy.png"),
        ..default()
    });
}

fn game_window() -> Window {
    Window {
        resolution: WindowResolution::new(
            1150.0,
            600.0,
        ),
        ..Default::default()
    }
}

fn main() {
    App::new()
        .add_plugins(
            DefaultPlugins
            .set(WindowPlugin {
                primary_window: Some(game_window()),
                ..default()
            })
        )
        .add_plugin(EditorPlugin::default())
        .add_startup_system(startup)
        .run();
}

New-main fails to build

I was looking to try out (and possibly contribute) to this repo but the 0.6 version doesn't build without some modifications, as the current commit depends on a deleted pub-next-widget-position branch of a fork of egui, which from this issue on egui I don't believe is needed anymore. I was able to fix this pretty quickly with the function from that issue, and I assume that's already been done locally, but could that be pushed to the github repo?

Virtualized Entity List

Apps with more than hundred thousand entities make ui unusable and consume so much memory. I did encounter this with both my own tile map implementation and bevy_ecs_tilemap. This can be reproduced with adding EditorPlugin into examples/bench.rs of bevy_ecs_tilemap.

Not sure if possible or how easy to impelement with current state of crates used, but a virtualized/windowed list would solve this. I can maybe tackle this and figure out how possible it is in my free time if that's okay for you.

bevy_mod_picking causes some lagging

It is nice for the debug picking, but might be nice to only have it run when your are in the editor window?

I talked with aevyrie about it a little while ago and they said they were working on a rapier backend, so might not be a problem for long.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.