# M00-QAR-FOV-SWEEP-001 — Empirical camera FOV sweep

<!-- OPENWC_CLAIM:M00-QAR-FOV-SWEEP-001:sindo-main-codex:2026-07-14 -->
<!-- OPENWC_INTEGRATION:ACCEPTED:M00-QAR-FOV-SWEEP-001:f548507 -->

## Ownership

- Target: M00
- Program: QAR
- Owner/Agent ID: sindo-main-codex
- Branch: `work/sindo-main-codex/m00-fov-sweep`
- Lease expires UTC: 2026-07-14
- Integrator: milestone integrator

## Outcome

Support a bounded empirical FOV sweep when build 12340 does not expose a readable camera FOV CVar.

## Non-goals

- Claiming exact WoW FOV from a single manually aimed screenshot.
- Changing runtime player camera defaults.
- Automating yaw/pitch registration or image warping.

## Paths

- Exclusive: FOV/filter CLI additions in checkpoint tools
- Shared/hotspots: renderer baseline documentation
- Generated/ignored: local sweep PNGs and JSON reports

## Contracts and data

- Public API/events: additive `--camera-fov` and comparator `--only` CLI options
- Schema/format version: unchanged
- Migration/compatibility: existing commands retain defaults
- Consumers: M00 fidelity workflow

## Dependencies

- Requires: build 12340 reference JPG and paired-image comparator
- Blocks: empirical projection ranking
- External state: original screenshots remain outside Git

## Verification

- Commands: synthetic comparator test, capture dry-run with override, bounded real sweep
- Fixtures: `elwynn_adt_boundary` reference
- Fidelity evidence: ranked perceptual metrics with manual-direction limitation
- Performance budget: offline diagnostic

## Documentation deliverables

- Inline public API docs: CLI headers
- Module specification: verification/source map if needed
- Data-flow diagram: FOV sweep flow
- Sequence/state/dependency diagrams: not applicable
- Source map/status updates: baseline findings

## Simplicity and naming

- Important names introduced: `camera_fov_override`, `only_filter`
- Simplest considered solution: reuse capture and comparator
- Rejected complexity/abstractions: computer vision registration framework
- Unavoidable complexity and justification: multiple captures are required because client FOV is inaccessible
- Measured optimization evidence: not applicable

## Status

- State: ready
- Done: client FOV access audit, capture override, comparator filter/regression, dedicated-camera ownership fix and bounded sweep
- Next: integrator review; obtain reproducible yaw/pitch/zoom metadata before changing normative FOV
- Blocked by:

## Handoff

- Commit: branch HEAD
- Results: corrected ranking 26=0.079588, 38=0.079633, 50=0.084353, 62=0.088360, 86=0.097993; plateau is inconclusive
- Remaining risks: build 12340 FOV is inaccessible through tested APIs; manual direction/framing dominates metrics
- Documentation updated: `docs/RENDER_BASELINE.md`, `docs/modules/world-renderer.md`
