Missing shader asset should fail instead of keep retrying
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
When compiling a pipeline, bevy currently doesn't know if the shader is missing because it's not yet loaded or because it failed to load because it's simply missing. In the case where the shader is completely missing bevy should log an error and stop retrying to compile the pipeline. Also, if you queue an item with an invalid pipeline bevy should let you know that it won't render the item you queued. Essentially we need to differentiate between a pipeline that is in the process of loading and one that is invalid and will never complete. Users should be able to detect this state and simply stop queueing on an invalid pipeline. For bevy's own phases if a pipeline is invalid and keeps getting queued we should log an error because that's simply invalid state and we should be loud about it.
I believe this will require asset server changes to be able to differentiate between missing assets and assets that are loading.
Contributor guide
Assessment
This issue has not been assessed yet.