# Earth imagery credits

Earth day, night, and cloud textures: **Solar System Scope / INOVE**.

- Collection and license statement: https://www.solarsystemscope.com/textures/
- License: Creative Commons Attribution 4.0 International, https://creativecommons.org/licenses/by/4.0/
- Day source: https://www.solarsystemscope.com/textures/download/2k_earth_daymap.jpg
- Night source: https://www.solarsystemscope.com/textures/download/2k_earth_nightmap.jpg
- Cloud source: https://www.solarsystemscope.com/textures/download/2k_earth_clouds.jpg

These maps are based on NASA imagery, including Blue Marble, and adjusted by Solar System Scope. They are licensed under CC BY 4.0, not represented here as unmodified public-domain NASA products. No endorsement is implied.

## Local adaptations

- `earth-day.webp`: 2048 × 1024 WebP derivative, quality 86.
- `earth-night.webp`: 2048 × 1024 WebP derivative, quality 80.
- `earth-clouds.webp`: 1024 × 512 WebP derivative, quality 76. The softer cloud layer uses a smaller map to reduce mobile transfer and GPU memory.
- `earth-static.webp`: 800 × 800 transparent WebP, optimized to quality 76 with alpha quality 85; a CPU-projected, illuminated sphere derived from all three maps, with clouds, night illumination, and an atmospheric limb. Used for the loading, reduced-motion, Save-Data, and unavailable-WebGL fallback.

The original JPEG downloads are retained as `earth-day-source.jpg`, `earth-night-source.jpg`, and `earth-clouds-source.jpg` for provenance. They are not requested by the website.

Colors, illumination, and clouds in the interactive and static globes are artistic representations, not current satellite conditions. The thin gold connections from Lahore to Makkah, Dubai, Istanbul, and Kuala Lumpur are illustrative travel artwork, not a claim of airline routes or direct service. No location labels or route booking claims are attached to the illustration.

The legacy `/earth-map.jpg` (4096 × 2048 JPEG) is left untouched and is no longer used by TravelHero; its provenance was not established. All new textures are served locally. No runtime request is made to Solar System Scope.

## Implementation notes

The named `TravelHero` export from `src/components/InteractiveGlobe.tsx` fills a parent-owned, relatively positioned container. The globe renderer is dynamically imported from `src/components/globe/CinematicEarth.tsx`. Its scoped stylesheet is `src/components/globe/TravelHero.module.css`. The renderer uses the existing Three.js and React Three Fiber dependencies; no packages were added.

The globe loads only when first in view, pauses both rotation and rendering when offscreen or the document is hidden, and has an accessible pause/resume control. Mouse dragging is optional; touch gestures retain vertical page scrolling. A failed texture, lost WebGL context, loading timeout, or render error returns to the static image. Media preference changes are observed. Maps are owned by the scene and disposed on unmount; geometry/material disposal is managed by React Three Fiber. Pixel ratio is capped at 1.5.

The public globe caption links to this document to provide attribution and describe the illustrative nature of the connections.
