Winit Decoupling
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Goal Description
The ECS and winit have grown closely intertwined, largely because ECS updates run within the windowing event loop. For various reasons, this is blocking some hotly desired features (frame-pacing and accurate input timestamps, for example). The close coupling also makes it hard to use alternative windowing backends like SDL. We intend to instead move the ECS onto it's own thread, so ECS updates can occur independently of windowing updates. The ECS and windowing will instead communicate via message passing.
## Goal Status
This is a potential [Bevy Project Goal](https://bevy.org/learn/contribute/project-information/project-goals/). Its state on the [Project Goals Board](https://github.com/orgs/bevyengine/projects/23/views/1) determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.
- **Staffing SMEs**: Not yet staffed
- **Working Group Link**: Working Group not yet formed
- **Design Documents**: https://hackmd.io/@bevy/winit_refactorening
Contributor guide
Assessment
This issue has not been assessed yet.