You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(dataviz): honour start_at, the layout box, and degenerate scales
Eight confirmed findings across the data components, plus the same defects
found by the audit in files the workstream did not own.
Five components drove their reveal off raw scene time, so a chart with
`start_at: 2.0` was already fully drawn when it appeared. They now measure
elapsed time from `start_at`, matching `Counter::ramp_progress`. The same
bug in `gauge` and `dot_map` is fixed here rather than left for a later
pass — it is one defect in seven copies.
`progress` painted at its declared `width`/`height` instead of the box
taffy computed, so a bar inside a sized container ignored its own layout.
It now paints at `layout.width`/`layout.height`.
`stacked_bar` had no signed extent: negative totals rendered outside the
box. Stacks now grow either side of an anchored zero.
`heatmap` renormalised its data min→max, so a uniform grid of 5.0 painted
identically to a grid of 0.0 and `color_scale` did not mean what the docs
say. The scale is now the documented absolute 0..1. A neighbouring bug in
`interpolate_color` went with it: `t = 1.0` resolved to the second-to-last
colour because the local fraction was recomputed from the clamped segment.
A flat sparkline series divided by a floored range, normalising every point
to 0 and gluing the line to the bottom edge — it read as "collapsed to
zero" rather than "unchanged". Flat series now centre. Fixed in `sparkline`
and in the `stat` card that reimplements the same maths.
Axis labels were collected with `filter_map`, so one datum without a label
shifted every subsequent label onto the wrong bar. Labels now keep one slot
per datum. Fixed in `bar`, and in `line` and `waterfall` which carry the
identical bug.
`treemap` drew its label and value on a single baseline, so the value
overprinted the label. Fragments now stack.
0 commit comments