render: extract M2 Mesh resource finalizer
This commit is contained in:
@@ -47,6 +47,7 @@ Paired run 2026-07-11 подтвердил крупный coordinate/placement g
|
||||
- `src/render/m2/m2_cached_animation_resource_observer.gd` - cached animated GLB eligibility, threaded request admission and snapshot production.
|
||||
- `src/render/m2/m2_animation_load_pipeline_state.gd` - animated M2 threaded-load request records and completion-order finalize FIFO without I/O or Node ownership.
|
||||
- `src/render/m2/m2_animation_resource_finalizer.gd` - cached animated M2 terminal status polling, Resource load, scene finalization and prototype/static-only outcome.
|
||||
- `src/render/m2/m2_mesh_resource_finalizer.gd` - static M2 terminal status polling, Mesh extraction/preparation and cache/missing outcome.
|
||||
- `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.
|
||||
@@ -1169,6 +1170,22 @@ $exe = Join-Path $env:TEMP 'godot-4.6.1-openwc\Godot_v4.6.1-stable_win64.exe'
|
||||
- No request order, status rule, cache format, profile or visible behavior changed.
|
||||
Synthetic fixtures are not asset-backed animation/leak/p95/p99 evidence.
|
||||
|
||||
## 2026-07-18 M2 Mesh Resource Finalizer Extraction
|
||||
|
||||
- `M2MeshResourceFinalizer` now owns static M2 terminal status polling,
|
||||
completion-FIFO pops, terminal Resource retrieval, first-Mesh extraction,
|
||||
stale/current runtime preparation and Mesh/missing cache adoption.
|
||||
- Pending paths are still polled in insertion order. One
|
||||
`M2_MESH_FINALIZE` permit still pops at most one terminal record; cached Mesh
|
||||
outcomes skip terminal retrieval exactly as before.
|
||||
- Current Meshes retain exact identity and skip raw reads. Stale Meshes still
|
||||
request raw data only when `M2RuntimeMeshFinalizer` requires it, preserving
|
||||
refresh-version, rebuild and original-Mesh fallback rules.
|
||||
- `StreamingWorldLoader` retains request admission, scheduler permits,
|
||||
composition, static materialization and shutdown drain ordering. Cache paths,
|
||||
profiles and visible behavior are unchanged; synthetic fixtures are not
|
||||
asset-backed visual/leak/p95/p99 evidence.
|
||||
|
||||
## 2026-07-18 M2 Native Animation Resource Observer Extraction
|
||||
|
||||
- `M2NativeAnimationResourceObserver` now owns the exact case-insensitive
|
||||
@@ -1244,12 +1261,14 @@ $exe = Join-Path $env:TEMP 'godot-4.6.1-openwc\Godot_v4.6.1-stable_win64.exe'
|
||||
|
||||
- `M2RuntimeMeshFinalizer` now owns material refresh version `2`, stale-Mesh
|
||||
rebuild classification, M2Builder rebuild and original-Mesh fallback.
|
||||
- Current Meshes still skip raw `.m2` loading. `M2RawModelRepository` now owns
|
||||
FileAccess/ClassDB M2Loader I/O and supplies raw data through the loader only
|
||||
when the finalizer reports a stale Mesh; both historical clear sites persist.
|
||||
- Current Meshes still skip raw `.m2` loading. `M2RawModelRepository` owns
|
||||
FileAccess/ClassDB M2Loader I/O and supplies raw data through
|
||||
`M2MeshResourceFinalizer` only when the runtime finalizer reports a stale Mesh;
|
||||
both historical clear sites persist.
|
||||
- Billboard/UV-rotation predicates, rebuild extraction, metadata key and failure
|
||||
fallback are unchanged. Cache adoption decisions, permits and MultiMesh
|
||||
materialization remain loader-owned; negative outcomes belong to prototype state.
|
||||
fallback are unchanged. Mesh resource finalization owns cache adoption;
|
||||
permits and MultiMesh materialization remain loader-owned, while negative
|
||||
outcomes belong to prototype state.
|
||||
- Synthetic triangle rebuild/fallback timing is not asset-backed material,
|
||||
descriptor-pressure/leak or p95/p99 evidence.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user