# Texture credits

Every texture shipped under `public/assets/tex/` and every texture baked into a model under
`public/assets/models/` comes from **[Poly Haven](https://polyhaven.com)** and is licensed
**[CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/)** (public domain; no attribution
required — we credit the authors anyway). No brand marks.

Machine-readable list: `scripts/assets/polyhaven.json`. Raw maps are not in git; rebuild them with
`node scripts/assets/fetch-polyhaven.mjs` (2K + 1K JPG: diff, nor_gl, rough, ao, disp, arm, metal where
available). A shipped file carries the Poly Haven id in its name (e.g. `tex/asphalt_02.<hash>.ktx2`, or a
packed detail array listing its layer ids below), so each file maps to a line here.

## Detail layers (`world/detailGlsl.js`, 8 PBR layers in this order)

| # | Layer | Poly Haven id |
|---|---|---|
| 0 | freshAsphalt | `tarred_gravel` |
| 1 | agedAsphalt | `asphalt_02` |
| 2 | murram | `red_laterite_soil_stones` |
| 3 | gravel | `gravel_stones` |
| 4 | concrete | `concrete_floor_01` |
| 5 | grass | `leafy_grass` |
| 6 | drySoil | `dry_mud_field_001` |
| 7 | ploughed | `farm_soil` |

## Assets

| Poly Haven id | Title | Authors | Licence | Maps | Real size (m) | Intended use |
|---|---|---|---|---|---|---|
| [`tarred_gravel`](https://polyhaven.com/a/tarred_gravel) | Tarred Gravel | Dimitrios Savva | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.2 × 2.2 | road layer **freshAsphalt** (#0): Fresh national-highway carriageway: dark bitumen with chip aggregate |
| [`asphalt_02`](https://polyhaven.com/a/asphalt_02) | Asphalt 02 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 3 × 3 | road layer **agedAsphalt** (#1): Aged, sun-bleached grey asphalt with tar cracks (older lanes, shoulders, state highways) |
| [`road_damaged_2`](https://polyhaven.com/a/road_damaged_2) | Road Damaged 2 | Dimitrios Savva | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.2 × 2.2 | road layer: Patched, potholed asphalt: pothole/patch decals, village link roads, roadworks |
| [`red_laterite_soil_stones`](https://polyhaven.com/a/red_laterite_soil_stones) | Red Laterite Soil Stones | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer **murram** (#2): Red laterite murram: kachcha shoulders, dhaba and pump yards, free-roam 'murram' |
| [`red_dirt_mud_01`](https://polyhaven.com/a/red_dirt_mud_01) | Red Dirt Mud 01 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.5 × 1.5 | ground layer: Murram variant: red village dirt track with gravel (track crop kind) |
| [`gravel_stones`](https://polyhaven.com/a/gravel_stones) | Gravel Stones | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer **gravel** (#3): Grey crushed stone (gitti): road shoulders, roadworks heaps, ballast |
| [`concrete_floor_01`](https://polyhaven.com/a/concrete_floor_01) | Concrete Floor 01 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer **concrete** (#4): Aggregate concrete: urban kerb-side, culverts, forecourts (detail layer) |
| [`leafy_grass`](https://polyhaven.com/a/leafy_grass) | Leafy Grass | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer **grass** (#5): Green grass verge with dry patches (field, verge, scrub kinds) |
| [`dry_mud_field_001`](https://polyhaven.com/a/dry_mud_field_001) | Dry Mud Field 001 | Rob Tuytel, Rico Cilliers | CC0 | diff, nor_gl, rough, ao, disp, arm | 3 × 3 | ground layer **drySoil** (#6): Dusty dry farm soil (field / fallow kinds, Indo-Gangetic plain look) |
| [`farm_soil`](https://polyhaven.com/a/farm_soil) | Farm Soil | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer **ploughed** (#7): Ploughed field soil (ploughed / paddy-dry kinds) |
| [`farm_furrows`](https://polyhaven.com/a/farm_furrows) | Farm Furrows | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.098 × 2.098 | ground layer: Ploughed variant with visible furrow rows (aligned ploughed fields) |
| [`withered_grass`](https://polyhaven.com/a/withered_grass) | Withered Grass | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | ground layer: Dry grass / stubble: summer verges, harvested fields, sand-scrub edges |
| [`dry_ground_rocks`](https://polyhaven.com/a/dry_ground_rocks) | Dry Ground Rocks | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 4 × 4 | ground layer: Arid ochre soil with stones: sand and scrub kinds (Rajasthan / Deccan stretches) |
| [`brushed_concrete_03`](https://polyhaven.com/a/brushed_concrete_03) | Brushed Concrete 03 | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Tined cement-concrete pavement: toll plaza lanes, pump forecourt, CC road stretches |
| [`concrete_layers`](https://polyhaven.com/a/concrete_layers) | Concrete Layers | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.55 × 1.55 | building material: Chipped cast concrete: kerbs, median dividers, km-stones, culvert walls, booth islands |
| [`white_stucco`](https://polyhaven.com/a/white_stucco) | White Stucco | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.998 × 1.998 | building material: Painted cement plaster base (tinted per house colour) |
| [`painted_plaster_wall`](https://polyhaven.com/a/painted_plaster_wall) | Painted Plaster Wall | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Weathered painted plaster: older pucca houses, shop rows, school wall |
| [`blue_plaster_weathered`](https://polyhaven.com/a/blue_plaster_weathered) | Blue Plaster Weathered | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Faded blue lime-washed plaster (village houses, temple side walls) |
| [`damaged_plaster`](https://polyhaven.com/a/damaged_plaster) | Damaged Plaster | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.85 × 1.85 | building material: Plaster peeling off brick: old pucca houses, boundary walls |
| [`clay_plaster`](https://polyhaven.com/a/clay_plaster) | Clay Plaster | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Mud / gobar plastered wall: kachha huts, tandoor, chulha |
| [`red_bricks_04`](https://polyhaven.com/a/red_bricks_04) | Red Bricks 04 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.5 × 2.5 | building material: Exposed red kiln brick: unfinished houses, boundary walls, brick kilns |
| [`asbestos_sheet_02`](https://polyhaven.com/a/asbestos_sheet_02) | Asbestos Sheet 02 | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.8 × 1.8 | building material: Corrugated cement sheet roofing: dhaba, sheds, puncture khokha |
| [`rusty_corrugated_iron`](https://polyhaven.com/a/rusty_corrugated_iron) | Rusty Corrugated Iron | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Rusty corrugated tin sheet: shed and khokha roofs, fences |
| [`worn_corrugated_iron`](https://polyhaven.com/a/worn_corrugated_iron) | Worn Corrugated Iron | Jenelle van Heerden, Dimitrios Savva | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.8 × 1.8 | building material: Galvanised corrugated tin sheet (newer roofs, tin sheds) |
| [`rusty_metal_shutter`](https://polyhaven.com/a/rusty_metal_shutter) | Rusty Metal Shutter | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.9 × 1.9 | building material: Rolling shop shutters on shop rows and dhabas |
| [`reed_roof_03`](https://polyhaven.com/a/reed_roof_03) | Reed Roof 03 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.5 × 2.5 | building material: Chhappar thatch: kachha hut roofs, dhaba shade |
| [`blue_metal_plate`](https://polyhaven.com/a/blue_metal_plate) | Blue Metal Plate | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.5 × 2.5 | vehicle material: Scratched painted metal panels: truck / bus / tractor body (tinted), drums, sign backs |
| [`rusty_painted_metal`](https://polyhaven.com/a/rusty_painted_metal) | Rusty Painted Metal | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.2 × 2.2 | vehicle material: Chipped paint over rust: old trucks, tractors, poles, hoarding frames |
| [`rusty_metal_04`](https://polyhaven.com/a/rusty_metal_04) | Rusty Metal 04 | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm, metal | 2 × 2 | vehicle material: Bare rust: chassis, wreck soot base, scrap, barricades |
| [`brown_planks_08`](https://polyhaven.com/a/brown_planks_08) | Brown Planks 08 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 1 × 1 | vehicle material: Raw rough planks: truck deck and body sides, khokha walls, charpai frames |
| [`green_rough_planks`](https://polyhaven.com/a/green_rough_planks) | Green Rough Planks | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.5 × 1.5 | prop material: Peeling painted planks: khokhas, doors, cart sides |
| [`fabric_leather_02`](https://polyhaven.com/a/fabric_leather_02) | Fabric Leather 02 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 0.5 × 0.5 | vehicle material: Worn leather / rexine: bus and truck seats |
| [`hessian_230`](https://polyhaven.com/a/hessian_230) | Hessian 230 | colormass, Rico Cilliers | CC0 | diff, nor_gl, rough, ao, disp, arm, metal | 0.269 × 0.267 | vehicle material: Jute gunny cloth: sacks in truck loads, tarp ties, dhaba screens |
| [`bark_willow_02`](https://polyhaven.com/a/bark_willow_02) | Bark Willow 02 | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.15 × 2.15 | tree material: Rough fissured bark: neem, kikar, mango trunks |
| [`bark_bluegum`](https://polyhaven.com/a/bark_bluegum) | Bark Blue gum | Dimitrios Savva | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.82 × 1.82 | tree material: Smooth peeling pale bark: eucalyptus (safeda) |
| [`chinese_hackberry_bark`](https://polyhaven.com/a/chinese_hackberry_bark) | Chinese Hackberry Bark | Charlotte Baglioni | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.8 × 1.8 | tree material: Smooth grey bark: banyan, peepal trunks and aerial roots |
| [`red_sandstone_wall`](https://polyhaven.com/a/red_sandstone_wall) | Red Sandstone Wall | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2 × 2 | building material: Mughal red sandstone walls (Lal Qila, Jama Masjid, Humayun / Safdarjung tombs, Purana Qila) |
| [`red_sandstone_tiles`](https://polyhaven.com/a/red_sandstone_tiles) | Red Sandstone Tiles | Amal Kumar | CC0 | diff, nor_gl, rough, ao, disp, arm | 2.05 × 2.05 | building material: Red sandstone paving / plinth slabs (tomb platforms, the Jama Masjid steps) |
| [`marble_01`](https://polyhaven.com/a/marble_01) | Marble 01 | Rob Tuytel | CC0 | diff, nor_gl, rough, ao, disp, arm | 1.5 × 1.5 | building material: White marble: Mughal domes, inlay bands, minaret tops |

## Preview HDRIs (offline Blender lighting only — never shipped)

| Poly Haven id | Title | Authors | Licence | Use |
|---|---|---|---|---|
| [`aarfontein_dirt_road`](https://polyhaven.com/a/aarfontein_dirt_road) | Aarfontein Dirt Road | Jarod Guest, Dario Barresi | CC0 | Offline Blender preview lighting only (arid dirt road, clear sun). Never shipped. |
| [`kloofendal_48d_partly_cloudy_puresky`](https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky) | Kloofendal 48d Partly Cloudy (Pure Sky) | Greg Zaal, Jarod Guest | CC0 | Offline Blender preview lighting only (pure sky, partly cloudy midday). Never shipped. |

## Built texture arrays

Built by scripts/assets/build-ktx2.mjs (layer order = scripts/assets/texsets.json), every file
listed in index.json; each layer is one of the Poly Haven CC0 sets above.

- `detail` layer `agedAsphalt` — Poly Haven "asphalt_02" by Rob Tuytel (CC0, https://polyhaven.com/a/asphalt_02)
- `detail` layer `concrete` — Poly Haven "concrete_floor_01" by Rob Tuytel (CC0, https://polyhaven.com/a/concrete_floor_01)
- `detail` layer `drySoil` — Poly Haven "dry_mud_field_001" by Rob Tuytel, Rico Cilliers (CC0, https://polyhaven.com/a/dry_mud_field_001)
- `detail` layer `freshAsphalt` — Poly Haven "tarred_gravel" by Dimitrios Savva (CC0, https://polyhaven.com/a/tarred_gravel)
- `detail` layer `grass` — Poly Haven "leafy_grass" by Charlotte Baglioni (CC0, https://polyhaven.com/a/leafy_grass)
- `detail` layer `gravel` — Poly Haven "gravel_stones" by Amal Kumar (CC0, https://polyhaven.com/a/gravel_stones)
- `detail` layer `murram` — Poly Haven "red_laterite_soil_stones" by Amal Kumar (CC0, https://polyhaven.com/a/red_laterite_soil_stones)
- `detail` layer `ploughed` — Poly Haven "farm_soil" by Amal Kumar (CC0, https://polyhaven.com/a/farm_soil)
