79 lines
3.1 KiB
Markdown
79 lines
3.1 KiB
Markdown
# M00-QAR-LANDMARK-REGION-DIFF-001 — Landmark-region visual diff
|
|
|
|
<!-- OPENWC_CLAIM:M00-QAR-LANDMARK-REGION-DIFF-001:sindo-main-codex:2026-07-14 -->
|
|
|
|
## Ownership
|
|
|
|
- Target: M00
|
|
- Program: QAR
|
|
- Owner/Agent ID: sindo-main-codex
|
|
- Branch: `work/sindo-main-codex/m00-landmark-region-diff`
|
|
- Lease expires UTC: 2026-07-14
|
|
- Integrator: milestone integrator
|
|
|
|
## Outcome
|
|
|
|
Rank camera candidates inside an approved common screen region so unrelated grass/sky coverage cannot dominate landmark framing.
|
|
|
|
## Non-goals
|
|
|
|
- Automatic feature detection or image warping.
|
|
- Different crops for reference and candidate.
|
|
- Changing manifest camera values without human approval.
|
|
|
|
## Paths
|
|
|
|
- Exclusive: comparator common-region option and sweep pass-through
|
|
- Shared/hotspots: camera-pose documentation and renderer fidelity findings
|
|
- Generated/ignored: local ROI sweep images/reports
|
|
|
|
## Contracts and data
|
|
|
|
- Public API/events: additive comparator `--region x,y,width,height` and sweep `-ComparisonRegion`
|
|
- Schema/format version: report/ranking schema remains version 1 with additive region metadata
|
|
- Migration/compatibility: omitted region preserves full-frame behavior
|
|
- Consumers: M00 paired camera calibration
|
|
|
|
## Dependencies
|
|
|
|
- Requires: ready-scene joint pitch/FOV sweep
|
|
- Blocks: landmark-weighted Goldshire framing decision
|
|
- External state: private build 12340 reference
|
|
|
|
## Verification
|
|
|
|
- Commands: comparator synthetic ROI regression, invalid-bound regression, sweep plan, bounded real ROI sweep, repository gates
|
|
- Fixtures: synthetic 2x2 images and private Goldshire reference
|
|
- Fidelity evidence: facade-region ranking plus human inspection
|
|
- Performance budget: region comparison visits only selected pixels
|
|
|
|
## Documentation deliverables
|
|
|
|
- Inline public API docs: comparator usage and PowerShell parameter
|
|
- Module specification: ROI finding
|
|
- Data-flow diagram: approved region into comparator
|
|
- Sequence/state/dependency diagrams: unchanged
|
|
- Source map/status updates: camera-pose guide
|
|
|
|
## Simplicity and naming
|
|
|
|
- Important names introduced: `ComparisonRegion`, `comparison_region`
|
|
- Simplest considered solution: one common integer rectangle
|
|
- Rejected complexity/abstractions: masks, feature detectors, separate movable crops
|
|
- Unavoidable complexity and justification: full-frame color error is biased by large terrain regions
|
|
- Measured optimization evidence: bounded pixel loop
|
|
|
|
## Status
|
|
|
|
- State: ready-for-review
|
|
- Done: common ROI parser/validation/reporting, synthetic inclusion/exclusion regression, sweep pass-through, 15-candidate Goldshire rescoring and human inspection
|
|
- Next: define explicit approved landmark coordinates or mask; do not calibrate manifest from the common rectangle alone
|
|
- Blocked by:
|
|
|
|
## Handoff
|
|
|
|
- Commit: this work-package commit
|
|
- Results: ROI [300,100,1400,650] ranked FOV 38/yaw 10/pitch -15 first at mean 0.081777 and ratio 0.697185; visually the facade remains oversized and cropped
|
|
- Remaining risks: rectangle includes non-semantic road/terrain pixels and cannot prove landmark alignment
|
|
- Documentation updated: `docs/CAMERA_POSE_SWEEP.md`, `docs/modules/world-renderer.md`
|