vellum 0.6.3
One bug, in two halves, found while wiring keyed data-label backgrounds in vellumplot.
A keyed roundrect_grob() was broken twice over
roundrect_grob() is a batch — one rounded box per (x, y, width, height, r) element — but it was treated as a single shape on both sides of the seam:
- It recycled
key/metato length 1, soroundrect_grob(key = c("a", "b"))silently kept only"a". scene_model()classed roundrect as a single shape (one row per grob), so a grob drawing N keyed boxes reported one element against the backend's N and aborted on the element-count check.
Roundrect is now a keyed batch, like text_grob(): each keyed box is one scene_model() row carrying its own key and meta, and an unkeyed roundrect stays out of the model entirely.
Rendering is unaffected — scene_model() is interactivity metadata only.
Note
This is the first bug in this series found by using the engine from vellumplot rather than by testing it in isolation — which is exactly what the downstream integration pass was expected to surface.