bevyengine / bevyengine/bevy

Process an asset directory for consumption on Wasm32

Open
#11,965 0 comments 0 reactions 0 assignees View on GitHub
A-Assets C-Feature
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

Because HTTP by design does not support directory listing, it is impossible to use `asset_server.load_folder` on 2asm32.

## What solution would you like?

It should be possible to process a directory, as one might process any other asset, and store the processed directory on the filesystem. Then, when the asset is loaded on wasm32, it only loads the already-processed directory asset file.

## What alternative(s) have you considered?

- Manually writing out the directory's contents as a separate resource. This requires maintaining the directory file and is prone to error.
- Using separate automation to write out the directory's contents. This is quite viable but undermines the Assets v2 goal of being able to do the entire pipeline entirely in Bevy.

## Additional context

See #9932 for an example of a use case that will not work on wasm32.

Contributor guide

Open the contributing guide

Research direction

Start with the asset_server.load_folder entry point and review issue #9932 for the wasm32 use case. Define the processing path for a directory, how the processed asset is stored on the filesystem, and how wasm32 loads that stored asset; done means directory assets work without HTTP directory listing.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
build-system, game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.