{
 "note": "Region 1 (Amber Basin) world contract. Laid out at 4.096 km for 1,000-player channels; zone IDs, levels, monster numbers and abilities are canonical here.",
 "region": {
  "id": "amber_basin",
  "name": "Amber Basin",
  "sizeM": [
   4096,
   4096
  ],
  "origin": "north-west",
  "chunkM": 256,
  "chunks": 256,
  "levelBand": [
   1,
   40
  ],
  "mapArt": "/art/maps/amber-basin-aligned.webp",
  "worldArt": "/art/maps/caravan-world-aligned.webp"
 },
 "worldRegions": [
  {
   "id": "amber_basin",
   "name": "Amber Basin",
   "levels": [
    1,
    40
   ],
   "status": "MVP",
   "mapNorm": [
    0.4,
    0.66
   ]
  },
  {
   "id": "saffron_route",
   "name": "Saffron Route",
   "levels": [
    41,
    60
   ],
   "status": "future (humanoid bandit factions, deferred bestiary)",
   "mapNorm": [
    0.58,
    0.46
   ]
  },
  {
   "id": "cinnabar_coast",
   "name": "Cinnabar Coast",
   "levels": [
    61,
    80
   ],
   "status": "future (port cities, sea raiders)",
   "mapNorm": [
    0.16,
    0.44
   ]
  },
  {
   "id": "jade_peaks",
   "name": "Jade Peaks",
   "levels": [
    81,
    100
   ],
   "status": "future (mountain monasteries, dragons)",
   "mapNorm": [
    0.42,
    0.14
   ]
  },
  {
   "id": "pearl_isles",
   "name": "Pearl Isles",
   "levels": [
    100,
    100
   ],
   "status": "future endgame islands",
   "mapNorm": [
    0.86,
    0.16
   ]
  }
 ],
 "waypoints": [
  {
   "id": "wp_amber_gate",
   "zone": "amber_gate",
   "unlock": "start"
  },
  {
   "id": "wp_dewgrass_meadow",
   "zone": "dewgrass_meadow",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_old_orchard",
   "zone": "old_orchard",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_reedwater_banks",
   "zone": "reedwater_banks",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_clay_cut",
   "zone": "clay_cut",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_cinder_kilns",
   "zone": "cinder_kilns",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_saltway_flats",
   "zone": "saltway_flats",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_bellshade_court",
   "zone": "bellshade_court",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_stormquill_ridge",
   "zone": "stormquill_ridge",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_ashroot_grove",
   "zone": "ashroot_grove",
   "unlock": "discover (walk within 15 m)"
  },
  {
   "id": "wp_jade_seal_ruins",
   "zone": "jade_seal_ruins",
   "unlock": "discover (walk within 15 m)"
  }
 ],
 "zones": [
  {
   "id": "amber_gate",
   "name": "Amber Gate",
   "type": "safe_town",
   "levels": [
    1,
    40
   ],
   "routeOrder": 0,
   "center": [
    563,
    3277
   ],
   "bounds": [
    205,
    2867,
    922,
    3686
   ],
   "mapNorm": [
    0.1375,
    0.8
   ],
   "monsters": [],
   "bosses": [],
   "landmark": "Twin-roof gate, caravan square and amber-glazed bell tower",
   "purpose": "Account-bound starter tools, pet choice, every first-region base at blacksmith, crafting and social hub; never a forced PvP area.",
   "services": [
    "blacksmith",
    "pet_keeper",
    "storage",
    "merchant",
    "healer",
    "trade_stalls",
    "caravan_gate"
   ],
   "mood": {
    "music": "Warm oud + frame drum town theme, market murmur",
    "light": "Golden late-afternoon key light, lantern fill at night"
   }
  },
  {
   "id": "dewgrass_meadow",
   "name": "Dewgrass Meadow",
   "type": "hunting",
   "levels": [
    1,
    4
   ],
   "routeOrder": 1,
   "center": [
    525,
    2509
   ],
   "bounds": [
    154,
    2202,
    896,
    2816
   ],
   "mapNorm": [
    0.1281,
    0.6125
   ],
   "monsters": [
    "dewhorn_hare",
    "reed_fox"
   ],
   "bosses": [],
   "landmark": "Dew-coated terraces, wicker bridges and a fallen training log",
   "purpose": "Cross a low log with a jump or take the safe footbridge.",
   "services": [],
   "mood": {
    "music": "Gentle plucked pipa, light flute",
    "light": "Soft morning haze, dew sparkle"
   }
  },
  {
   "id": "old_orchard",
   "name": "Old Orchard",
   "type": "hunting",
   "levels": [
    5,
    8
   ],
   "routeOrder": 2,
   "center": [
    525,
    1728
   ],
   "bounds": [
    154,
    1357,
    896,
    2099
   ],
   "mapNorm": [
    0.1281,
    0.4219
   ],
   "monsters": [
    "orchard_boar",
    "duneplate_beetle"
   ],
   "bosses": [],
   "landmark": "Amber fruit trees and abandoned toll sheds",
   "purpose": "Oasis orchard animals teach neutral versus hostile wildlife; no beginner humanoid.",
   "services": [],
   "mood": {
    "music": "Playful pipa + hand percussion",
    "light": "Dappled sun through fruit trees"
   }
  },
  {
   "id": "reedwater_banks",
   "name": "Reedwater Banks",
   "type": "hunting",
   "levels": [
    9,
    12
   ],
   "routeOrder": 3,
   "center": [
    1318,
    1728
   ],
   "bounds": [
    973,
    1357,
    1664,
    2099
   ],
   "mapNorm": [
    0.3219,
    0.4219
   ],
   "monsters": [
    "reedscale_lizard",
    "marsh_wolf"
   ],
   "bosses": [],
   "landmark": "Reed beds and a three-arch canal bridge",
   "purpose": "Shallow water slows movement; deep water is a hard boundary.",
   "services": [],
   "mood": {
    "music": "Flowing ney flute over water drones",
    "light": "Teal reflections, humid bloom"
   }
  },
  {
   "id": "clay_cut",
   "name": "Clay Cut",
   "type": "hunting",
   "levels": [
    13,
    16
   ],
   "routeOrder": 4,
   "center": [
    1318,
    2509
   ],
   "bounds": [
    973,
    2202,
    1664,
    2816
   ],
   "mapNorm": [
    0.3219,
    0.6125
   ],
   "monsters": [
    "clayclaw_scorpion",
    "siltspit_gecko"
   ],
   "bosses": [],
   "landmark": "Ochre quarry terraces and drained canal locks",
   "purpose": "Low ledges offer marked jump links; sheer quarry faces block all movement skills.",
   "services": [],
   "mood": {
    "music": "Steady work-song percussion",
    "light": "Harsh ochre sun, deep quarry shadows"
   }
  },
  {
   "id": "cinder_kilns",
   "name": "Cinder Kilns",
   "type": "hunting",
   "levels": [
    17,
    20
   ],
   "routeOrder": 5,
   "center": [
    2138,
    2586
   ],
   "bounds": [
    1766,
    2202,
    2509,
    2970
   ],
   "mapNorm": [
    0.5219,
    0.6312
   ],
   "monsters": [
    "emberhorn_viper",
    "kilnback_scarab"
   ],
   "bosses": [],
   "landmark": "Brick kilns, smoking chimneys and ash pits",
   "purpose": "Readable ember circles contrast against grey ground.",
   "services": [],
   "mood": {
    "music": "Low drones, metallic hits",
    "light": "Red ember glow, smoke shafts"
   }
  },
  {
   "id": "saltway_flats",
   "name": "Saltway Flats",
   "type": "hunting",
   "levels": [
    21,
    24
   ],
   "routeOrder": 6,
   "center": [
    2982,
    2586
   ],
   "bounds": [
    2586,
    2202,
    3379,
    2970
   ],
   "mapNorm": [
    0.7281,
    0.6312
   ],
   "monsters": [
    "saltway_bandit",
    "brineback_tortoise"
   ],
   "bosses": [],
   "landmark": "Salt pans, flooded causeways and caravan windbreaks",
   "purpose": "Neutral shelled animals coexist with hostile patrols.",
   "services": [],
   "mood": {
    "music": "Sparse wind + distant bells",
    "light": "White glare off salt, high exposure"
   }
  },
  {
   "id": "bellshade_court",
   "name": "Bellshade Court",
   "type": "hunting",
   "levels": [
    25,
    28
   ],
   "routeOrder": 7,
   "center": [
    3571,
    1728
   ],
   "bounds": [
    3200,
    1357,
    3942,
    2099
   ],
   "mapNorm": [
    0.8719,
    0.4219
   ],
   "monsters": [
    "bellwhisker_jerboa",
    "duskfang_hyena"
   ],
   "bosses": [],
   "landmark": "Violet lanterns, silent bells and ruined shrine steps",
   "purpose": "Bellwhisker Jerboas and Duskfang Hyenas use shrine cover; pillars block line of sight.",
   "services": [],
   "mood": {
    "music": "Temple bells, low choir",
    "light": "Violet dusk lanterns"
   }
  },
  {
   "id": "stormquill_ridge",
   "name": "Stormquill Ridge",
   "type": "hunting",
   "levels": [
    29,
    32
   ],
   "routeOrder": 8,
   "center": [
    2739,
    1280
   ],
   "bounds": [
    2381,
    896,
    3098,
    1664
   ],
   "mapNorm": [
    0.6687,
    0.3125
   ],
   "monsters": [
    "stormquill_stalker",
    "stormwing_kestrel"
   ],
   "bosses": [],
   "landmark": "Wind-cut ridges, copper lightning relics and kestrel roosts",
   "purpose": "Marked routes cross safe low gaps; cliff edges stay impassable.",
   "services": [],
   "mood": {
    "music": "Tense strings, thunder rolls",
    "light": "Overcast with lightning flashes"
   }
  },
  {
   "id": "ashroot_grove",
   "name": "Ashroot Grove",
   "type": "hunting",
   "levels": [
    33,
    36
   ],
   "routeOrder": 9,
   "center": [
    1894,
    819
   ],
   "bounds": [
    1485,
    461,
    2304,
    1178
   ],
   "mapNorm": [
    0.4625,
    0.2
   ],
   "monsters": [
    "ashroad_raider",
    "ashroot_pangolin"
   ],
   "bosses": [],
   "landmark": "Blackened cedars, verdant roots and a lost caravan camp",
   "purpose": "Neutral Ashroot Pangolins and level33 caravan raiders share a burned oasis grove.",
   "services": [],
   "mood": {
    "music": "Mournful erhu, crackling fire",
    "light": "Ash haze, green under-glow"
   }
  },
  {
   "id": "jade_seal_ruins",
   "name": "Jade Seal Ruins",
   "type": "hunting",
   "levels": [
    37,
    40
   ],
   "routeOrder": 10,
   "center": [
    845,
    653
   ],
   "bounds": [
    358,
    205,
    1331,
    1101
   ],
   "mapNorm": [
    0.2062,
    0.1594
   ],
   "monsters": [
    "jadecrest_monitor",
    "basaltsting_scorpion"
   ],
   "bosses": [
    "bellbound_regent"
   ],
   "landmark": "Cracked jade courts and the sealed western trade gate",
   "purpose": "Final outdoor encounters combine circles, lines and interruptible channels.",
   "services": [],
   "mood": {
    "music": "Ancient jade chimes, epic build",
    "light": "Cold jade rim light"
   }
  },
  {
   "id": "caravan_crown_arena",
   "name": "Caravan Crown Arena",
   "type": "scheduled_boss_arena",
   "levels": [
    40,
    40
   ],
   "routeOrder": null,
   "center": [
    2816,
    3482
   ],
   "bounds": [
    2176,
    3098,
    3456,
    3866
   ],
   "mapNorm": [
    0.6875,
    0.85
   ],
   "monsters": [],
   "bosses": [
    "kharuun_ashen_caravan"
   ],
   "landmark": "A circular abandoned caravan wheel-yard",
   "purpose": "Scheduled unique encounter separated from the beginner road; signed access spur from Saltway Flats.",
   "services": [],
   "mood": {
    "music": "Boss drums, war horns",
    "light": "Dust-storm red sky"
   }
  }
 ],
 "npcs": [
  {
   "id": "npc_registrar_hessa",
   "name": "Registrar Hessa",
   "zone": "amber_gate",
   "role": "Caravan registrar; starts the story, handles name/appearance services.",
   "kind": "story",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-registrar_hessa",
   "portrait": "/art/new/npc-portraits/art-npc-registrar-hessa.webp"
  },
  {
   "id": "npc_caravan_master_daoud",
   "name": "Caravan Master Daoud",
   "zone": "amber_gate",
   "role": "Main storyline giver for chapters 1–3; weathered veteran with a jade abacus.",
   "kind": "story",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-caravan_master_daoud",
   "portrait": "/art/new/npc-portraits/art-npc-caravan-master-daoud.webp"
  },
  {
   "id": "npc_trainer_ordu",
   "name": "Master-at-Arms Ordu",
   "zone": "amber_gate",
   "role": "Iron (STR) trainer: Codex, Atlas respec, Iron Codex buffs.",
   "kind": "trainer",
   "rig": "humanoid",
   "outfit": "origin-themed trainer outfit",
   "iconRequest": "ART-NPC-trainer_ordu",
   "portrait": "/art/new/npc-portraits/art-npc-trainer-ordu.webp"
  },
  {
   "id": "npc_trainer_yazi",
   "name": "Scout-Mistress Yazi",
   "zone": "amber_gate",
   "role": "Wind (AGI) trainer.",
   "kind": "trainer",
   "rig": "humanoid",
   "outfit": "origin-themed trainer outfit",
   "iconRequest": "ART-NPC-trainer_yazi",
   "portrait": "/art/new/npc-portraits/art-npc-trainer-yazi.webp"
  },
  {
   "id": "npc_trainer_lun",
   "name": "Archivist Lun",
   "zone": "amber_gate",
   "role": "Lantern (INT) trainer.",
   "kind": "trainer",
   "rig": "humanoid",
   "outfit": "origin-themed trainer outfit",
   "iconRequest": "ART-NPC-trainer_lun",
   "portrait": "/art/new/npc-portraits/art-npc-trainer-lun.webp"
  },
  {
   "id": "npc_blacksmith_toragh",
   "name": "Blacksmith Toragh",
   "zone": "amber_gate",
   "role": "Sells every region-1 base; salvage-kit assembly; refinement and repair.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-blacksmith_toragh",
   "portrait": "/art/new/npc-portraits/art-npc-blacksmith-toragh.webp"
  },
  {
   "id": "npc_petkeeper_miri",
   "name": "Petkeeper Miri",
   "zone": "amber_gate",
   "role": "Four loot companions; free switching.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-petkeeper_miri"
  },
  {
   "id": "npc_alchemist_ses",
   "name": "Alchemist Ses",
   "zone": "amber_gate",
   "role": "Potions (S/M/L), cleanse tonics, buff scrolls, return scrolls.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-alchemist_ses",
   "portrait": "/art/new/npc-portraits/art-npc-alchemist-ses.webp"
  },
  {
   "id": "npc_stablemaster_kerem",
   "name": "Stablemaster Kerem",
   "zone": "amber_gate",
   "role": "Sells the four desert mounts (levels 10/20/30/40), gives the Reedback Strider for Q1.11, and runs the waypoint network.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-stablemaster_kerem"
  },
  {
   "id": "npc_stashkeeper_bao",
   "name": "Old Bao",
   "zone": "amber_gate",
   "role": "Stash (4 tabs 12×10) and bank (64 slots).",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-stashkeeper_bao"
  },
  {
   "id": "npc_stall_warden_pell",
   "name": "Stall Warden Pell",
   "zone": "amber_gate",
   "role": "Player stall plaza rules; gold or full-orb prices.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-stall_warden_pell"
  },
  {
   "id": "npc_gate_captain_aras",
   "name": "Gate Captain Aras",
   "zone": "amber_gate",
   "role": "Elite bounty board (daily), town guards.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-gate_captain_aras",
   "portrait": "/art/new/npc-portraits/art-npc-gate-captain-aras.webp"
  },
  {
   "id": "npc_convoy_marshal_rua",
   "name": "Convoy Marshal Rua",
   "zone": "amber_gate",
   "role": "Monthly Lantern Convoy (16 players) sign-ups and rewards.",
   "kind": "event",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-convoy_marshal_rua",
   "portrait": "/art/new/npc-portraits/art-npc-convoy-marshal-rua.webp"
  },
  {
   "id": "npc_kiln_warden_beha",
   "name": "Kiln Warden Beha",
   "zone": "cinder_kilns",
   "role": "Kiln Depths dungeon entrance (8 h reward interval).",
   "kind": "dungeon",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-kiln_warden_beha",
   "portrait": "/art/new/npc-portraits/art-npc-kiln-warden-beha.webp"
  },
  {
   "id": "npc_jade_seer_qiyan",
   "name": "Jade Seer Qiyan",
   "zone": "amber_gate",
   "role": "Lore of the shattered Jade Seal; chapters 4–5.",
   "kind": "story",
   "rig": "humanoid",
   "outfit": "town attire variant",
   "iconRequest": "ART-NPC-jade_seer_qiyan",
   "portrait": "/art/new/npc-portraits/art-npc-jade-seer-qiyan.webp"
  },
  {
   "id": "npc_ranger_tam",
   "name": "Meadow Ranger Tam",
   "zone": "dewgrass_meadow",
   "role": "Teaches nameplates, neutral vs hostile animals.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-ranger_tam"
  },
  {
   "id": "npc_orchard_keeper_ayla",
   "name": "Orchard Keeper Ayla",
   "zone": "old_orchard",
   "role": "Orchard tolls and boar troubles.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-orchard_keeper_ayla"
  },
  {
   "id": "npc_lockkeeper_suren",
   "name": "Lockkeeper Suren",
   "zone": "reedwater_banks",
   "role": "Canal locks between Reedwater and Clay Cut.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-lockkeeper_suren"
  },
  {
   "id": "npc_kilnmaster_harun",
   "name": "Kilnmaster Harun",
   "zone": "cinder_kilns",
   "role": "Ember vipers and scarab furnaces.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-kilnmaster_harun",
   "portrait": "/art/new/npc-portraits/art-npc-kilnmaster-harun.webp"
  },
  {
   "id": "npc_salt_courier_ina",
   "name": "Salt Courier Ina",
   "zone": "saltway_flats",
   "role": "Escort quests on the causeway.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-salt_courier_ina"
  },
  {
   "id": "npc_bell_monk_odo",
   "name": "Bell Monk Odo",
   "zone": "bellshade_court",
   "role": "Keeper of the silent shrine bells.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-bell_monk_odo",
   "portrait": "/art/new/npc-portraits/art-npc-bell-monk-odo.webp"
  },
  {
   "id": "npc_ridge_watcher_kai",
   "name": "Ridge Watcher Kai",
   "zone": "stormquill_ridge",
   "role": "Copper lightning relays on the ridge.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-ridge_watcher_kai"
  },
  {
   "id": "npc_grove_healer_nadi",
   "name": "Grove Healer Nadi",
   "zone": "ashroot_grove",
   "role": "Heals pangolins; the lost caravan.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-grove_healer_nadi",
   "portrait": "/art/new/npc-portraits/art-npc-grove-healer-nadi.webp"
  },
  {
   "id": "npc_relic_hunter_vesh",
   "name": "Relic Hunter Vesh",
   "zone": "jade_seal_ruins",
   "role": "Maps the Jade Seal Ruins and the Regent court.",
   "kind": "field",
   "rig": "humanoid",
   "outfit": "travel gear variant",
   "iconRequest": "ART-NPC-relic_hunter_vesh"
  },
  {
   "id": "npc_innkeeper_amber_gate",
   "name": "Innkeeper Farah",
   "zone": "amber_gate",
   "role": "Caravanserai inn: food, rest, rumours; shows your Caravan Rest pool.",
   "kind": "service",
   "rig": "humanoid",
   "outfit": "saffron apron over a striped kaftan, copper tea pot at the hip",
   "iconRequest": "ART-NPC-innkeeper_amber_gate",
   "portrait": "/art/new/npc-portraits/art-npc-innkeeper-amber-gate.webp"
  }
 ]
}
