{
 "v": 1,
 "fetched": "2026-10-20",
 "items": [
  {
   "id": "bmng-topo-bathy",
   "name": "NASA Blue Marble Next Generation with topography and bathymetry, July 2004 (world.topo.bathy.200407.3x21600x10800.jpg)",
   "url": "https://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73751/world.topo.bathy.200407.3x21600x10800.jpg",
   "credit": "NASA Earth Observatory / Reto Stockli, MODIS Land Group (Visible Earth collection 73909, image 73751)",
   "licence": "Public domain (US Government work, NASA / NOAA)",
   "fetched": "2026-10-20",
   "transform": "JPEG 21600x10800 RGB, equirectangular, x=0 at lon -180 (no roll). Area-reduced (cv2 INTER_AREA) to 8192x4096; no tone change. 4K and 2K are Lanczos reductions. Encoded WebP q84 (8K), q86 (4K) and JPEG q82 / q84 / q92 to meet the CONTRACT size budgets. map-2k.jpg is the 2K colour. The poster and og image are orthographic renders of the 4K map (centre 15 N 40 W) with Lambert shading from a sun at 8 N 22 W, the cloud map blended in and a soft blue limb haze.",
   "used": [
    "assets/tex/color-2k.jpg",
    "assets/tex/color-4k.webp",
    "assets/tex/color-4k.jpg",
    "assets/tex/color-8k.webp",
    "assets/tex/color-8k.jpg",
    "assets/fallback/poster.jpg",
    "assets/fallback/map-2k.jpg",
    "assets/og.jpg"
   ]
  },
  {
   "id": "etopo-2022",
   "name": "NOAA NCEI ETOPO 2022 Global Relief Model, 60 arc-second, ice surface (ETOPO_2022_v1_60s_N90W180_surface.tif)",
   "url": "https://www.ngdc.noaa.gov/mgg/global/relief/ETOPO2022/data/60s/60s_surface_elev_gtif/ETOPO_2022_v1_60s_N90W180_surface.tif",
   "credit": "NOAA National Centers for Environmental Information (2022), ETOPO 2022 15 Arc-Second Global Relief Model, doi:10.25921/fd45-gt74",
   "licence": "Public domain (US Government work, NASA / NOAA)",
   "fetched": "2026-10-20",
   "transform": "float32 GeoTIFF, metres, 21600x10800, pixel-registered, origin -180/+90: no roll. Area-averaged (INTER_AREA) to 2048x1024 (elev-2k.png, h_m = (R*256+G) - 12000). True source range -10752 to +8157 m at 1 arc-minute (min at -23.2, -174.7 Tonga Trench; max at 28.0, 86.9 Everest); reduced 2K range -9966 to +6233 m. B channel is the water mask: the 60-second grid is reduced to 5400x2700 (4x4 mean), cells with h <= 0 are 8-connected, the component holding five open-ocean seed points is the ocean, its fraction is averaged to 2048x1024 and thresholded at 0.5 (255 = ocean, 0 = land). Inland depressions, lakes on the ice surface and ice-shelf cells are land. elev-1k.png is the exact 2x2 integer mean of the 16-bit value, water where at least 2 of 4 cells are water.",
   "used": [
    "assets/tex/elev-2k.png",
    "assets/tex/elev-1k.png"
   ]
  },
  {
   "id": "black-marble-2016",
   "name": "NASA Earth Observatory Black Marble 2016 color maps: Earth at Night (BlackMarble_2016_3km.jpg)",
   "url": "https://eoimages.gsfc.nasa.gov/images/imagerecords/144000/144898/BlackMarble_2016_3km.jpg",
   "credit": "NASA Earth Observatory image by Joshua Stevens, using Suomi NPP VIIRS data from Miguel Roman, NASA GSFC",
   "licence": "Public domain (US Government work, NASA / NOAA)",
   "fetched": "2026-10-20",
   "transform": "JPEG 13500x6750 RGB, equirectangular, x=0 at lon -180. Greyscale = per-pixel maximum channel, area-reduced to 4096x2048 (lights-4k.webp, q90) and Lanczos to 2048x1024 (lights-2k.jpg).",
   "used": [
    "assets/tex/lights-2k.jpg",
    "assets/tex/lights-4k.webp"
   ]
  },
  {
   "id": "visible-earth-clouds",
   "name": "NASA Visible Earth: Blue Marble: Clouds, cloud composite (cloud_combined_8192.tif)",
   "url": "https://eoimages.gsfc.nasa.gov/images/imagerecords/57000/57747/cloud_combined_8192.tif",
   "credit": "NASA Goddard Space Flight Center image by Reto Stockli, enhancements by Robert Simmon (Visible Earth record 2432, file path imagerecords/57000/57747)",
   "licence": "Public domain (US Government work, NASA / NOAA)",
   "fetched": "2026-10-20",
   "transform": "TIFF 8192x4096 RGB, equirectangular. A static composite of two days of visible imagery plus thermal infrared over the poles (2001-2002), not live weather. Greyscale (channel mean, white = cloud), area-reduced to 4096x2048 (clouds-4k.webp, quality chosen for the 700 KB budget) and Lanczos to 2048x1024 (clouds-2k.jpg).",
   "used": [
    "assets/tex/clouds-2k.jpg",
    "assets/tex/clouds-4k.webp",
    "assets/fallback/poster.jpg",
    "assets/og.jpg"
   ]
  },
  {
   "id": "ne-boundaries",
   "name": "Natural Earth 1:50m Cultural Vectors, admin 0 - boundary lines land",
   "url": "https://github.com/nvkelso/natural-earth-vector/blob/master/geojson/ne_50m_admin_0_boundary_lines_land.geojson",
   "credit": "Natural Earth (naturalearthdata.com)",
   "licence": "Public domain",
   "fetched": "2026-10-20",
   "transform": "GeoJSON LineStrings, Douglas-Peucker 0.05 deg, 3 decimals, stored as [lat, lon], split where consecutive longitudes differ by more than 180 deg. Disputed lines are included as drawn by Natural Earth (de facto).",
   "used": [
    "data/borders.json"
   ]
  },
  {
   "id": "ne-countries-places",
   "name": "Natural Earth 1:50m admin 0 countries and 1:10m populated places (simple)",
   "url": "https://github.com/nvkelso/natural-earth-vector/tree/master/geojson",
   "credit": "Natural Earth (naturalearthdata.com)",
   "licence": "Public domain",
   "fetched": "2026-10-20",
   "transform": "Countries: all sovereign states plus dependencies with at least 50,000 people; label point from LABEL_X / LABEL_Y; continent from CONTINENT (Seychelles and Mauritius set to Africa, Maldives to Asia). Cities: every national capital of those countries plus the largest places by POP_MAX to 250 rows; population fields are not copied. A few misspelled NE names corrected (Shenyang, Saint Petersburg, Xi'an).",
   "used": [
    "data/features.json"
   ]
  },
  {
   "id": "world-bank-pop-area",
   "name": "World Bank Open Data: Population, total (SP.POP.TOTL) and Surface area (AG.SRF.TOTL.K2)",
   "url": "https://api.worldbank.org/v2/country/all/indicator/SP.POP.TOTL?format=json&mrnev=1&per_page=400",
   "credit": "World Bank, World Development Indicators",
   "licence": "CC BY 4.0",
   "fetched": "2026-10-20",
   "transform": "Most recent non-empty value per country (mrnev=1), matched on ISO 3166 alpha-3. Population carries its year as popYear; area is km2 as published (year varies). Entries without a value are omitted.",
   "used": [
    "data/features.json"
   ]
  },
  {
   "id": "landmarks-hand",
   "name": "Landmark facts (heights, depths, lengths, records)",
   "url": "https://pubs.usgs.gov/",
   "credit": "USGS, NOAA, NASA, WMO, national survey agencies; Wikipedia used to cross-check",
   "licence": "Facts; citations only",
   "fetched": "2026-10-20",
   "transform": "Hand-written in tools/make-landmarks.py with own descriptions. Summit and depth coordinates were checked against ETOPO 2022 (the 1 arc-minute grid peak or low lies inside the placed point window). Everest uses the 2020 Nepal-China survey (8,848.86 m); Challenger Deep 10,935 m (UNH/CCOM 2010 survey); Death Valley and Dead Sea values are current as of 2026; the Dead Sea falls about 1 m a year.",
   "used": [
    "data/features.json",
    "tools/landmarks.json"
   ]
  },
  {
   "id": "regions-hand",
   "name": "Region label points (continents, oceans, seas, physical regions)",
   "url": "https://www.naturalearthdata.com/downloads/50m-physical-vectors/50m-physical-labels/",
   "credit": "Own placement; names follow IHO sea names and Natural Earth physical labels",
   "licence": "Own work",
   "fetched": "2026-10-20",
   "transform": "Hand-written in tools/regions.json: 7 continents, 5 oceans (IHO), 28 seas, gulfs and bays, 16 physical regions. Label points are approximate centres.",
   "used": [
    "data/features.json"
   ]
  }
 ]
}