aboutsummaryrefslogtreecommitdiff
path: root/crates/fparkan-runtime
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 11:31:30 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 11:31:30 +0300
commitb744a9d880a853c5509f624b0e357416ba382b1d (patch)
tree60729c6c87244af2cde8c4bed13441a2d0c3e484 /crates/fparkan-runtime
parentf4fd8f4fce8ea3eda8780ddb09339b52ea784b27 (diff)
downloadfparkan-b744a9d880a853c5509f624b0e357416ba382b1d.tar.xz
fparkan-b744a9d880a853c5509f624b0e357416ba382b1d.zip
feat(runtime): trace material validation requests
Diffstat (limited to 'crates/fparkan-runtime')
-rw-r--r--crates/fparkan-runtime/src/lib.rs21
1 files changed, 15 insertions, 6 deletions
diff --git a/crates/fparkan-runtime/src/lib.rs b/crates/fparkan-runtime/src/lib.rs
index 8ecce74..42b3eda 100644
--- a/crates/fparkan-runtime/src/lib.rs
+++ b/crates/fparkan-runtime/src/lib.rs
@@ -125,6 +125,8 @@ pub enum MissionLoadPhase {
GraphVisualWears,
/// Resolve MAT0 documents while expanding visual dependencies.
GraphVisualMaterials,
+ /// Progress marker emitted after each 64 MAT0 validation requests.
+ GraphVisualMaterialRequests(usize),
/// Validate TEXM documents while expanding visual dependencies.
GraphVisualTextures,
/// Progress marker emitted after each 64 TEXM validation requests.
@@ -723,12 +725,19 @@ fn load_mission_with_options_and_progress(
record_load_phase(&mut trace, &mut on_phase, runtime_phase);
last_graph_visual_phase = Some(runtime_phase);
}
- if progress.phase == VisualDependencyPhase::Texture && progress.request_count > 1 {
- record_load_phase(
- &mut trace,
- &mut on_phase,
- MissionLoadPhase::GraphVisualTextureRequests(progress.request_count),
- );
+ if progress.request_count > 1 {
+ let request_phase = match progress.phase {
+ VisualDependencyPhase::Wear => None,
+ VisualDependencyPhase::Material => Some(
+ MissionLoadPhase::GraphVisualMaterialRequests(progress.request_count),
+ ),
+ VisualDependencyPhase::Texture => Some(
+ MissionLoadPhase::GraphVisualTextureRequests(progress.request_count),
+ ),
+ };
+ if let Some(request_phase) = request_phase {
+ record_load_phase(&mut trace, &mut on_phase, request_phase);
+ }
}
},
);