diff options
| author | HampusM <hampus@hampusmat.com> | 2026-10-27 13:08:18 +0100 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-10-27 13:08:18 +0100 |
| commit | 99d57553432810f83f5c59a6cce78e7281d1b8d3 (patch) | |
| tree | b2a02a64aa1bd5db1554a9e8e4e816da71b5636f /engine | |
| parent | 6c569cc489fd2afb03f584a67d0d94b1c14bfc1e (diff) | |
fix(engine): make Assets::get_status_by_label not deem assets not stored as pending
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/src/asset.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/engine/src/asset.rs b/engine/src/asset.rs index 4e50d9b..47a6dfc 100644 --- a/engine/src/asset.rs +++ b/engine/src/asset.rs @@ -334,7 +334,7 @@ impl Assets let asset_metadata = asset_id.and_then(|asset_id| metadata_lut.get(asset_id)); - let mut asset_exists_and_not_ready = false; + let mut is_asset_loading = false; if let Some(asset_metadata) = asset_metadata { match &asset_metadata.state { @@ -347,14 +347,17 @@ impl Assets AssetState::Ready => { return Status::Ready; } - AssetState::NotStored | AssetState::Loading => { - asset_exists_and_not_ready = true; + AssetState::Loading => { + // TODO: It might be possible to just return Status::Pending here + // since asset states are propagated to their related assets + is_asset_loading = true; } + AssetState::NotStored => {} } } if label.name.is_none() { - return if asset_exists_and_not_ready { + return if is_asset_loading { Status::Pending } else { Status::NotFound @@ -395,14 +398,14 @@ impl Assets // It would make no sense for a asset's status to be Status::Failed if the // parent asset has a missing dependency - if asset_exists_and_not_ready { + if is_asset_loading { Status::Pending } else { Status::NotFound } } Some(parent_asset_state) => parent_asset_state, - None if asset_exists_and_not_ready => Status::Pending, + None if is_asset_loading => Status::Pending, None => Status::NotFound, } } |
