render: extract static M2 build resource observer

This commit is contained in:
2026-07-18 03:01:43 +04:00
parent f062ea91cd
commit 7cb3e3412f
16 changed files with 540 additions and 84 deletions
+7 -5
View File
@@ -187,9 +187,9 @@ queue/hitch metrics remain unchanged.
## Extension points
A later resource-observation service may produce this snapshot while moving
ResourceLoader/cache request ownership out of the loader. The value contract
must remain independent of that service and of generic callback frameworks.
`M2StaticBuildResourceObserver` now produces the static phase. A later animated
observer may produce the first phase. The value contract remains independent of
both producers and of generic callback frameworks.
## Capability status
@@ -197,7 +197,8 @@ must remain independent of that service and of generic callback frameworks.
|---|---|---|---|
| Typed per-step M2 resource observation | Implemented extraction | Identity/adoption/lifetime/source/timing verifier | Asset-backed traversal pending |
| Dispatch decision | Implemented separately | Dispatch planner verifier | Asset-backed traversal pending |
| Resource lookup/request execution | Loader-owned | Cache/pipeline regressions | Service extraction pending |
| Static lookup/request execution | Implemented separately | Static observer verifier | Asset-backed traversal pending |
| Animated lookup/request execution | Loader-owned | Animation regressions | Service extraction pending |
| Engine lifetime/materialization | Loader/materializer-owned | Lifetime/materializer regressions | GPU/p95/p99 evidence pending |
## Known gaps and risks
@@ -213,7 +214,8 @@ must remain independent of that service and of generic callback frameworks.
|---|---|
| `src/render/m2/m2_build_resource_snapshot.gd` | Typed per-step resource observations and diagnostics |
| `src/render/m2/m2_build_dispatch_planner.gd` | Snapshot-to-action planning |
| `src/scenes/streaming/streaming_world_loader.gd` | Resource observation/request execution and materializer borrowing |
| `src/render/m2/m2_static_build_resource_observer.gd` | Static snapshot production and requests |
| `src/scenes/streaming/streaming_world_loader.gd` | Animated observation/request execution and materializer borrowing |
| `src/tools/verify_m2_build_resource_snapshot.gd` | Identity/adoption/lifetime/boundary/timing regression |
## Related decisions and references