Context-Local Metric A+ Protocol Plan
Goal
Remove target/full-scene geometry from the state coordinate contract without changing the Measurement-Complete Scene State hypothesis. The main model must still build one typed state from calibrated context RGB and expose it only through the fixed measurement renderer.
Compatibility boundary
- Existing configs keep
legacy_manifest_boundsby default. - Existing
outputs/hypersim_real_smokeandoutputs/hypersim_pilot_*artifacts are immutable. - New A+ runs use
configs/hypersim_a_plus_*.yamlandoutputs/hypersim_a_plus_*only. - Manifest bounds remain readable for legacy/oracle controls but are ignored by the A+ main path.
Implemented contract
- [x] Anchor each sample to the first preselected context camera.
- [x] Transform context cameras, target query cameras, point maps, and world normals into the anchor frame with one rigid transform.
- [x] Use fixed metric local bounds from config; target labels cannot change them.
- [x] Build the query support mask from target camera rays and fixed bounds only.
- [x] Convert surfaces outside the local state into empty local-measurement labels without changing the query set.
- [x] Support anisotropic
[D, H, W]grids. - [x] Apply support consistently in losses and metrics; report query coverage and valid counts.
- [x] Report point error in meters, normalized point RMSE, and F-score at 0.05/0.25/0.50 m.
- [x] Add warmup-cosine scheduling, window means, EMA, epoch progress, LR, gradient norm, AMP scale/update status, scene IDs, validity ratios, timing, and CUDA memory to JSONL logs.
- [x] Use BF16 autocast for A+ after a preserved FP16 smoke exposed normal-gradient overflow.
- [x] Pass full unit tests, Ruff, formatting, compilation, synthetic smoke, and real CUDA smoke.
Main A+ geometry
The current Hypersim A+ support is x=[-6,6] m, y=[-4,4] m, and z=[0.05,12.05] m in the
first context camera frame. The [48,32,48] state therefore has 0.25 m spacing on every axis.
This is a local reconstruction task. It is not a claim that the state covers the complete source
scene.
A 24 m value, if used in future frustum candidate construction, is a ray-distance cap. It must
not be described or implemented as the side length of a 24 m cube.
Execution gate
Run the two-step protocol smoke and two-step main-resolution smoke first, then the one-window overfit experiment. Start the 50,000-step main run only after the overfit log shows a sustained loss decrease and no optimizer/AMP skips. Validation and test must use the exact train checkpoint with their matching A+ configs.
The failed FP16 diagnostic is preserved at outputs/hypersim_a_plus_smoke; its two updates were
skipped with non-finite normal gradients. The passing BF16 protocol and main-resolution evidence
is stored at outputs/hypersim_a_plus_smoke_bf16 and
outputs/hypersim_a_plus_mainres_smoke_bf16 respectively.