diff options
| author | Valentin Popov <valentin@popov.link> | 2026-07-18 11:16:45 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-07-18 11:16:45 +0300 |
| commit | bcf1ce99719bb455d47e716951a7d3943dd41b33 (patch) | |
| tree | 216092605602a87fb0a38b7dcad08f1ba4e6649a /crates/fparkan-runtime/src | |
| parent | 6b4fefc21f30300b07e6e6e99eedf3d81e855388 (diff) | |
| download | fparkan-bcf1ce99719bb455d47e716951a7d3943dd41b33.tar.xz fparkan-bcf1ce99719bb455d47e716951a7d3943dd41b33.zip | |
feat(runtime): trace visual dependency requests
Diffstat (limited to 'crates/fparkan-runtime/src')
| -rw-r--r-- | crates/fparkan-runtime/src/lib.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/crates/fparkan-runtime/src/lib.rs b/crates/fparkan-runtime/src/lib.rs index 154d588..8ecce74 100644 --- a/crates/fparkan-runtime/src/lib.rs +++ b/crates/fparkan-runtime/src/lib.rs @@ -22,7 +22,7 @@ use fparkan_assets::{ decode_mission_land_path, decode_mission_payload, decode_nres_payload, - derive_mission_land_paths, extend_graph_report_with_visual_dependencies_and_progress, + derive_mission_land_paths, extend_graph_report_with_visual_dependencies_with_progress, prepare_terrain_world, AssetError as AssetPreparationError, AssetId, AssetManager, AssetPreparationPhase, BuildCategory, MissionAssetPlan, MissionDocument, MissionError, MissionTerrainPaths, NresError, PreparedVisual, TerrainFormatError, TerrainPreparationError, @@ -127,6 +127,8 @@ pub enum MissionLoadPhase { GraphVisualMaterials, /// Validate TEXM documents while expanding visual dependencies. GraphVisualTextures, + /// Progress marker emitted after each 64 TEXM validation requests. + GraphVisualTextureRequests(usize), /// Prepare all reachable visual/resource dependencies. Assets, /// Decode and validate MSH model meshes. @@ -706,13 +708,13 @@ fn load_mission_with_options_and_progress( build_prototype_graph_report(&repository, vfs.as_ref(), scoped_graph_roots); record_load_phase(&mut trace, &mut on_phase, MissionLoadPhase::GraphVisuals); let mut last_graph_visual_phase = None; - extend_graph_report_with_visual_dependencies_and_progress( + extend_graph_report_with_visual_dependencies_with_progress( &repository, &mut prototype_report, &mut prototype_graph, &resolved_prototypes, - |phase| { - let runtime_phase = match phase { + |progress| { + let runtime_phase = match progress.phase { VisualDependencyPhase::Wear => MissionLoadPhase::GraphVisualWears, VisualDependencyPhase::Material => MissionLoadPhase::GraphVisualMaterials, VisualDependencyPhase::Texture => MissionLoadPhase::GraphVisualTextures, @@ -721,6 +723,13 @@ 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 !prototype_report.is_success() { |
