One test id per cell, [series][category]; null where Nivo drew no
bar (a missing or null value).
One path[data-testid="arc.<id>"] per slice, in document order.
One g[data-testid="cell.<row>.<x>"] per cell, [row][column], rows top-first.
One g[data-key="boxplot.<group>.<subGroup>"] per box, in payload
order. A horizontal box is drawn as a vertical one inside a group
rotated by -90°.
Line series, tagged after render. points[s] lists the test ids of the
point markers of series s in data order, and is null when Nivo draws
no points; the series' <path>s are the fallback, which Nivo draws in
the reverse of data order.
Scatter nodes, tagged after render: Nivo draws one <circle> per datum
of every visible series, series by series, in data order, directly
under the plot's <g>. drawn is how many it draws; kept[i] the
drawn positions whose datum made it into the payload.
How the drawn marks of a layer are found in the rendered SVG.
Nivo stamps most of its marks with a stable attribute of its own, which a selector can name outright. Lines and scatter nodes carry none that covers every configuration, so those marks are tagged by the adapter after render.