-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Winit Decoupling #23040
Copy link
Copy link
Open
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-GoalSomething big or high-value that the Bevy Organization wants to accomplish. FOR SME USE ONLY!Something big or high-value that the Bevy Organization wants to accomplish. FOR SME USE ONLY!S-Waiting-on-SMEThis is currently waiting for an SME to resolve something controversialThis is currently waiting for an SME to resolve something controversialX-Needs-SMEThis type of work requires an SME to approve it.This type of work requires an SME to approve it.
Description
Metadata
Metadata
Assignees
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-GoalSomething big or high-value that the Bevy Organization wants to accomplish. FOR SME USE ONLY!Something big or high-value that the Bevy Organization wants to accomplish. FOR SME USE ONLY!S-Waiting-on-SMEThis is currently waiting for an SME to resolve something controversialThis is currently waiting for an SME to resolve something controversialX-Needs-SMEThis type of work requires an SME to approve it.This type of work requires an SME to approve it.
Type
Fields
No fields configured for issues without a type.
Projects
StatusShow more project fields
Inactive (Approved)
StatusShow more project fields
SME Triaged
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. Its state on the Project Goals Board determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.