diff --git a/components/annotation-canvas.tsx b/components/annotation-canvas.tsx index fdc145c..06a1304 100644 --- a/components/annotation-canvas.tsx +++ b/components/annotation-canvas.tsx @@ -70,7 +70,15 @@ export const AnnotationCanvas = forwardRef { strokesRef.current = strokes; }, [strokes]); + useEffect(() => { currentStrokeRef.current = currentStroke; }, [currentStroke]); + + // Resize canvas to match container — listener registered once, never re-added. useEffect(() => { const resizeCanvas = () => { const canvas = canvasRef.current; @@ -82,13 +90,13 @@ export const AnnotationCanvas = forwardRef window.removeEventListener('resize', resizeCanvas); - }, [strokes, currentStroke, renderStrokes]); + }, [renderStrokes]); // renderStrokes is stable (useCallback with no deps that change) // Re-render on stroke changes useEffect(() => {