diff --git a/website/canvas.html b/website/canvas.html index 4b71c1c..f4a3b5b 100644 --- a/website/canvas.html +++ b/website/canvas.html @@ -2340,6 +2340,14 @@ FolkRApp.define(); FolkFeed.define(); + // Zoom and pan state — declared early to avoid TDZ errors + // (event handlers reference these before awaits yield execution) + let scale = 1; + let panX = 0; + let panY = 0; + const minScale = 0.05; + const maxScale = 20; + // Get community info from URL // Supports path-based slugs: cca.rspace.online/campaign/demo → slug "campaign-demo" const hostname = window.location.hostname; @@ -5010,13 +5018,6 @@ if (memoryPanel.classList.contains("open")) renderMemoryPanel(); }); - // Zoom and pan controls - let scale = 1; - let panX = 0; - let panY = 0; - const minScale = 0.05; - const maxScale = 20; - function updateCanvasTransform() { // Transform only the content layer — canvas viewport stays fixed canvasContent.style.transform = `translate(${panX}px, ${panY}px) scale(${scale})`;