summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-10-27 13:08:18 +0100
committerHampusM <hampus@hampusmat.com>2026-10-27 13:08:18 +0100
commit99d57553432810f83f5c59a6cce78e7281d1b8d3 (patch)
treeb2a02a64aa1bd5db1554a9e8e4e816da71b5636f /engine
parent6c569cc489fd2afb03f584a67d0d94b1c14bfc1e (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.rs15
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,
}
}