test(M00): add empirical checkpoint FOV sweep
Work-Package: M00-QAR-FOV-SWEEP-001 Agent: sindo-main-codex Tests: comparator filter self-test, FOV capture dry-run, bounded real sweep, repository gates Fidelity: projection sweep remains inconclusive without reproducible reference yaw and pitch
This commit is contained in:
@@ -179,3 +179,18 @@ flowchart LR
|
||||
```
|
||||
|
||||
Ни одна из пяти камер не находится внутри опубликованной scene-tree geometry. Terrain-overview segment пересекает четыре Stormwind WMO groups, large-WMO segment — три Goldshire Inn groups, waterfall segment — liquid surface; ADT boundary и dense-M2 segments не пересекают placement AABB. Поэтому прежнее визуальное впечатление «камера внутри WMO/placements» не подтверждается. Основной paired gap сейчас — неточно воспроизведённые manual look direction/target/FOV reference-кадров: например, автоматический Goldshire target направляет луч через фасад внутрь WMO, тогда как reference был вручную скадрирован на весь фасад. Probe охватывает только scene-tree MeshInstance/MultiMesh; RID-only instances не имеют доступного semantic path и явно исключены из coverage.
|
||||
|
||||
## Empirical FOV sweep
|
||||
|
||||
В build 12340 `GetCVar("cameraFoV")` возвращает `nil`, а `/console cameraFoV` и `ConsoleExec("cameraFoV")` не выдают значения. Поэтому capture tool поддерживает additive `--camera-fov`, а comparator — `--only`, позволяющий ограничить sweep одним reference checkpoint.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
F[Candidate vertical FOV] --> C[Dedicated checkpoint camera]
|
||||
C --> P[Filtered checkpoint PNGs]
|
||||
R[One original-client reference] --> D[Perceptual comparator --only]
|
||||
P --> D
|
||||
D --> M[Ranked metrics]
|
||||
```
|
||||
|
||||
Первый sweep обнаружил capture defect: разные FOV иногда создавали одинаковые hashes, потому что scene camera могла перехватить viewport после входа в tree. Capture теперь вызывает `camera.make_current()` после добавления world и перед каждым checkpoint. После исправления ADT-boundary ranking стал: `26° → 0.079588`, `38° → 0.079633`, `50° → 0.084353`, `62° → 0.088360`, `86° → 0.097993` mean error. Plateau `26–38°` и несовпавший changed-pixel optimum показывают доминирование manual look direction/framing; эти данные не обосновывают изменение нормативного manifest FOV `62°`. Для настоящей калибровки reference capture должен сохранять воспроизводимые yaw/pitch/zoom или независимый projection fixture.
|
||||
|
||||
Reference in New Issue
Block a user