Filed unassigned by the implementer of #7140 (PR #7146) while measuring the sankey blank. ⛔ Out of scope there and deliberately not fixed in that PR — different trigger, different arm, and a different mechanism.
The measurement
Twelve chart tiles were rendered in a real Chromium at origin/maine8e4c4d, each in a 520x240 box, and every tile's screenshot was hashed. Five hashed identical to one another — b53cc8c42c5341541399eab3475163d0, a tile with nothing on it:
| tile | descendants | svg | screenshot hash |
|---|
sankey, every measure 0 | 1 | 0 | b53cc8c4… |
sankey, every measure null | 1 | 0 | b53cc8c4… |
| sankey, every measure negative | 1 | 0 | b53cc8c4… |
funnel, every measure 0 | 34 | 1 | b53cc8c4… |
pie, every measure 0 | 31 | 1 | b53cc8c4… |
bar, every measure 0 (CONTROL) | 104 | 1 | 81bbfc97… — axes, ticks, labels, legend |
| sankey, all values positive (CONTROL) | 26 | 1 | d9dabc9b… — a sankey |
The controls hash differently, so the instrument returns non-zero on the same page and the five zeros are real.
Why this is NOT #7140
#7140's sankey blank is an empty DOM — the arm returns a bare div, one element, no svg. PR #7146 fixes that by rendering the file's ChartRefusal shell instead.
Funnel and pie are the opposite shape and are untouched by that fix: their DOM is rich (34 and 31 descendants, a real svg, category text nodes) and they still paint nothing a reader can see. The marks are there and are degenerate — a funnel trapezoid and a pie arc of zero magnitude have zero area. Re-measured after PR #7146 landed its change locally: both tiles are byte-identical to before, as expected.
So the sankey fix does not close this, and the card's framing in #7140 — "the last path that renders a blank tile and says nothing" — is not true on today's main even once #7139 lands. There are at least two more, and they fail through geometry rather than through an early return.
Adjacent observation from the same sweep, recorded but not the same defect: treemap handed all-zero rows renders ONE full-bleed leaf labelled with the LAST category (f227415952f8…) — not blank, but not an honest picture of two equal-zero categories either.
What this card does NOT assert
It does not assert the blank is wrong. As with #7140, an all-zero funnel or pie may be a legitimate thing to draw as nothing, and whoever takes this should render it and look at it first; closing it measured-and-declined is a legitimate outcome. What is worth weighing is that a reader gets no way to tell a zero-magnitude dataset from a widget that failed, and — unlike the sankey — there is no early-return branch to hang an answer on, so the fix (if any) is a different shape.
Related
Filed unassigned by the implementer of #7140 (PR #7146) while measuring the sankey blank. ⛔ Out of scope there and deliberately not fixed in that PR — different trigger, different arm, and a different mechanism.
The measurement
Twelve chart tiles were rendered in a real Chromium at
origin/maine8e4c4d, each in a 520x240 box, and every tile's screenshot was hashed. Five hashed identical to one another —b53cc8c42c5341541399eab3475163d0, a tile with nothing on it:0b53cc8c4…nullb53cc8c4…b53cc8c4…0b53cc8c4…0b53cc8c4…0(CONTROL)81bbfc97…— axes, ticks, labels, legendd9dabc9b…— a sankeyThe controls hash differently, so the instrument returns non-zero on the same page and the five zeros are real.
Why this is NOT #7140
#7140's sankey blank is an empty DOM — the arm returns a bare
div, one element, nosvg. PR #7146 fixes that by rendering the file'sChartRefusalshell instead.Funnel and pie are the opposite shape and are untouched by that fix: their DOM is rich (34 and 31 descendants, a real
svg, category text nodes) and they still paint nothing a reader can see. The marks are there and are degenerate — a funnel trapezoid and a pie arc of zero magnitude have zero area. Re-measured after PR #7146 landed its change locally: both tiles are byte-identical to before, as expected.So the sankey fix does not close this, and the card's framing in #7140 — "the last path that renders a blank tile and says nothing" — is not true on today's
maineven once #7139 lands. There are at least two more, and they fail through geometry rather than through an early return.Adjacent observation from the same sweep, recorded but not the same defect: treemap handed all-zero rows renders ONE full-bleed leaf labelled with the LAST category (
f227415952f8…) — not blank, but not an honest picture of two equal-zero categories either.What this card does NOT assert
It does not assert the blank is wrong. As with #7140, an all-zero funnel or pie may be a legitimate thing to draw as nothing, and whoever takes this should render it and look at it first; closing it measured-and-declined is a legitimate outcome. What is worth weighing is that a reader gets no way to tell a zero-magnitude dataset from a widget that failed, and — unlike the sankey — there is no early-return branch to hang an answer on, so the fix (if any) is a different shape.
Related
series: []#4695 — a cartesian chart handed no series binding at all. Same family of silence.DataEmptyState— four packages now answer "is it broken or is it young" four different ways, and two rulings just fixed two of them locally #7132 — theDataEmptyStateconvergence, which may absorb the copy question.