BumpRenderer.js:13-18 declares yScaleType: "linear" with no range reversal and no integer tick constraint. A 5-series bump chart therefore draws rank 1 at the bottom and rank 5 at the top, with half-integer ticks (0.5, 1.5, ...). Rank charts conventionally put rank 1 on top and label whole ranks only.
Compatibility
Visual change to an existing chart type, no API change. Defensible as a bug fix, but it flips the orientation of every existing bump chart, so it wants an explicit NEWS entry rather than silent inclusion.
Smallest testable change
Reverse the y range and force integer ticks for bump only. Assert the first tick label is an integer and that y(1) < y(5) in a vitest scale test.
Acceptance
- A 5-series bump chart renders rank 1 at the top.
- Y tick labels are whole ranks, no half-steps.
- NEWS.md records the orientation flip.
Raised in the 2026-07-29 visual review, never scoped into PR #102. Source: 2026-08-01 idea-scout run (C2).
BumpRenderer.js:13-18declaresyScaleType: "linear"with no range reversal and no integer tick constraint. A 5-series bump chart therefore draws rank 1 at the bottom and rank 5 at the top, with half-integer ticks (0.5, 1.5, ...). Rank charts conventionally put rank 1 on top and label whole ranks only.Compatibility
Visual change to an existing chart type, no API change. Defensible as a bug fix, but it flips the orientation of every existing bump chart, so it wants an explicit NEWS entry rather than silent inclusion.
Smallest testable change
Reverse the y range and force integer ticks for
bumponly. Assert the first tick label is an integer and thaty(1) < y(5)in a vitest scale test.Acceptance
Raised in the 2026-07-29 visual review, never scoped into PR #102. Source: 2026-08-01 idea-scout run (C2).