Skip to content

finding(plugin-charts): funnel and pie handed all-zero rows render a pixel-identical blank tile — same silence as #7140, a different trigger #7147

Description

@os-warren

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/main e8e4c4d, each in a 520x240 box, and every tile's screenshot was hashed. Five hashed identical to one anotherb53cc8c42c5341541399eab3475163d0, 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatfinding

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions