Allow Bevy windows to be spawned as a child of an existing window
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
Currently, a Bevy app is designed to be a standalone application. Instead, I need to use a Bevy app within an existing application.
## What solution would you like?
I would like to be able to initialize a Bevy window as a child of an existing window; this seems like the most straightforward and promising way.
## Additional context
There was a previous discussion about this here #4838, which forked bevy_winit to create all windows as a child window using https://smithay.github.io/smithay/winit/window/struct.WindowBuilder.html#method.with_parent_window
It's unclear to me if this a parent window should be shared for all windows in the app, or per-window.
It seems winit child windows have poor multi-platform support (not sure if this matters?).
I'd love to implement this myself once I have some guidance on how to proceed.
Contributor guide
Research direction
Start with the previous discussion in #4838 and winit's WindowBuilder.with_parent_window reference, then determine whether the parent is shared or per-window and which platforms support child windows. Done means Bevy can initialize a window as a child of an existing application window with the intended ownership and platform scope documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100