# M03-RND-M2-STATIC-BUILD-RESOURCE-OBSERVER-001

<!-- OPENWC_CLAIM:M03-RND-M2-STATIC-BUILD-RESOURCE-OBSERVER-001:sindo-main-codex:2026-07-20 -->

## Owner

- Agent ID: `sindo-main-codex`
- Target: M03 Renderer Facade and Safe Extraction
- Branch: `work/sindo-main-codex/m03-m2-static-build-resource-observer`
- Worktree: `C:\Users\sindo\open-wc-worktrees\m03-m2-static-build-resource-observer`

## Outcome

Move static M2 build cache lookup, threaded request selection and terminal
missing transition from the loader into a service that fills
`M2BuildResourceSnapshot`.

## Non-goals

- Move animation/native prototype observation or finalize drains.
- Own/free Meshes, Nodes or cache entries.
- Change path candidate order, GLB filtering, retry behavior, permits or visuals.
- Change cache formats, profiles or batching.

## Paths

- Exclusive: `src/render/m2/m2_static_build_resource_observer.gd`,
  `src/tools/verify_m2_static_build_resource_observer.gd`,
  `docs/modules/m2-static-build-resource-observer.md`, this claim
- Shared: loader, M2 snapshot/dispatch/pipeline/cache specs and verifiers,
  world renderer, module registry, RENDER and M03 Evidence

## Contracts and data

- Cached Mesh wins; terminal missing returns missing; existing pending request waits.
- Candidate order remains normalized/lowercase nested then basename per extension.
- `.tscn` precedes `.glb`; pivot-prefix GLB is skipped for static build.
- Successful/`ERR_BUSY` request is remembered; no usable candidate marks missing.
- Snapshot adopts exact Mesh/missing result; service never frees engine objects.

## Dependencies

- Requires: accepted resource snapshot `032a256`
- Blocks: remaining animated resource observer extraction

## Verification

- Synthetic cache/pipeline/snapshot lifecycle, path order, source boundaries and timing;
  adjacent M2 and renderer gates; full headless suite and checkpoint dry-run.

## Documentation deliverables

- Inline API docs; module API/I/O/ownership; data-flow/state/sequence/dependency
  diagrams; adjacent renderer docs and M03 Evidence.

## Status

- State: active
- Done: ownership/compatibility contract
- Next: implementation, verification and documentation
- Blocked by:

## Handoff

- Commit:
- Results:
- Remaining risks:
- Documentation updated:
