diff --git a/src/lib/components/immersive/ImmersiveBackground.svelte b/src/lib/components/immersive/ImmersiveBackground.svelte index d09671ecf..1ed220234 100644 --- a/src/lib/components/immersive/ImmersiveBackground.svelte +++ b/src/lib/components/immersive/ImmersiveBackground.svelte @@ -99,8 +99,8 @@ const cropCtx = cropCanvas.getContext('2d'); if (!cropCtx) { isLoading = false; return; } - // Zoom factor: 1.5x to 3x - const zoomFactor = 1.5 + rand() * 1.5; + // Zoom factor: 1.1x to 1.6x (takes 62%-90% of image for more relevant colors) + const zoomFactor = 1.1 + rand() * 0.5; const sourceSize = Math.min(img.width, img.height) / zoomFactor; const maxOffset = Math.min(img.width, img.height) - sourceSize; diff --git a/src/lib/immersive/utils/texture-loader.ts b/src/lib/immersive/utils/texture-loader.ts index 2f5e48cf1..a2312bdf6 100644 --- a/src/lib/immersive/utils/texture-loader.ts +++ b/src/lib/immersive/utils/texture-loader.ts @@ -60,8 +60,8 @@ function extractRandomCrop( const rand = seededRandom(seed); - // Zoom factor: 1.5x to 3x (we take 33%-66% of the image) - const zoomFactor = 1.5 + rand() * 1.5; + // Zoom factor: 1.1x to 1.6x (we take 62%-90% of the image for more relevant colors) + const zoomFactor = 1.1 + rand() * 0.5; // Source region size (what portion of original image to take) const sourceSize = Math.min(img.width, img.height) / zoomFactor;