{
 "note": "The lens registry, docs/INQUEST.md §3.2. A lens is a model or a family of dated series with a coverage window, a place resolution and a licence. The Conditions lane reads THIS and draws whatever covers the subject, so adding a lens never touches a component. `loaded` false means the series file is not shipped: the lens still appears, saying what it would cover and why it is absent, because a lens a reader cannot see is indistinguishable from one that does not exist. THE REGISTRY IS THE ONE LIST: a series file without a row here AND a reader in src/lib/lensReaders.ts is not a lens, and lenses.test.ts asserts the two agree.",
 "join": "host polity -> Cliopatria polygon at that year -> region. The panel names which step matched, because a modern country standing in for the era's polity is a defect, not a fallback.",
 "windows": [
  30,
  50,
  100
 ],
 "lenses": [
  {
   "id": "graph-signals",
   "family": "in-house",
   "title": "Graph signals",
   "coverage": [
    -3000,
    2030
   ],
   "place": "polity",
   "licence": "in-house · computed at runtime from entities.json and relations.json",
   "path": null,
   "loaded": true,
   "note": "The only lens that reaches every subject, because it is computed from what the atlas already holds rather than joined to an outside series."
  },
  {
   "id": "territory-cliopatria",
   "family": "in-house",
   "title": "Territory Δ · Cliopatria",
   "coverage": [
    -3400,
    2025
   ],
   "place": "polity",
   "licence": "CC BY 4.0 · Seshat Global History Databank",
   "path": "series/territory.json",
   "loaded": true,
   "absent": null,
   "note": "Built by scripts/build_territory.py: area per atlas polity per year on a cylindrical equal-area projection, holes subtracted, rounded to 100 km2. 790 of 1,496 atlas polities have a border; polygons whose Wikidata item contradicts their dates are skipped."
  },
  {
   "id": "seshat-structural",
   "family": "structural",
   "title": "Seshat · polity variables",
   "coverage": [
    -4000,
    1991
   ],
   "place": "polity",
   "licence": "CC BY-SA 4.0 · share-alike",
   "path": "seshat.json",
   "loaded": true,
   "note": "Reaches 83 of 1,496 atlas polities and about 3.3% of events. Unique for the deep past - nothing else carries elite counts, bureaucrats or administrative depth before 1500 - and thin everywhere else. Only 21 polities have more than one datapoint, so it gives dots far more often than curves."
  },
  {
   "id": "noaa-earthquakes",
   "family": "hazards",
   "title": "NOAA significant earthquakes",
   "coverage": [
    -2150,
    2030
   ],
   "place": "point",
   "licence": "public domain · US government",
   "path": "series/hazards.json",
   "loaded": true,
   "rows": 1219,
   "note": "6,697 of the 10,726 rows in series/hazards.json, which holds all three NOAA hazard families in one file because they share a place join and a reconciliation pass. A row carrying `entity` IS that atlas row rather than a second copy of it."
  },
  {
   "id": "noaa-eruptions",
   "family": "hazards",
   "title": "NOAA significant eruptions",
   "coverage": [
    -10000,
    2030
   ],
   "place": "point",
   "licence": "public domain · US government",
   "path": "series/hazards.json",
   "loaded": true,
   "rows": 534,
   "note": "897 of the 10,726 rows in series/hazards.json, which holds all three NOAA hazard families in one file because they share a place join and a reconciliation pass. A row carrying `entity` IS that atlas row rather than a second copy of it."
  },
  {
   "id": "noaa-tsunamis",
   "family": "hazards",
   "title": "NOAA significant tsunamis",
   "coverage": [
    -2000,
    2030
   ],
   "place": "point",
   "licence": "public domain · US government",
   "path": "series/hazards.json",
   "loaded": true,
   "rows": 778,
   "note": "3,132 of the 10,726 rows in series/hazards.json, which holds all three NOAA hazard families in one file because they share a place join and a reconciliation pass. A row carrying `entity` IS that atlas row rather than a second copy of it. Not in the registry as designed and added on ingest: a tsunami is often the thing that actually reached people when an earthquake did not."
  },
  {
   "id": "evolv2k",
   "family": "climate",
   "title": "eVolv2k volcanic forcing",
   "coverage": [
    -3000,
    2025
   ],
   "place": "global",
   "licence": "CC-BY-4.0 · Sigl & Toohey 2024, PANGAEA 10.1594/PANGAEA.971971",
   "path": "series/volcanic.json",
   "loaded": true,
   "rows": 235,
   "note": "HolVol v1.1, the Holocene extension, rather than the 500 BCE version the registry named: the atlas starts in 3000 BCE and the shorter series would have left two and a half millennia of it blank. Ice cores do not care whether anybody was watching, so this is the one series whose coverage does not follow literacy."
  },
  {
   "id": "owda",
   "family": "climate",
   "title": "OWDA · Old World Drought Atlas",
   "coverage": [
    0,
    2012
   ],
   "place": "grid",
   "region": [
    "europe",
    "mena"
   ],
   "licence": "open · NOAA/WDS Paleoclimatology · Cook et al. 2015",
   "path": "series/drought.json",
   "loaded": true,
   "cells": 91,
   "cell_degrees": 5,
   "note": "Averaged from the source half-degree grid onto 5-degree cells: 87 MB of text becomes 1 MB, and drought is regionally coherent over hundreds of kilometres so the coarser cell says something real where the finer one would only say it more precisely than the reconstruction deserves. Checked against the Great Famine of 1315-17, which was caused by rain: the two wettest years in that cell's decade are 1315 and 1316."
  },
  {
   "id": "nada-mada",
   "family": "climate",
   "title": "NADA · MADA drought atlases",
   "coverage": [
    0,
    2006
   ],
   "place": "grid",
   "region": [
    "amer",
    "easia",
    "sasia"
   ],
   "licence": "open · NOAA paleo",
   "path": "series/nada-mada.json",
   "loaded": false,
   "absent": "Not yet ingested. NADA covers 0-2006, MADA 1300-2005."
  },
  {
   "id": "pages2k",
   "family": "climate",
   "title": "PAGES 2k temperature",
   "coverage": [
    1,
    2000
   ],
   "place": "grid",
   "licence": "open",
   "path": "series/pages2k.json",
   "loaded": false,
   "absent": "Not yet ingested. Continental resolution."
  },
  {
   "id": "babylonian-prices",
   "family": "prices",
   "title": "Babylonian astronomical diaries · prices",
   "coverage": [
    -400,
    -60
   ],
   "place": "city",
   "licence": "published tables",
   "path": "series/babylonian-prices.json",
   "loaded": false,
   "absent": "Not yet ingested. The only price series for the ancient Near East, and one city."
  },
  {
   "id": "clark-england",
   "family": "prices",
   "title": "Clark · English wages and prices",
   "coverage": [
    1209,
    2004
   ],
   "place": "country",
   "licence": "published tables",
   "path": "series/clark-england.json",
   "loaded": false,
   "absent": "Not yet ingested."
  },
  {
   "id": "allen-unger",
   "family": "prices",
   "title": "Allen–Unger · commodity prices",
   "coverage": [
    1260,
    1914
   ],
   "place": "city",
   "licence": "open",
   "path": "series/allen-unger.json",
   "loaded": false,
   "absent": "Not yet ingested."
  },
  {
   "id": "polity5",
   "family": "regime",
   "title": "Polity5 regime scores",
   "coverage": [
    1800,
    2018
   ],
   "place": "country",
   "licence": "Center for Systemic Peace · redistribution not permitted",
   "path": null,
   "loaded": false,
   "absent": "NOT SHIPPABLE. LICENSES.md records that Polity5 and MEPV forbid redistribution, so they are used only as a QA checklist against our own coverage. The lens is listed because a reader asking what covers 1800-2018 deserves to know this exists and why it is not here, rather than to see a gap with no explanation."
  },
  {
   "id": "mepv",
   "family": "conflict",
   "title": "MEPV · major episodes of political violence",
   "coverage": [
    1946,
    2018
   ],
   "place": "country",
   "licence": "Center for Systemic Peace · redistribution not permitted",
   "path": null,
   "loaded": false,
   "absent": "NOT SHIPPABLE, as Polity5 above."
  },
  {
   "id": "un-igme",
   "family": "welfare",
   "title": "UN IGME · infant mortality",
   "coverage": [
    1950,
    2030
   ],
   "place": "country",
   "licence": "UN",
   "path": "series/un-igme.json",
   "loaded": false,
   "absent": "Not yet ingested."
  },
  {
   "id": "maddison",
   "family": "economy",
   "title": "Maddison Project 2023 · GDP per capita and population",
   "coverage": [
    1,
    2022
   ],
   "place": "country",
   "region": null,
   "path": "series/economy.json",
   "loaded": true,
   "absent": null,
   "licence": "CC BY 4.0 · Bolt & van Zanden 2024",
   "note": "A MEASUREMENT OF TERRITORY AND NEVER OF A POLITY: the unit is a modern country, so a reading belongs to the land a state stood on. 17 observations exist before 1000 CE and fourteen of those are the year 1; the file bands every reading by how much of a series it belongs to. Read by useEconomy.ts and, as a lens, by lensReaders.ts."
  },
  {
   "id": "succession-shape",
   "family": "in-house",
   "title": "Succession shape · how power changed hands",
   "coverage": [
    -3201,
    2026
   ],
   "place": "polity",
   "region": null,
   "path": "series/elites.json",
   "loaded": true,
   "absent": null,
   "licence": "in-house · derived from reigns.json (Wikidata CC0) and the atlas's own violent rows",
   "note": "Handovers, signed gaps and short reigns per state, DERIVED because Archigos covers 3% of this atlas and cannot ship. Every century carries `known`; a century resting on no dated reign is unmeasured, never calm. reigns.json is an INPUT to this file, not a lens of its own."
  },
  {
   "id": "vdem-power",
   "family": "regime",
   "title": "V-Dem v16 · what the chief executive's power rested on",
   "coverage": [
    1789,
    2025
   ],
   "place": "country",
   "region": null,
   "path": "series/vdem.json",
   "loaded": true,
   "absent": null,
   "licence": "CC BY-SA 4.0 · Coppedge et al. 2026",
   "note": "Five independent 0-1 dimensions - hereditary, military, party, elected, legislature - that do not sum to one, plus Powell & Thyne coups. A V-Dem country is a territory coded across regime changes, so a reading belongs to its year. Starts in 1789, under 5% of this atlas."
  },
  {
   "id": "monarchs-ks",
   "family": "regime",
   "title": "Depositions & civil wars · Kokkonen & Sundell",
   "coverage": [
    1000,
    1799
   ],
   "place": "polity",
   "region": [
    "europe",
    "mena"
   ],
   "licence": "CC0 1.0 · Kokkonen, Krishnarajan, Møller & Sundell 2021",
   "path": "series/monarchs.json",
   "loaded": true,
   "absent": null,
   "note": "27 European monarchies coded by hand, 723 reigns: who was deposed or killed and by whom, Morby's verdict where it differs, civil wars and rebellions from five reference works, primogeniture. Built by scripts/build_monarchs.py. A line of rulers, not a polity: it is joined to every atlas row its monarchs headed, over the years they headed it."
  },
  {
   "id": "parliaments-vzb",
   "family": "regime",
   "title": "Parliaments · Van Zanden, Buringh & Bosker",
   "coverage": [
    1188,
    1789
   ],
   "place": "polity",
   "region": [
    "europe",
    "mena"
   ],
   "licence": "CC0 1.0 · as carried in Kokkonen et al. 2021's replication data",
   "path": "series/monarchs.json",
   "loaded": true,
   "absent": null,
   "note": "Meetings of a parliament per century for the same 27 lines (Van Zanden, Buringh & Bosker 2012). The series starts in 1188, so the 1100s cover twelve years."
  },
  {
   "id": "wikidata-elites",
   "family": "elites",
   "title": "Titled people & office-holders · Wikidata",
   "coverage": [
    -4000,
    1949
   ],
   "place": "polity",
   "region": null,
   "licence": "CC0 1.0 · Wikidata",
   "path": "series/nobility.json",
   "loaded": true,
   "absent": null,
   "note": "Per state and half-century: the people Wikidata records as its citizens, how many carry a noble title (P97), and how many held one of its offices (P39 on a position whose P1001 is the state). Built by scripts/build_nobility.py: 785 of the 1,066 polities that begin before 1900 carry at least one half-century, and 765 half-centuries rest on 20 people or more. A count of what editors wrote down, and editors write down nobles: read within one state across time, never across states, and a half-century resting on fewer than 20 people is unmeasured."
  },
  {
   "id": "migrations",
   "family": "peoples",
   "title": "Migrations of peoples",
   "coverage": [
    -3000,
    2000
   ],
   "place": "region",
   "region": null,
   "path": "migrations.geojson",
   "loaded": true,
   "absent": null,
   "licence": "in-house · curated",
   "note": "Eight curated movements of peoples, drawn on the map in their own years as a line with arrows from origin to destination and an open ring where each began, the dash saying how well the movement is attested (`ml=migrations`, on by default). Nothing slides along a line with the year, because two endpoints do not say where a people was in between. There is nothing in it to read per subject, and the reader says so rather than pretending a movement is a measurement of a year."
  }
 ]
}
