jakobhellermann / bevy_editor_pls Goto Github PK
View Code? Open in Web Editor NEWIn-App editor tools for bevy applications
License: Other
In-App editor tools for bevy applications
License: Other
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
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 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.
Clicking the hamburger icons causes a panic. Happened in my own project and confirmed it is also happening in the breakout example.
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
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!
Might be interesting to use https://docs.rs/egui/0.18.1/egui/struct.Memory.html to make the set up of the editor be persistent across restarts of the game. I'll look a bit more into this, but just filing the issue for visibility.
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);
}
}
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();
}
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" }
This problem happens with bevy_editor_pls 0.4 and the latest version on the main branch on github (f202123).
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
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();
}
Seeing as Bevy 0.10 is about to be released, I thought it's time to put this in the room ๐
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:
I only tested the native builds, not the wasm ones.
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.
The ComputedVisibilityFlags struct exists jut in 0.11.3 but is not present in main branch or 0.11 branch.
At least in the 2D editor, scrolling in one of the side panels will also zoom the camera, which is undesirable in my opinion.
Video of it happening: https://imgur.com/a/qa23RXd
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 :)
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?
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
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
#[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
.
Overview: Enabling the editor plugin prevents the bevy window from being resized, regardless of the resizable
flag on the window.
Version Info:
[email protected]
bevy_editor_pls@63872f9d0ecbe94be1a3ebe4087797154f3bb00e
rustc: 1.61.2
Architecure: x86_64
OS: Windows 11
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
is it possible to have some windows opened on startup?
Is there a reason this was not done yet? The crate is definitely usable enough :)
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.
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;
}
}
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.
[[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",
]
Mac os sonoma 14 (beta)
`AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }`
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".
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
Full backtrace
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
This would make the editor camera keyboard layout independent. This is especially important for e.g. French users. Or me, since I'm using Workman :)
Keep in mind that ScanCodes are platform dependent. Inspiration for the implementation can be drawn from Leafwing-Studios/leafwing-input-manager#312
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.
i believe this (and the other crates) should point to bevy_edito_pls repo instead. i am not sure if this is intentional.
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`.
This would make #62 trivial to implement. If I get your okay @jakobhellermann, I can setup a PR for this.
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
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>
}
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
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);
}
If you need a file dialog for scene import (and other assets), you can find one here: https://github.com/Barugon/egui_file
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.
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,
In the readme, it says V 0.4 of this plugin works with bevy 0.10 but it doesnt... it only works with bevy 0.11
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
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
Missing LICENSE file(s) and entries in Cargo.toml
s
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.
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.
Any info on if/when this is going to be updated?
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" }
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)
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.
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();
}
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?
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.
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.
It would be great if the hierarchy could be filtered with entities which have a specific component.
Especially helpful if a large amount of entities are in the world.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.