Credits

← Fast Solutions

# Sources of the solar system's maps (all NASA, public domain)

The Earth's maps are built by `scripts/film/earth-maps.py` from the masters below (downloaded 2026-10-11; the masters
are not committed): `python3 -P scripts/film/earth-maps.py <masters-dir> public/prototypes/story-v3/assets`.

| File | Source |
|---|---|
| `earth-day.jpg` (4096×2048) | NASA Visible Earth, Blue Marble Next Generation, July 2004 (no relief shading; the relief is lit in the shader): https://eoimages.gsfc.nasa.gov/images/imagerecords/74000/74092/world.200407.3x21600x10800.jpg |
| `earth-water.png` (4096×2048) | derived from the same Blue Marble image (its flat dark oceans, seas and lakes) and, for the turquoise shallows at sea level, from the GEBCO elevation below |
| `earth-relief.png` (4096×2048) | NASA Visible Earth, Topography (GEBCO 2008 land elevation): https://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73934/gebco_08_rev_elev_21600x10800.png |
| `earth-night.jpg` (8192×4096), `earth-night-4k.jpg` | derived from NASA Black Marble 2016 (city lights only: what stands above the blue moonlit land): https://eoimages.gsfc.nasa.gov/images/imagerecords/144000/144898/BlackMarble_2016_3km.jpg |
| `earth-night-arabia.jpg` (1350×1050) | the same NASA Black Marble 2016 master (public domain) at its own 3 km, cropped to lon 24–60° E, lat 12–40° N (Arabia, the Gulf, the Levant, the Nile) and put through earth-maps.py's same light formula: `python3 -P scripts/film/night-inset.py <masters-dir> public/prototypes/story-v3/assets` (added 2026-10-13; solar.js draws it on a phone only, over the intro's places) |
| `earth-clouds.jpg` (4096×2048) | NASA Visible Earth, Blue Marble clouds: https://eoimages.gsfc.nasa.gov/images/imagerecords/57000/57747/cloud_combined_8192.tif |
| `moon.jpg` | NASA SVS CGI Moon Kit (LRO): https://svs.gsfc.nasa.gov/vis/a000000/a004700/a004720/lroc_color_poles_1k.jpg |
| `fast-lockup.svg` | the official Fast Solutions lockup, `ops/Branding/FAST branding/source/Fast final-02.svg` (one id per piece, for the finale's trace) |

Saturn, its rings and Jupiter are drawn in the shader (`solar.js`), from no image.

## The farm (the proof's fall onto Al-Jawf's centre-pivot farms: `farm.js`)

Five nested levels centred on one real pivot (30.181883° N, 38.313551° E, the Basita farms of the Wadi As-Sirhan basin),
each ≈ 4× finer than the one before, and the circles measured on the finest. Built by `scripts/film/farm-maps.py`
(downloaded 2026-10-11; the tiles are cached in a git-ignored folder, never committed):
`python3 -E -P scripts/film/farm-maps.py <tile-cache-dir> <blue-marble-master> public/prototypes/story-v3/assets`.
The Sentinel-2 colours are brought to the globe's Blue Marble (a per-channel gain in linear light, fitted over northern
Arabia), so the levels cross into the globe unseen.

| File | Source |
|---|---|
| `farm-b.webp` … `farm-e.webp` (2048² each: 1,024 km at 500 m/px, 307 km at 150 m, 78 km at 38 m, 19.5 km at 9.5 m) | Sentinel-2 cloudless 2017 by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2017), licensed under CC BY 4.0, https://creativecommons.org/licenses/by/4.0/; tiles from https://tiles.maps.eox.at/wmts/1.0.0/s2cloudless-2017/default/WGS84/{level}/{row}/{col}.jpg (https://s2maps.eu). The 2018+ mosaics are CC BY-NC-SA and are not used. Resampled, cropped and colour-matched with Pillow |
| `farm-a.webp` (2048², 3,800 km at 1.86 km/px) | the Blue Marble master above (NASA, public domain: the 2017 mosaic has no data south of ≈ 26° N), with `farm-b`'s Sentinel-2 land blended into its middle |
| `../farm-data.js` | the 161 pivot circles within 7.5 km of the target (centre, radius, pad, arm, wheel tracks), measured on `farm-e.webp` by the same script |

Attribution to show wherever the film credits its sources: «Sentinel-2 cloudless 2017 by EOX IT Services GmbH (Contains
modified Copernicus Sentinel data 2017), CC BY 4.0».

## Our own products' logos (Fast Solutions' own marks, used with the proof's cards and board)

| File | Source |
|---|---|
| `fd-logo.png` (278×384) | Fast Design's app logo, `fast-design/resources/logo.png`, resized with Pillow |
| `ch-logo.png` (384×384) | Contractor Hub's pearl icon (the app's own dark-mode variant: the green one vanishes on the ink glass), `contractor-hub/src/assets/logo-icon-pearl.png`, resized with Pillow |

## Section 9's land (the glide from Al-Jawf to Riyadh, the descent onto Diriyah, the rise back to space: `land.js`)

Built by `scripts/film/land-maps.py` (downloaded 2026-10-12; tiles and windows cached in a git-ignored folder, never
committed): `python3 -P scripts/film/land-maps.py <cache-dir> <blue-marble-master> public/prototypes/story-v3/assets`.
The Sentinel-2 maps are the raw L2A reflectance bands (B04, B03, B02) of 470 clear scenes from 15 Aug – 11 Oct 2026,
each MGRS tile composited in its own grid (the wide maps: the per-pixel median of five clear dates; a swath's edge filled
from the other orbit's dates, matched and blended), each tile brought to the globe's Blue Marble by its own gain per
channel in linear light, the wide maps' outer bands to its large-scale colours.

| File | Source |
|---|---|
| `land-nejd.webp` (2048², lat 23.4–31.8° N, lon 36.4–48.6° E, ≈ 450 × 590 m/px) | NASA Blue Marble Next Generation, 500 m tiles from NASA's Global Imagery Browse Services (GIBS, EPSG:4326 «best», layer `BlueMarble_NextGeneration`, level 7): https://gibs.earthdata.nasa.gov/wmts/epsg4326/best/BlueMarble_NextGeneration/default/500m/7/{row}/{col}.jpeg (NASA imagery, public domain; GIBS asks for the acknowledgement «imagery provided by services from NASA's Global Imagery Browse Services (GIBS), part of NASA's Earth Science Data and Information System (ESDIS)»). Mosaicked, cropped and resampled with Pillow |
| `land-strip.webp` (3072 × 1536: a strip along the great circle from the farm to Diriyah, 150–900 km from the farm, 200 km either side, ≈ 250 m/px) · `land-r0.webp` … `land-r3.webp` (four squares round At-Turaif, Diriyah, 24.734° N 46.575° E, orthographic: 420 km at 273 m/px, 110 km at 72 m, 30 km at 19.5 m, 8 km at 7.8 m) | Copernicus Sentinel-2 L2A (ESA), from the Sentinel-2 Cloud-Optimized GeoTIFFs on the Registry of Open Data on AWS (https://registry.opendata.aws/sentinel-2-l2a-cogs/), found through Element 84's Earth Search STAC (https://earth-search.aws.element84.com/v1). Free and open under the Copernicus data terms (commercial use allowed). Reprojected, composited and colour-matched with rasterio, NumPy, SciPy and Pillow |
| `land-h.webp` (2048², 20 km at 9.8 m/px: Section 9's two places, the room's home in Diriyah and the building site in north Riyadh, round their midpoint 24.782° N 46.6175° E; on At-Turaif's orthographic plane like the four squares, its centre 4,290.6 m east and 5,338.0 m north of At-Turaif; added 2026-10-12) | the same Copernicus Sentinel-2 L2A scenes, made the same way (MGRS tile 38RPN, as `land-r2` and `land-r3`, with the same per-tile gain); no scene beyond the 470 above |
| `land-s.webp` (2048², 40 km at 19.5 m/px round the building site, 24.8295° N 46.6578° E: the map beat's view over the site; on At-Turaif's orthographic plane like the others, its centre 8,355.9 m east and 10,621.7 m north of At-Turaif; added 2026-10-12) | the same Copernicus Sentinel-2 L2A scenes under the same Copernicus data terms, made the same way (MGRS tile 38RPN, with the same per-tile gain); no scene beyond the 470 above |
| `land-hw.webp` (3584², 35 km at 9.8 m/px: in `land-h`'s place on every GPU whose maps reach 4096, phones included, round 24.7829° N 46.6498° E; on At-Turaif's orthographic plane like the others, its centre 7,551.4 m east and 5,439.5 m north of At-Turaif; added 2026-10-12) | the same Copernicus Sentinel-2 L2A scenes under the same Copernicus data terms, made the same way (MGRS tile 38RPN, with the same per-tile gain); no scene beyond the 470 above |

Attribution to show wherever the film credits its sources: «Contains modified Copernicus Sentinel data 2026» and
«Imagery from NASA's Global Imagery Browse Services (GIBS), part of NASA's ESDIS».

## Section 9's two places (the room and its Saudi majlis, the building site: `place.js`)

Neither is a photograph of a real place: both are Fast Design's own pictures, generated with AI by Fast Solutions for
the app, and the majlis is Fast Design's own restyle of the room. Made 2026-10-12 for ≈ $0.72 (three 4K restyles at
Gemini's 4K output price, $0.24 each; the pipeline's own log prices them at its 1K/2K $0.134); the upscales and the
depth ran locally. The seeds not picked stay in the helper's git-ignored folder (`.superpowers/goal/r4/s9/s9-assets/seeds/`).
4K files at JPEG quality 88, the 2K ones (Lanczos to 2048 px wide) at 85, baseline (decoded whole as textures).

| File | Source |
|---|---|
| `s9/room-a.jpg` (4800×3584), `s9/room-a-2k.jpg` (2048×1529) | the before: Fast Design's showcase room, the iOS app's `Showcase/interior-1-before` (`fast-design/ios-app/FastDesign/Resources/Assets.xcassets/Showcase/interior-1-before.imageset/interior-1-before.jpg` at commit 191bd0a1, 2026-05-25, «regenerate 14 home showcases», 1200×896), upscaled 2× twice with Real-ESRGAN (model RealESRGAN_x2plus, xinntao/Real-ESRGAN v0.2.1, BSD-3-Clause; CPU, torch: `scripts/film/upscale.py esrgan`), which lands on the after's exact size |
| `s9/room-b.jpg` (4800×3584), `s9/room-b-2k.jpg` (2048×1529) | the after: that room restyled by Fast Design (style «سعودي معاصر» `saudi_contemporary`, interior, room «مجلس» `majlis`, structure kept) through its own prompt builder and image chain (`scripts/film/fd-style.ts`: Gemini 3 Pro Image), output size 4K (its 5th argument `4K`: `imageConfig.imageSize: "4K"`, the only change from production, which renders 1200×896), seed 1 of three. Its window lines up with the before's within 0.2 px (at 1200×896) |
| `s9/site.jpg` (4800×3584), `s9/site-2k.jpg` (2048×1529) | the building site: Fast Design's exterior template «بيت تراثي» (Traditional House, `exterior_traditional`), AI-generated by Fast Solutions for the app: `fast-design/public/images/designer/templates/exterior-traditional-shape.jpg` at commit a57ba071 (2026-04-07), original 1200×896 (the app ships it at 800×597, iOS `Templates/exterior-traditional-shape`), upscaled 2× twice with Real-ESRGAN as above |
| `s9/room-a-depth.png`, `s9/room-b-depth.png`, `s9/site-depth.png` (1024×765, 8-bit grey, lighter = nearer) | Fast Design's depth model (Depth Anything V2 Small, ONNX, Apache-2.0: `runDepth` in `~/tools/fast-design-worker/preprocessing.js`, run through `fast-design/eval/tools/preprocess-cli.mjs`) on `room-a.jpg`, `room-b.jpg` and `site.jpg`, at the model's own size |
| `s9/fd-icon.png`, `s9/ch-owner-icon.png`, `s9/ch-provider-icon.png` (160×160) | the apps' own iOS icons, resized with Pillow: Fast Design (`fast-design/ios-app/FastDesign/Resources/Assets.xcassets/AppIcon.appiconset/Icon-1024.png`) and «مركز المقاول» for owners and for providers (`contractor-hub/ios-app/ContractorHub-Owner/ContractorHubOwner/Assets.xcassets/AppIcon.appiconset/Icon-1024.png`, `contractor-hub/ios-app/ContractorHub-Provider/ContractorHubProvider/Assets.xcassets/AppIcon.appiconset/Icon-1024.png`) |
| `s9/styles/<id>.jpg` (240×320: custom, modern, classic, neoclassic, saudi_contemporary, bohemian, scandinavian, industrial, minimalist, the order of Fast Design's «اختر أسلوباً») | Fast Design's own style thumbnails (`fast-design/public/images/designer/styles/<id>.jpg`, 400², AI-generated by Fast Solutions for the app), a centred 3:4 crop resized with Pillow (copied from the storyboard, `s9-board-2/assets/style-<id>.jpg`); `industrial` keeps the app's own white bands |

## Section 9's ending (the store badges on the sprint board and on the two cards: `worlds/board.js`, `worlds/proof.js`)

Byte copies of the storyboard's (`public/prototypes/s9-ending/assets/`: its `SOURCES.md` records the download, the checks
for untrusted content and Apple's and Google's terms, verbatim). The official Arabic artwork, unmodified: drawn flat and
still, rasterized once at its device size and drawn 1 : 1; one pair on screen at a time (the two cards and the board never
overlap); App Store first, both the same height, at least 40 px (44 on a PC); clear space of ¼ of the height. Rules:
`.claude/rules/documentary-mock.md` (store badges).

| File | Source |
|---|---|
| `s9/badge-app-store-ar.svg` | Apple, «تنزيل من App Store», the preferred black badge, Arabic (its title `Download_on_the_App_Store_Badge_AR_RGB_blk_102417`; viewBox 119.66408 × 40.00013; 10,218 bytes; md5 `624bd34de543c12f4614e85ba0aa06c4`): Apple's App Store Marketing Tools, `https://toolbox.marketingtools.apple.com/api/badges/download-on-the-app-store/black/ar-ar?size=250x83`, fetched 2026-10-12 |
| `s9/badge-google-play-ar.svg` | Google, «احصل عليه من Google Play», Arabic (Saudi Arabia), the current artwork (the 2022 Play mark): `GetItOnGooglePlay_Badge_Web_color_Arabic-Saudi-Arabia.svg` (viewBox 238.96 × 70.87; 9,053 bytes; md5 `2d9d0e10f5180de2e8bb033b2926d9e9`): Google Play Partner Marketing Hub, Lockups, icons and badges → Get it on Google Play Badges → Digital → SVG, `https://partnermarketinghub.withgoogle.com/brands/google-play/google-play/lockups-icons-badges/?folder=86718`, fetched 2026-10-12. Drawn as an image (canvas), never inlined: its style block's class names would leak into the page |

Before the film goes public: Apple's credit line in the site's legal notices («Apple and the Apple Logo are trademarks of
Apple Inc., registered in the U.S. and other countries.», and «App Store is a service mark of Apple Inc., registered in
the U.S. and other countries.»); Google's brand review (the Android brand team approves every creative that shows its
trademarks, in a week or more), and its attribution line if the review asks for it («Google Play and the Google Play logo
are trademarks of Google LLC.»).