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;