X-Git-Url: https://git.r.bdr.sh/rbdr/canvas/blobdiff_plain/d7cea96940ddeb764c7343e05526f611863019d8..refs/heads/main:/src/lib/components/sensor.svelte?ds=inline

diff --git a/src/lib/components/sensor.svelte b/src/lib/components/sensor.svelte
index 3b7dfc2..9458705 100644
--- a/src/lib/components/sensor.svelte
+++ b/src/lib/components/sensor.svelte
@@ -1,33 +1,33 @@
 <script>
-  import { browser } from '$app/env';
-  import { maxSize } from '$lib/config';
-  import { canvas } from '$lib/stores/canvas';
-  import { sensor } from '$lib/stores/widgets';
+	import { browser } from '$app/environment';
+	import { maxSize } from '$lib/config';
+	import { modulo } from '$lib/math';
+	import { canvas } from '$lib/stores/canvas';
+	import { sensor } from '$lib/stores/widgets';
 
-  const kSensorSize = 2;
+	const kSensorSize = 2;
 
-  let left;
-  let right;
-  let top;
-  let bottom;
+	let left;
+	let right;
+	let top;
+	let bottom;
 
-  let timer;
-  const fetchItems = function fetchItems( left, top, right, bottom ) {
-    clearTimeout(timer);
+	let timer;
+	const fetchItems = function fetchItems(left, top, right, bottom) {
+		clearTimeout(timer);
 		timer = setTimeout(() => {
-      sensor.set({ left, top, right, bottom });
+			sensor.set({ left, top, right, bottom });
 		}, 50);
-  }
+	};
 
-  $: {
-    if (browser) {
-      left = $canvas.x - window.screen.width * kSensorSize;
-      top = $canvas.y - window.screen.height * kSensorSize;
-      right = $canvas.x + window.screen.width * kSensorSize;
-      bottom = $canvas.y + window.screen.height * kSensorSize;
-
-      fetchItems(left, top, right, bottom);
-    }
-  }
+	$: {
+		if (browser) {
+			left = modulo($canvas.x - window.screen.width * kSensorSize, maxSize);
+			top = modulo($canvas.y - window.screen.height * kSensorSize, maxSize);
+			right = left + 2 * window.screen.width * kSensorSize;
+			bottom = top + 2 * window.screen.height * kSensorSize;
 
+			fetchItems(left, top, right, bottom);
+		}
+	}
 </script>
