Skip to content

[Global-PGM S4] Presentation: integer ids, grey no-data, content-sized embeds, human headings (#234) - #254

Merged
Polichinel merged 2 commits into
developmentfrom
feat/global-pgm-s4-presentation
Jul 21, 2026
Merged

[Global-PGM S4] Presentation: integer ids, grey no-data, content-sized embeds, human headings (#234)#254
Polichinel merged 2 commits into
developmentfrom
feat/global-pgm-s4-presentation

Conversation

@Polichinel

Copy link
Copy Markdown
Contributor

Closes #234. Part of epic #230 (tracker #237).

What (RED→GREEN)

Four presentation defects from the rusty_bucket eyeball round, fixed at their roots:

  1. Integer identity columns. The mapping build's blanket float32 cast now covers value columns only — month_id/entity ids stay integer, so '594.0'-style labels are gone from titles and animation sliders. RED test pins it through the unmocked CM chain.
  2. No-data reads grey, never 'no risk' (C-190). PNG tier: NaN cells render #d9d9d9 (verified at the PIXEL level by decoding the emitted PNG in a test). Raster tier: same grey as plot background behind transparent NaN bricks. Both carry a caption: grey = no data / palest = zero forecast.
  3. Content-sized embeds. add_html(height=None) omits the fixed-height scroll box — the 60 step PNGs lose their dead 900px containers; only the 3 interactive heatmaps keep a fixed viewport.
  4. Human headings. 'lr_sb_best — P(any violence) — Jul 2026 (step +1)' instead of internal column names; raw names remain in figure titles/alt-text for provenance.

Measured (real rusty_bucket global ensemble)

Report = 46.5 MB, 301 s; 60 human headings verified, zero float month ids, exactly 3 fixed-height containers remaining (the heatmaps).

Ritual

review-diff: CLEAN. ship-it: ruff clean, 399 passed (2 skipped, 1 xfailed).

🤖 Generated with Claude Code

Polichinel and others added 2 commits July 21, 2026 03:40
…apping build (#234)

Characterizes the blanket float32 cast: month_id/country_id become float32
in build_mapping_dataframe, leaking '594.0'-style labels into titles and
animation sliders. Fails at this commit by design; next commit fixes it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, sized embeds, human headings (#234)

Identity columns survive the mapping build as integers — the blanket
float32 cast now covers VALUE columns only, so '594.0'-style labels are
gone from titles and animation sliders (RED test pins it via the unmocked
CM chain).

No-data reads grey, never 'no risk' (C-190): the PNG tier renders NaN
cells in #d9d9d9 (pixel-level test decodes the emitted PNG), the raster
tier gets the same grey as plot background behind transparent NaN bricks,
and both carry a caption declaring grey = no data / palest = zero.

add_html(height=None) sizes the container to content — the 60 step PNGs
lose their dead 900px scroll boxes (only the 3 interactive heatmaps keep a
fixed viewport). Headings are human: 'lr_sb_best — P(any violence) — Jul
2026 (step +1)'; raw column names stay in figure titles/alt-text.

Real rusty_bucket regen: 46.5 MB, 301 s; 60 human headings verified, zero
float month ids, 3 fixed-height containers (the heatmaps) remaining.

398 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Polichinel
Polichinel merged commit 57b0f86 into development Jul 21, 2026
1 check passed
@Polichinel
Polichinel deleted the feat/global-pgm-s4-presentation branch July 21, 2026 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant