diff --git a/website/canvas.html b/website/canvas.html index a29a08c..61e3c8d 100644 --- a/website/canvas.html +++ b/website/canvas.html @@ -4470,10 +4470,9 @@ canvas.addEventListener("pointerdown", (e) => { if (isTouchPanning) return; // two-finger gesture owns the canvas - if (e.target !== canvas && e.target !== canvasContent) return; - if (connectMode) return; - // Click-to-place: if a pending tool is set, place it at the click position + // Click-to-place: pendingTool takes priority over all other interactions + // (must run before the target gate so clicks on existing shapes still place) if (pendingTool) { e.preventDefault(); e.stopPropagation(); @@ -4490,6 +4489,9 @@ return; } + if (e.target !== canvas && e.target !== canvasContent) return; + if (connectMode) return; + // Whiteboard tool active → don't select or pan if (wbTool) return;