Tracking Issue: `no_std` for `bevy_asset`
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
# Motivation
`bevy_asset` is a key crate within Bevy that makes heavy usage of `std`, making it challenging to add `no_std` support to. This is a tracking issue to document what I anticipate will be a lengthy process.
## End Goal
- To support some subset of `bevy_asset` on `no_std` targets, such as `wasm32v1-none`
## Tasks
Below are some particular tasks which will need to be accomplished prior to `no_std` support. They are in no particular order.
- [ ] [Remove or make optional `parking_lot`](https://github.com/bevyengine/bevy/pull/18996)
- [ ] [Add `no_std` support to `ron`](https://github.com/ron-rs/ron/pull/567)
- Handle the following incompatible dependencies:
- [ ] `async-broadcast`
- [ ] `async-fs`
- [ ] `crossbeam-channel`
- [ ] `futures-io`
- [ ] Make `AssetPath` independent of `std::path::Path` (Cart has previously expressed that `AssetPath` should always be valid UTF-8 _and_ only use `/` as its path separator, implying `str` is a suitable backend)
- [ ] Make `bevy_asset` independent of `std::io::Error`.
- [ ] Feature-gate built-in filesystem IO support (`std::fs`)
Contributor guide
Assessment
This issue has not been assessed yet.