import type { KeyboardEventHandler, PointerEventHandler, ReactNode, RefObject } from 'react' export type DrawingCanvasPointerProps = { onPointerDown: PointerEventHandler onPointerMove: PointerEventHandler onPointerUp: PointerEventHandler onPointerCancel: PointerEventHandler } export type DrawingLayerProps = { visible: boolean editing: boolean canvasRef: RefObject width: number height: number pointerProps: DrawingCanvasPointerProps onKeyDown: KeyboardEventHandler children?: ReactNode } // The layer only renders the drawing canvas and an optional controls slot. All // capture, history, and export behavior belongs to useDrawingLayer. export function DrawingLayer({ visible, editing, canvasRef, width, height, pointerProps, onKeyDown, children }: DrawingLayerProps) { if (!visible) return null return (
{editing && children}
) }