fix(client): PR #212 review fixes — true on-screen footprint_px, self-describing shot coverage

Tyre finding 2: _log_atlas_view_transform's footprint_px now logs the
real on-screen pixel footprint (StepCanvasTransport.canvas_footprint_px
* canvas_scale — the same public pure function the terrain layer uses),
with the old cell-count field kept as canvas_cells. Live-verified the
divergence the fix exposes: Global logs footprint_px=(1528, 760) vs
canvas_cells=191x95 — the T-1192 fit-multiplier class the log exists to
root-cause, previously invisible under the mislabel.

Tyre finding 3: atlas_shots.json's one_shot_per_body note replaced by
rung_coverage stating the true distribution — 13 goldens across 7
bodies (per-rung coverage map, GJ380c's 3 shots as the invariance-proof
body, curated-subset rationale per T-1121). Corrects the prior commit
message's '12 new goldens' miscount: the true count everywhere is 13,
verified against shots array, visual.json entries, and PNGs on disk.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 22:36:03 +02:00
co-authored by Claude Fable 5
parent 28a0b3e2af
commit feef7aa1c5
2 changed files with 34 additions and 4 deletions
+1 -1
View File
@@ -69,7 +69,7 @@
"veg": ["gen_dw_veg"]
},
"matrix_rules": {
"one_shot_per_body": "each body gets ONE golden shot at a rung chosen to exercise a different depth of the ladder across the set (Global-heavy for the orbital opener, deeper rungs for a few bodies) — the full 6-rung x 7-body cross product (42 shots) is deliberately NOT curated here, matching T-1121's 'curated subset, not the full matrix' precedent; the full cross product remains reachable ad hoc via AtlasAgentInterface jump_to intents, not as a golden."
"rung_coverage": "13 goldens across the 7 bodies above (NOT one-shot-per-body): most bodies (GJ144e, GJ338Bd, GJ820Bc, GJ251c) get 2 shots — the Global opener plus one deeper rung — so every fixed rung below Global is exercised at least once across the set (Region: GJ380c/GJ251c; District: GJ380c/GJ820Bc; Quarter: GJ144e; Block: GJ338Bd; Chunk: GJ445c-m1). GJ380c gets 3 (Global/Region/District) since it is also the PR #212 cache-invariance-proof body (Hoshe's cold-vs-warm check on both the NEAREST/Global and LINEAR/District terrain-layer draw branches). GJ244Ad and GJ445c-m1 get 1 each (Global and Chunk respectively) — the curated pick, not an exhaustive per-body sweep. The full 6-rung x 7-body cross product (42 shots) is deliberately NOT curated here, matching T-1121's 'curated subset, not the full matrix' precedent; the full cross product remains reachable ad hoc via AtlasAgentInterface jump_to intents, not as a golden."
},
"shots": [
{ "body_id": "GJ380c", "rung": "Global", "overlays": ["gen_dw_temp"], "filename": "atlas_GJ380c_Global.png" },