# M00-QAR-CAMERA-FRAMING-REFINEMENT-001 — Goldshire pitch/FOV refinement ## Ownership - Target: M00 - Program: QAR - Owner/Agent ID: sindo-main-codex - Branch: `work/sindo-main-codex/m00-camera-framing-refinement` - Lease expires UTC: 2026-07-14 - Integrator: milestone integrator ## Outcome Jointly refine Goldshire checkpoint pitch and FOV against a WMO-ready build 12340 reference. ## Non-goals - Changing runtime player camera defaults. - Changing manifest values without an interior optimum and human approval. - Optimizing yaw beyond the ready-scene coarse result. ## Paths - Exclusive: joint FOV option in camera-pose sweep and framing evidence - Shared/hotspots: camera-pose operational documentation and renderer module findings - Generated/ignored: candidate PNGs and ranking JSON under `user://` ## Contracts and data - Public API/events: additive `-CameraFovValues`; scalar `-CameraFov` remains compatible - Schema/format version: ranking schema remains version 1 with existing per-candidate FOV field - Migration/compatibility: scalar sweeps retain existing candidate paths - Consumers: M00 fidelity workflow ## Dependencies - Requires: WMO-ready 8-second capture contract - Blocks: Goldshire manifest framing decision - External state: private build 12340 reference remains outside Git ## Verification - Commands: joint-grid plan regression, real ready-scene sweep, comparator self-test, repository gates - Fixtures: private Goldshire Inn reference - Fidelity evidence: joint pitch/FOV ranking and human inspection - Performance budget: offline diagnostic ## Documentation deliverables - Inline public API docs: PowerShell parameter - Module specification: framing finding - Data-flow diagram: FOV joins pose grid - Sequence/state/dependency diagrams: unchanged - Source map/status updates: operational guide ## Simplicity and naming - Important names introduced: `CameraFovValues`, `effectiveCameraFovValues` - Simplest considered solution: one additional loop around the existing grid - Rejected complexity/abstractions: generic optimizer - Unavoidable complexity and justification: projection and pitch jointly affect framing - Measured optimization evidence: bounded 1x5x3 grid ## Status - State: ready-for-review - Done: additive joint FOV grid, compatibility-preserving paths, plan regression, ready-scene 15-candidate ranking and human inspection - Next: add approved landmark/region scoring before any manifest camera calibration - Blocked by: ## Handoff - Commit: this work-package commit - Results: numeric best FOV 62/yaw 10/pitch -25 at mean 0.078843 and ratio 0.667721 was visually rejected as grass-dominated; FOV 38/yaw 10/pitch -10 better matched building scale at mean 0.084220 - Remaining risks: full-frame metric does not preserve landmark framing; no manifest values were changed - Documentation updated: `docs/CAMERA_POSE_SWEEP.md`, `docs/modules/world-renderer.md`