diff --git a/frontend/public/cloud.png b/frontend/public/cloud.png new file mode 100644 index 0000000..81328f2 Binary files /dev/null and b/frontend/public/cloud.png differ diff --git a/frontend/src/components/landing/SceneCanvas.tsx b/frontend/src/components/landing/SceneCanvas.tsx index e85197a..c1d7987 100644 --- a/frontend/src/components/landing/SceneCanvas.tsx +++ b/frontend/src/components/landing/SceneCanvas.tsx @@ -105,6 +105,11 @@ function SceneLights() { ); } +// drei's volumetric clouds use a soft "puff" sprite. By default drei fetches it +// from a GitHub CDN at runtime; we vendor that exact image into /public instead +// (see public/cloud.png) so the page never reaches out to any external website. +const CLOUD_TEXTURE = '/cloud.png'; + function CloudLayer({ clouds, segments }: { clouds: number; segments: number }) { const group = useRef(null); const specs = useMemo(() => makeCloudField(clouds), [clouds]); @@ -121,7 +126,7 @@ function CloudLayer({ clouds, segments }: { clouds: number; segments: number }) return ( - + {specs.map((c, i) => (