From f4568975207131c429e5881171e2b72c8da263dd Mon Sep 17 00:00:00 2001 From: Matt Walsh Date: Fri, 13 Jun 2025 22:01:06 -0500 Subject: [PATCH] use background and foreground tiles for fixed parts of the radar #74 #111 --- server/scripts/modules/radar-worker-bg-fg.mjs | 10 +++++----- server/scripts/modules/radar-worker.mjs | 4 ++-- server/scripts/modules/radar.mjs | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/server/scripts/modules/radar-worker-bg-fg.mjs b/server/scripts/modules/radar-worker-bg-fg.mjs index 59213a5..5b774f7 100644 --- a/server/scripts/modules/radar-worker-bg-fg.mjs +++ b/server/scripts/modules/radar-worker-bg-fg.mjs @@ -29,7 +29,7 @@ const baseMapImages = (tile) => new Promise((resolve) => { resolve({ base: imageBitmap, - overlay: canvas, + overlay: canvas.transferToImageBitmap(), }); }); }); @@ -117,18 +117,18 @@ onmessage = async (e) => { // build the response const t0Base = baseMaps[0].base; - const t0Overlay = baseMaps[0].overlay.transferToImageBitmap(); + const t0Overlay = baseMaps[0].overlay; let t1Base; let t1Overlay; let t2Base; let t2Overlay; let t3Base; let t3Overlay; if (mapCoordinates[1].dx < radarFinalSize.width && baseMaps[1]) { t1Base = baseMaps[1].base; - t1Overlay = baseMaps[1].overlay.transferToImageBitmap(); + t1Overlay = baseMaps[1].overlay; } if (mapCoordinates[2].dy < radarFinalSize.height && baseMaps[2]) { t2Base = baseMaps[2].base; - t2Overlay = baseMaps[2].overlay.transferToImageBitmap(); + t2Overlay = baseMaps[2].overlay; if (mapCoordinates[1].dx < radarFinalSize.width && baseMaps[3]) { t3Base = baseMaps[3].base; - t3Overlay = baseMaps[3].overlay.transferToImageBitmap(); + t3Overlay = baseMaps[3].overlay; } } // baseContext.drawImage(baseMaps.fullMap, sourceXY.x, sourceXY.y, offsetX * 2, offsetY * 2, 0, 0, radarFinalSize.width, radarFinalSize.height); diff --git a/server/scripts/modules/radar-worker.mjs b/server/scripts/modules/radar-worker.mjs index 44e0c32..023d481 100644 --- a/server/scripts/modules/radar-worker.mjs +++ b/server/scripts/modules/radar-worker.mjs @@ -1,10 +1,10 @@ import { - radarFinalSize, radarFullSize, modTile, tileSize, removeDopplerRadarImageNoise, mapSizeToFinalSize, + radarFinalSize, radarFullSize, removeDopplerRadarImageNoise, } from './radar-utils.mjs'; onmessage = async (e) => { const { - url, RADAR_HOST, OVERRIDES, radarSourceXY, sourceXY, + url, RADAR_HOST, OVERRIDES, radarSourceXY, } = e.data; // get the image diff --git a/server/scripts/modules/radar.mjs b/server/scripts/modules/radar.mjs index 7122f9d..0fd120e 100644 --- a/server/scripts/modules/radar.mjs +++ b/server/scripts/modules/radar.mjs @@ -143,7 +143,6 @@ class Radar extends WeatherDisplay { url, RADAR_HOST, OVERRIDES, - sourceXY, radarSourceXY, });