From 186f99f436c2e036ec39a6e46ba79dd73b7e9e4c Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Sat, 11 Apr 2026 13:58:36 +0100 Subject: [PATCH] Start map drags only on the canvas The viewport's pointerdown handler captured every press inside it, including presses on floating buttons, so the resulting click could be retargeted to the viewport and never reach the button. --- web/app.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/app.js b/web/app.js index 912c39c..d50ac0b 100644 --- a/web/app.js +++ b/web/app.js @@ -605,7 +605,8 @@ function pickAt(x,y){ } viewport.addEventListener('pointerdown',event=>{ - if(event.button>2)return; + // Only drags that start on the map; pointer capture would otherwise swallow clicks on floating controls. + if(event.button>2||event.target!==glCanvas)return; const pan=renderer.mode==='3d'&&(event.button===1||event.button===2||event.shiftKey||event.altKey||event.metaKey||event.ctrlKey); if(renderer.mode==='2d'&&event.button!==0)return; event.preventDefault();