From e4bb10cee78139c408682af3208f382d63bf344e Mon Sep 17 00:00:00 2001 From: sindoring Date: Fri, 17 Jul 2026 15:44:15 +0400 Subject: [PATCH] coord(M03): claim raw M2 model repository Work-Package: M03-RND-M2-RAW-MODEL-REPOSITORY-001 Agent: sindo-main-codex Tests: coordination gate passed before claim Fidelity: native-boundary extraction only; parser methods and paths unchanged --- .../M03-RND-M2-RAW-MODEL-REPOSITORY-001.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 coordination/claims/M03-RND-M2-RAW-MODEL-REPOSITORY-001.md diff --git a/coordination/claims/M03-RND-M2-RAW-MODEL-REPOSITORY-001.md b/coordination/claims/M03-RND-M2-RAW-MODEL-REPOSITORY-001.md new file mode 100644 index 0000000..f64763b --- /dev/null +++ b/coordination/claims/M03-RND-M2-RAW-MODEL-REPOSITORY-001.md @@ -0,0 +1,90 @@ +# M03-RND-M2-RAW-MODEL-REPOSITORY-001 — raw M2 model repository + + + +## Ownership + +- Target: M03 +- Program: RND +- Owner/Agent ID: sindo-main-codex +- Branch: `work/sindo-main-codex/m03-m2-raw-model-repository` +- Lease expires UTC: 2026-07-20 +- Integrator: M03 milestone integrator + +## Outcome + +Extract the repeated FileAccess/ClassDB native `M2Loader` boundary for static +and animated raw model Dictionaries from `StreamingWorldLoader`. + +## Non-goals + +- Cache raw data, Meshes, prototypes, missing paths or animation decisions. +- Build Nodes/Meshes, refresh materials or choose `.tscn/.glb` caches. +- Change static/animated parser methods, path resolution or fallback order. +- Add dependencies, persistence, retries or visible behavior. + +## Paths + +- Exclusive: `src/render/m2/m2_raw_model_repository.gd`, + `src/tools/verify_m2_raw_model_repository.gd`, + `docs/modules/m2-raw-model-repository.md`, this claim +- Shared/hotspots: `src/scenes/streaming/streaming_world_loader.gd`, M2 + finalizer/extractor/cache/pipeline/material/animation/shutdown verifiers and + module specs, `docs/modules/world-renderer.md`, `docs/modules/README.md`, + `RENDER.md`, `targets/03-renderer-facade.md` +- Generated/ignored: `.godot`, native DLL, generated M2 resources, caches and + proprietary renderer corpus + +## Contracts and data + +- Static load calls native `load_m2`; animated load calls `load_m2_animated`. +- Paths remain `globalize_path(extracted_directory.path_join(normalized_path))`. +- Empty path, missing native class/file/instance/method, parse failure or + non-Dictionary result returns an empty Dictionary without retained state. +- Each successful request creates one native loader instance as before. + +## Dependencies + +- Requires: accepted runtime Mesh finalizer package on master `1d94eac` +- Blocks: M2 prototype/cache state extraction +- External state: native M2Loader registration and local extracted files + +## Verification + +- Commands: dedicated invalid/missing/class/source/timing verifier; finalizer/ + classifier/extractor/cache/pipeline/material/animation/shutdown/M2 build/facade/ + internal-access/manifest, documentation and coordination gates +- Fixtures: empty/missing normalized paths plus source contract; proprietary + success corpus remains external +- Fidelity evidence: exact native method names, path expression and three caller transitions +- Performance budget: 10,000 rejected empty-path calls under 1 second + +## Documentation deliverables + +- Inline public API docs +- Module specification with inputs/outputs, ownership and source map +- Data-flow, lifecycle/state, sequence and dependency diagrams +- Finalizer/extractor/cache/pipeline, world-renderer, registry and RENDER updates + +## Simplicity and naming + +- Important name introduced: `M2RawModelRepository` +- Simplest solution: one stateless RefCounted with static and animated load methods +- Rejected complexity: generic native repository, caching, dependency injection, + retries, diagnostics framework or async wrapper +- Unavoidable complexity: animated native method availability is a distinct guard +- Measured optimization evidence: bounded rejected-input loop + +## Status + +- State: claimed +- Done: refresh/static-prototype/native-animation M2Loader paths identified +- Next: implement repository, migrate adapters, verify and document +- Blocked by: + +## Handoff + +- Commit: +- Results: +- Remaining risks: +- Documentation updated: