Blacksite/docs/adr/0019-local-bevy-render-timeout-patch.md
Rbanh b5e561904c
Some checks failed
CI / Format, lint, test, build (push) Has been cancelled
Upgrade to Bevy 0.19 and harden editor workflows
2026-07-09 23:43:47 -04:00

30 lines
1.2 KiB
Markdown

Status: Superseded by [ADR 0022](0022-bevy-0-19-upgrade.md)
Context
=======
The editor targets Linux desktop sessions where transient swapchain acquire
timeouts can occur during heavy GPU work, compositor stalls, or driver hiccups.
In upstream `bevy_render` 0.18.1, `prepare_windows` treated
`wgpu::SurfaceError::Timeout` as a fatal path. That can crash the editor even
though the next frame can often recover.
Decision
========
For the Bevy 0.18 line, patch `bevy_render` locally through `[patch.crates-io]` and vendor the scoped
crate copy under `third_party/bevy_render`. The patch is limited to transient
surface acquire timeouts in `prepare_windows`: log the timeout and skip the
frame instead of panicking. Other surface errors remain on their existing paths.
Consequences
============
The editor is more tolerant of transient Linux swapchain stalls while preserving
the current Bevy API surface for the rest of the workspace.
The Bevy 0.19 upgrade removed the active `[patch.crates-io]` entry for `bevy_render`.
The historical `third_party/bevy_render` copy was removed with the upgrade. Future
swapchain timeout work should start from Bevy 0.19/wgpu behavior rather than carrying
this patch forward by default.