Skip to content

ViewportLayer

const ViewportLayer: React.FC<ViewportLayerProps>

Defined in: src/components/primitives/viewport/ViewportLayer.tsx:43

A perf-isolated canvas layer inside a <Viewport>.

Each layer owns its own <canvas> element and runs an independent draw cycle. Draws are scheduled via requestAnimationFrame whenever the viewport transform, viewport size, or any invalidateOn dependency changes — or when the imperative handle.invalidate(name) is called.

Example

<ViewportLayer
name="grid"
draw={(ctx, { size, transform, theme }) => {
ctx.fillStyle = theme.borderDefault;
// ... draw grid
}}
invalidateOn={[gridStep]}
/>