Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
3621295
Create a test to ensure that we actually gate on file transactions.
andriyDev Nov 19, 2025
4ded24c
Implement one-to-many asset processing.
andriyDev Sep 27, 2025
0abe60a
Add a test for one-to-many asset processing.
andriyDev Sep 27, 2025
f65170f
Update the "wrong_hash" test to also check that one-to-many asset pro…
andriyDev Nov 17, 2025
db67b4b
Update the `gates_asset_path_on_process` test to also include a "mult…
andriyDev Nov 19, 2025
c4dbf69
Use let-else for initializing the asset processor.
andriyDev Nov 15, 2025
77a66f8
Delete the meta file of empty folders to make sure we don't keep arou…
andriyDev Nov 15, 2025
c6e5a92
Treat any directory with a meta file as an asset path for processed a…
andriyDev Nov 18, 2025
809ecfc
Delete processed assets (or multi-processed-assets) before processing…
andriyDev Nov 18, 2025
7694049
Recursively look for processor asset infos to block on multi-processe…
andriyDev Nov 18, 2025
60fc4bb
Create a migration guide for Process trait changes.
andriyDev Nov 19, 2025
2c4be0f
Create release notes for one-to-many asset processing.
andriyDev Nov 19, 2025
8181a26
Update the asset processing example to show that we can do one-to-man…
andriyDev Nov 19, 2025
c50d0f9
Add some checks to verify the behavior of some error cases for invali…
andriyDev Nov 19, 2025
9ccaaf9
Update some doc comment wording and release note wording.
andriyDev Nov 21, 2025
c8f2933
Rename write_single and write_multiple to write_full and write_partia…
andriyDev Nov 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions crates/bevy_asset/src/meta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ pub enum AssetAction<LoaderSettings, ProcessSettings> {
processor: String,
settings: ProcessSettings,
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is essentially saying "once an asset is processed into multiple new assets, you can't load the original asset anymore"? Can we state it more like that if so?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a much more obvious way to put it! I slightly reworded it, but overall the same.

/// This asset has been decomposed into multiple files. The original asset path can no longer be
/// loaded.
Decomposed,
/// Do nothing with the asset
Ignore,
}
Expand Down Expand Up @@ -110,6 +113,7 @@ pub struct AssetMetaMinimal {
pub enum AssetActionMinimal {
Load { loader: String },
Process { processor: String },
Decomposed,
Ignore,
}

Expand Down Expand Up @@ -177,13 +181,12 @@ impl_downcast!(Settings);
/// The () processor should never be called. This implementation exists to make the meta format nicer to work with.
impl Process for () {
type Settings = ();
type OutputLoader = ();

async fn process(
&self,
_context: &mut bevy_asset::processor::ProcessContext<'_>,
_meta: AssetMeta<(), Self>,
_writer: &mut bevy_asset::io::Writer,
_writer_context: bevy_asset::processor::WriterContext<'_>,
) -> Result<(), bevy_asset::processor::ProcessError> {
unreachable!()
}
Expand Down
259 changes: 194 additions & 65 deletions crates/bevy_asset/src/processor/mod.rs

Large diffs are not rendered by default.

Loading