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

1.2 KiB

Status: Superseded by ADR 0022

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.