ReadonlydeviceThe GPU device behind the backend, when it has one. The chart reads it
after a frame (backendDegradation) to learn that the context has been
lost or never came up, and moves every pane to canvas2d for the rest of
the session, announced by the 'renderer:fallback' chart event. A backend
without a device is never degraded, so the 2D backend leaves it unset.
ReadonlykindThe batch under construction, for tests that check what a series emits.
Paint one series. Same contract as RendererEntry.draw minus the context:
priceToY and items[].x are media px, and the renderer snaps to device
pixels with dpr itself.
Take the pane's base data canvas. ctx2d is the 2D context the pane
already holds on it, when it holds one: the canvas-2D backend draws on
exactly that object, so a frame is one context's op stream and not two
contexts' interleaved. A backend that owns the canvas outright ignores it.
Paints one pane's series. One instance per pane: a backend holds a context on that pane's base canvas, and contexts do not travel between canvases.