# Credits: the world events' pictures

Every picture the event layer and events/gallery.html can use, where it comes from, who made it and its licence.
Rendered ones are drawn from the 3D models by `scripts/build_event_sprites.py` (prototypes/render_events.html);
drawn ones are made in canvas by `eventsprites.js`. Downloads live in `data/local/downloads/` (not in git).
The building pictures (assets/buildings) are credited in scripts/build_buildings.py: Kenney and KayKit, CC0.

| pack / source | author | licence | candidates |
|---|---|---|---|
| Pin World (drawn in eventsprites.js) | Pin World | ours | `wall.stone`, `wall.brick`, `wall.palisade`, `wall.white`, `tower.stone`, `tower.brick`, `tower.wood`, `gate.stone`, `gate.brick`, `gate.wood`, `stakes.red`, `pile.stack`, `worker.villager`, `worker.straw-hat`, `worker.bean`, `cart.ox`, `cart.donkey`, `cart.barrow`, `banner.gold`, `building.castle`, `building.palace`, `building.market`, `building.port`, `building.watchtower`, `building.watchtower-slate` |
| [Kenney Castle Kit](https://kenney.nl/assets/castle-kit) | Kenney (kenney.nl) | CC0 1.0 | `tower.kenney-square`, `tower.kenney-hex`, `gate.kenney-doorway`, `pile.kenney`, `banner.kenney`, `banner.kenney-pennant`, `building.castle-kenney`, `building.palace-kenney`, `building.watchtower-kenney`, `soldier.kenney-siege`, `wall.kenney`, `wall.kenney-wood`, `gate.kenney`, `building.port-kenney` |
| [KayKit Medieval Hexagon Pack](https://kaylousberg.itch.io/kaykit-medieval-hexagon) | Kay Lousberg (KayKit) | CC0 1.0 | `tower.kaykit`, `building.castle-kaykit`, `building.market-kaykit`, `building.watchtower-kaykit` |
| modelled in prototypes/render_events.html | Pin World | ours | `pile.modelled`, `worker.modelled`, `crane.modelled`, `building.temple-columns`, `building.statue-hero`, `building.school-hall`, `building.stadium-arena`, `building.farm-barn`, `building.bridge-stone` (a ramp and an arched span with cutwaters, laid end to end by the page) (prototypes/event-models.js; drawn fallbacks `building.temple`, `building.statue`, `building.school`, `building.stadium`, `building.farm`, `building.bridge` in eventsprites.js) (and the fire in the camps, the spears and shields in `weapons.kaykit`) |
| Original models in prototypes/event-models.js; rendered through prototypes/render_events.html with the houses' lighting and camera | Pin World | ours | `cart.timber-horse` (open oak cart, chestnut horse, harness, cargo and eight-frame gait/wheels), `worker.artisan` (eight-frame walk/carry/hammer/cheer), `scaffold.timber` (lashed platforms, braces and ladder); `wall.limestone` is drawn in eventsprites.js / eventlayer.js |
| Original garrison models in prototypes/event-models.js | Pin World | ours | `soldier.sentry`, `soldier.sentry-blue`: matching eight-frame walk, spear attack and cheer; mail collar, pauldrons, helmet and painted kite shield |
| Original workshop and armoury models in prototypes/event-models.js | Pin World | ours | `forge.workshop` (open tiled smithy, animated hearth, chimney, bench, anvil and quench barrel), `weapons.armoury` (six cumulative levels of sword racks, crates, spears and shields) |
| [Kenney Fantasy Town Kit 2.0](https://kenney.nl/assets/fantasy-town-kit) | Kenney (kenney.nl) | CC0 1.0 | `cart.kenney`, `cart.kenney-high`, `building.market-kenney` |
| [Kenney Mini Characters](https://kenney.nl/assets/mini-characters) | Kenney (kenney.nl) | CC0 1.0 | `worker.kenney-mini` |
| [Kenney Blocky Characters 2.0](https://kenney.nl/assets/blocky-characters) | Kenney (kenney.nl) | CC0 1.0 | `worker.kenney-blocky` |
| [Quaternius (via Poly Pizza)](https://poly.pizza/u/Quaternius) | Quaternius | CC0 1.0 | `worker.quaternius`, `worker.quaternius-farmer`, `soldier.quaternius-king`, `cart.quaternius-donkey`, `cart.quaternius-bull`, `cart.quaternius-horse`, `building.port-quaternius`, `building.market-quaternius`, `banner.quaternius`, `life.dragon` (Dragon, https://poly.pizza/m/VBvzjFIYws), `life.sheep` (Sheep, https://poly.pizza/m/C39AUXUUes) |
| [KayKit Adventurers 1.0](https://github.com/KayKit-Game-Assets/KayKit-Character-Pack-Adventures-1.0) | Kay Lousberg (KayKit) | CC0 1.0 | `soldier.kaykit-knight` |
| [KayKit Medieval Hexagon Pack 1.0](https://github.com/KayKit-Game-Assets/KayKit-Medieval-Hexagon-Pack-1.0) | Kay Lousberg (KayKit) | CC0 1.0 | `pile.kaykit`, `wall.kaykit`, `gate.kaykit`, `scaffold.kaykit`, `stages.kaykit`, `banner.kaykit-flag`, `camp.kaykit`, `forge.kaykit`, `weapons.kaykit`, `life.windmill` |
| [Kenney Survival Kit](https://kenney.nl/assets/survival-kit) | Kenney (kenney.nl) | CC0 1.0 | `pile.kenney-survival`, `camp.kenney-survival`, the fish in `life.fishboat` |
| [Kenney Retro Fantasy Kit](https://kenney.nl/assets/retro-fantasy-kit) | Kenney (kenney.nl) | CC0 1.0 | `wall.kenney-retro`, `gate.kenney-retro`, `tower.kenney-retro`, `scaffold.kenney-retro`, `crane.kenney-pulley` |
| [Kenney Pirate Kit](https://kenney.nl/assets/pirate-kit) | Kenney (kenney.nl) | CC0 1.0 | `tower.kenney-pirate`, `building.port-pirate`, `building.watchtower-pirate`, `life.fishboat` (the rowboat) |
| [Scaffolding (Poly Pizza)](https://poly.pizza/m/79ea8731) | lakescorp | CC0 1.0 | `scaffold.lakescorp` |
| Monuments (assets/monuments/) | each its own | each its own | every picture's `object`, `source` and `license` are in assets/monuments/index.json; `cat-statue`, `waffle-statue`: ours, modelled in prototypes/render_statues.html (PR #54) |
| Pin World (drawn in eventsprites.js) | Pin World | ours | `monument.obelisk` (stands in for a monument whose picture is missing) |

CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/ — no attribution required; credited here anyway.
"ours": made for Pin World in this repository.

Map data near the events (roads, sea, rivers) is © OpenStreetMap contributors (ODbL), via OpenFreeMap, as for the map tiles.

Original sandstone fortifications (`tower.sandstone`, `gate.sandstone`) are modelled in `prototypes/event-models.js` and baked with the houses' camera/light. `wall.sandstone` is drawn in `eventsprites.js` / `eventlayer.js`. Author: Pin World; original work (ours), with no external model dependencies.

<!-- monuments:start (scripts/make_monument.py writes this) -->
## Monuments (assets/monuments)

Settlers' wishes made into monuments by `scripts/make_monument.py`, drawn through `prototypes/render_monument.html`.

| monument | wish | model | author | licence |
|---|---|---|---|---|
| `atlas-lion-statue` | Atlas lion statue | modelled for Pin World (`prototypes/monuments/atlas-lion-statue.js`) | Pin World | ours |
| `berlin-bear` | giant standing bear statue on a plinth (Berlin's heraldic bear) | [Poly Pizza: Bear](https://poly.pizza/m/a4hZyH8vVph) | Poly by Google | CC-BY 3.0 |
| `cafe-badarpur` | a medieval tavern café: a timber-framed two-storey inn with a thatched roof, a hanging sign, tables and benches with steaming cups out front | modelled for Pin World (`prototypes/monuments/cafe-badarpur.js`) | Pin World | ours |
| `cat-statue` | A giant stone cat on a plinth | modelled for Pin World (`prototypes/monuments/cat-statue.js`) | Pin World | ours |
| `composer-statue-bonn` | bronze statue of the composer Beethoven standing on a tall stone plinth | modelled for Pin World (`prototypes/monuments/composer-statue-bonn.js`) | Pin World | ours |
| `cow-abondance` | a giant friendly Abondance cow statue: reddish-brown and white dairy cow with a white head, brown patches round the eyes, a big alpine cow bell on a leather collar, standing on a grassy plinth | modelled for Pin World (`prototypes/monuments/cow-abondance.js`) | Pin World | ours |
| `dog-statue` | a stone statue of a sitting dog on a plinth | [Poly Pizza: Pug](https://poly.pizza/m/f1YBNg2R0nj) | Workshop apelab | CC-BY 3.0 |
| `dragon-statue` | a statue of a dragon with spread wings on a stone plinth | modelled for Pin World (`prototypes/monuments/dragon-statue.js`) | Pin World | ours |
| `elephant-statue` | elephant statue | [Poly Pizza: Elephant](https://poly.pizza/m/a27MA0rXyyj) | Poly by Google | CC-BY 3.0 |
| `first-rocket` | Pin World's first Rocket Station: a storybook rocket on a stone launch pad by a wooden gantry | drawn: modelled for Pin World (`prototypes/monuments/first-rocket.js`, scripts/make_rocket.py) | Pin World | ours |
| `first-rocket-pad` | Pin World's first Rocket Station: a storybook rocket on a stone launch pad by a wooden gantry (the pad, rocket away) | drawn: modelled for Pin World (`prototypes/monuments/first-rocket.js`, scripts/make_rocket.py) | Pin World | ours |
| `first-rocket-ship` | Pin World's first Rocket Station: a storybook rocket on a stone launch pad by a wooden gantry (the rocket alone) | drawn: modelled for Pin World (`prototypes/monuments/first-rocket.js`, scripts/make_rocket.py) | Pin World | ours |
| `giant-soda-can` | giant soda can | modelled for Pin World (`prototypes/monuments/giant-soda-can.js`) | Pin World | ours |
| `giza-pyramids` | the three great pyramids of Giza, sand-coloured stone, the biggest at the back, two smaller in front, with the Sphinx at their foot | modelled for Pin World (`prototypes/monuments/giza-pyramids.js`) | Pin World | ours |
| `golden-dolphin-statue` | golden dolphin statue | modelled for Pin World (`prototypes/monuments/golden-dolphin-statue.js`) | Pin World | ours |
| `great-dam` | a medieval stone dam: a curved stone wall across a river with water pouring through three arched sluices | modelled for Pin World (`prototypes/monuments/great-dam.js`) | Pin World | ours |
| `healers-hall` | a medieval healers' hall: a long stone infirmary with a tiled roof and a herb garden in front | modelled for Pin World (`prototypes/monuments/healers-hall.js`) | Pin World | ours |
| `hero-rider-algiers` | a heroic rider on a rearing horse, a bronze equestrian statue on a tall stone plinth | modelled for Pin World (`prototypes/monuments/hero-rider-algiers.js`) | Pin World | ours |
| `knight-statue` | a statue of a knight in armour on a stone plinth, holding a sword | [Poly Pizza: Knight](https://poly.pizza/m/1TnT5Xc6vq) | Vaporworks | CC-BY 3.0 |
| `research-station` | a polar research station on the ice: a raised modern module building on stilts made of shipping-container blocks, blue and white panels, a radio mast and a small weather dome, fuel drums and a snow tractor beside it | modelled for Pin World (`prototypes/monuments/research-station.js`) | Pin World | ours |
| `rhino-statue` | stone rhinoceros statue | modelled for Pin World (`prototypes/monuments/rhino-statue.js`) | Pin World | ours |
| `royal-gardens` | royal gardens: a hedge maze around a round fountain with flower beds and a small gazebo | modelled for Pin World (`prototypes/monuments/royal-gardens.js`) | Pin World | ours |
| `samurai-statue` | samurai statue | modelled for Pin World (`prototypes/monuments/samurai-statue.js`) | Pin World | ours |
| `shawarma-statue` | shawarma statue | modelled for Pin World (`prototypes/monuments/shawarma-statue.js`) | Pin World | ours |
| `silver-mine` | a medieval mine entrance: a timber-framed tunnel mouth in a rocky hill with a mine cart on rails coming out and a small headframe | modelled for Pin World (`prototypes/monuments/silver-mine.js`) | Pin World | ours |
| `sky-tower-dubai` | the world's tallest tower like the Burj Khalifa: a very tall, very slender glass supertall skyscraper, silver-blue glass, a Y-shaped base, stepped setbacks getting narrower as it rises, a long needle spire on top, warm lit windows | modelled for Pin World (`prototypes/monuments/sky-tower-dubai.js`) | Pin World | ours |
| `skyship-harbour` | a medieval sky-ship harbour: a tall timber mooring tower with a wooden airship with a cloth balloon tied to its top | modelled for Pin World (`prototypes/monuments/skyship-harbour.js`) | Pin World | ours |
| `star-tower` | Star Tower | drawn: the Star Tower of the multiplanet prototype (planet.js stationSVG, ready), rasterised at 6x | Pin World | ours |
| `taj-mahal` | the Taj Mahal: a white marble mausoleum with a great onion dome, four smaller domed kiosks, four tall minarets at the corners of a square white plinth, a long reflecting pool with cypress trees in front | modelled for Pin World (`prototypes/monuments/taj-mahal.js`) | Pin World | ours |
| `treasury` | a medieval treasury: a sturdy stone counting house with columns, a gold dome and chests of gold coins at the door | modelled for Pin World (`prototypes/monuments/treasury.js`) | Pin World | ours |
| `waffle-statue` | A giant Belgian waffle on a plinth | modelled for Pin World (`prototypes/monuments/waffle-statue.js`) | Pin World | ours |
| `wagon-station` | a medieval wagon station: a long timber hall with an arched roof and a horse-drawn wagon on wooden rails in front | modelled for Pin World (`prototypes/monuments/wagon-station.js`) | Pin World | ours |
| `tiger-statue` | bronze tiger statue | modelled for Pin World (`prototypes/monuments/tiger-statue.js`) | Pin World | ours |

CC-BY 3.0: https://creativecommons.org/licenses/by/3.0/ — the author above must be credited wherever the picture is shown.
<!-- monuments:end -->

## The other worlds (planet.html, the hidden prototype; manager/MULTIPLANET.md)

| picture | source | licence | file |
|---|---|---|---|
| Moon colour map | [NASA Scientific Visualization Studio, CGI Moon Kit](https://svs.gsfc.nasa.gov/4720) (LRO Wide Angle Camera mosaic, 2025 colour map, `lroc_color_2k.jpg`). Credit: NASA's Scientific Visualization Studio | NASA media is generally not subject to copyright (nasa.gov media usage guidelines); the page names no other licence | `assets/planets/moon-2k.jpg`, `moon-bump.jpg` (graded to our colours with ImageMagick) |
| Legacy Mars bump map | [USGS Astropedia, Mars Viking Colorized Global Mosaic 925m](https://astrogeology.usgs.gov/search/map/mars_viking_global_color_mosaic_925m) (Viking Orbiter images, NASA/PDS). Credit: U.S. Geological Survey | the product page: access constraints "public domain", use constraints none | `assets/planets/mars-bump.jpg` (legacy prototype derivative; current colour source below) |
| Region names | IAU Gazetteer of Planetary Nomenclature (USGS) | names of approved features; centres rounded | `planet.js` |
| Star Tower, dome houses | drawn in `planet.js`; the Star Tower as `assets/monuments/star-tower.png` (that drawing, rasterised) | ours | |

## Universe implementation (local branch)

- The original brand fonts are now self-hosted in `assets/fonts/`: **New Rocker**
  (Pablo Impallari, Brenda Gallo and Rodrigo Fuenzalida), **Lilita One** (Juan
  Montoreano), and **Nunito** (The Nunito Project Authors), under the SIL Open
  Font License 1.1.
  Full upstream copyright/licence files are retained there. Sources:
  [Google Fonts New Rocker](https://github.com/google/fonts/tree/main/ofl/newrocker),
  [Lilita One](https://github.com/google/fonts/tree/main/ofl/lilitaone),
  [Nunito](https://github.com/google/fonts/tree/main/ofl/nunito). CSS retains
  the supplied language subsets and weights; WOFF2 files are unmodified.
- Earth rendering now self-hosts the exact previous CDN versions of
  [d3-array 3.2.4](https://github.com/d3/d3-array/tree/v3.2.4),
  [d3-geo 3.1.1](https://github.com/d3/d3-geo/tree/v3.1.1),
  [topojson-client 3.1.0](https://github.com/topojson/topojson-client/tree/v3.1.0),
  and [world-atlas 2.0.2](https://github.com/topojson/world-atlas/tree/v2.0.2),
  under their ISC licences (`vendor/LICENSE-*`). World Atlas redistributes
  [Natural Earth](https://www.naturalearthdata.com/about/terms-of-use/)
  public-domain map data. Source URLs and SHA-256 hashes are recorded in
  `vendor/earth-dependencies.json`.

- The Moon/Mars assets above are retained for the integrated universe in `index.html`.
  `*-small.jpg` are 512×256 derivatives for distant bodies, by Pin World.
- **Progressive close-up surfaces:** Moon colour now derives from NASA's Scientific
  Visualization Studio [2025 CGI Moon Kit 8k and 16k sRGB maps](https://svs.gsfc.nasa.gov/4720/).
  Mars colour derives from the 1km ancillary JPEG of
  [Mars Viking Colorized Global Mosaic (MDIM2.1)](https://astrogeology.usgs.gov/search/map/mars_viking_colorized_global_mosaic_232m),
  **NASA Ames / USGS Astrogeology Science Center, public domain** (the product
  metadata lists no use constraints). This is an artistically colorized mosaic;
  the downloaded derivative is 1km/pixel, rather than the full 232m product.
  Its published equirectangular affine transform registers the odd-sized raster
  to planetocentric latitude and positive-east longitude. Pin World applies a
  white/black-preserving warm gamma palette and derives every Mars level from
  the same georeferenced 16k map, including the distant overview.
  These are visualization assets, not uniform-resolution measurements.
  The original source URLs and SHA-256 hashes are
  in `assets/planets/detail-v1/sources.json`. `scripts/build_planet_detail.py`
  applies the same warm palette grading to the matching 512px/2k basemaps and
  4k/8k/16k padded JPEG tile pyramids. The Moon's 16k close-up tier comes from
  the matching larger 2025 map; its lower-tier assets retain their existing bytes.
  NASA fills the color map beyond 70 degrees latitude with lower-resolution
  monochromatic albedo; these visual assets are not uniform-resolution survey
  products. No upscaling is used. Original downloaded
  sources remain in ignored `review/planet-sources/`; runtime uses local tiles.
  The surface credit link names NASA and USGS. Earlier local releases used
  [Solar System Scope's 8k Mars map](https://www.solarsystemscope.com/textures/),
  **© Solar System Scope, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)**;
  that source is replaced in the current integrated Mars colour pyramid.
- Venus, Europa and Titan `*-2k.jpg` and `*-small.jpg` are **original decorative
  illustrations**, generated by `scripts/build_universe_textures.py` (Pin World,
  ours). They are not scientific maps. Those worlds are locked previews.
- H3 coordinates use `h3-js` **4.3.0** (Apache-2.0,
  [source](https://github.com/uber/h3-js/tree/v4.3.0), licence in
  `vendor/LICENSE-h3`). The immutable catalogue is generated with Python `h3`
  **4.3.1**, using resolution 2. Region sectors are Pin World gameplay partitions,
  not official IAU boundaries.
- Universe rendering uses three.js **0.185.0** (MIT,
  [source](https://github.com/mrdoob/three.js/tree/r185), licence in
  `vendor/LICENSE-three`). The revision matches the existing globe.gl bundle.
- Radius metadata uses volumetric mean radii from the NASA/JPL
  [planet parameters](https://ssd.jpl.nasa.gov/planets/phys_par.html),
  [Moon fact sheet](https://nssdc.gsfc.nasa.gov/planetary/factsheet/moonfact.html),
  and [satellite parameters](https://ssd.jpl.nasa.gov/sats/phys_par/).
  Scene distances, body sizes and orbits are compressed for navigation.
