refactor(M03): extract M2 mesh resource traversal
Work-Package: M03-RND-M2-MESH-RESOURCE-EXTRACTOR-001 Agent: sindo-main-codex Tests: 36 headless renderer/coordinate contracts pass; checkpoint dry-run 7/7; documentation and coordination gates pass Fidelity: preserves first-Mesh preorder and temporary PackedScene cleanup; no visual parity claim
This commit is contained in:
@@ -38,6 +38,7 @@ Paired run 2026-07-11 подтвердил крупный coordinate/placement g
|
||||
- `src/render/m2/m2_runtime_mesh_rebuild_classifier.gd` - memoized billboard/UV-rotation decision for stale cached M2 runtime mesh refresh.
|
||||
- `src/render/m2/m2_mesh_load_pipeline_state.gd` - static M2 threaded-load request records, terminal statuses and completion-order finalize FIFO without I/O or Mesh ownership.
|
||||
- `src/render/m2/m2_mesh_resource_cache_state.gd` - normalized-path prepared static M2 Mesh references with final-shutdown lifetime.
|
||||
- `src/render/m2/m2_mesh_resource_extractor.gd` - first-Mesh selection from direct/PackedScene/Node inputs with temporary instance cleanup.
|
||||
- `src/scenes/streaming/eastern_kingdoms_streaming.tscn` - текущая сцена для проверки Azeroth/Eastern Kingdoms.
|
||||
- `addons/mpq_extractor/loaders/adt_builder.gd` - сборка ADT terrain, control splat материалов и MH2O liquids.
|
||||
- `addons/mpq_extractor/loaders/m2_builder.gd` - сборка статического M2 mesh/material.
|
||||
@@ -1087,6 +1088,18 @@ $exe = Join-Path $env:TEMP 'godot-4.6.1-openwc\Godot_v4.6.1-stable_win64.exe'
|
||||
- Cache formats, refresh metadata, profiles and visible output are unchanged.
|
||||
Synthetic cache timing is not asset-backed memory/leak or p95/p99 evidence.
|
||||
|
||||
## 2026-07-17 M2 Mesh Resource Extractor
|
||||
|
||||
- `M2MeshResourceExtractor` now selects the first Mesh from direct Mesh
|
||||
Resources, temporary PackedScene instances and existing prototype/rebuild
|
||||
Node subtrees using the prior depth-first child order.
|
||||
- PackedScene extraction still instantiates exactly once and synchronously frees
|
||||
the temporary root before returning the borrowed Mesh reference.
|
||||
- `StreamingWorldLoader` still owns ResourceLoader I/O, raw M2 loading,
|
||||
material refresh/rebuild, cache/missing adoption, permits and MultiMesh builds.
|
||||
- Cache formats, traversal rules, profiles and visible output are unchanged.
|
||||
Synthetic traversal timing is not asset-backed leak or p95/p99 evidence.
|
||||
|
||||
## 2026-07-17 WMO Placement Resolver Extraction
|
||||
|
||||
- `WmoPlacementResolver` now owns lowercase/slash cache-key normalization,
|
||||
|
||||
Reference in New Issue
Block a user