# Changelog

All notable changes to **Historical Dating Graph** are documented here.

Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Versioning follows [SemVer](https://semver.org/) for the **lab product** (`lab/` static site + documented method).

Seed YAML data may advance inside a lab minor when additive; breaking schema changes bump minor/major.

## [0.5.1-next] — 2026-08-23

### Added (Next `/next/` only)
- **Focus node** — dropdown + click node on canvas
- **Critical paths** — paths from anchors → focus at current floor; dim the rest; Inspect list; click a step to open warrant
- **Label modes** — Path+focus / Auto / Minimal / All
- Light path-reveal motion (respects `prefers-reduced-motion`)

## [0.5.0-next] — 2026-08-23

### Added
- **HDG Next (test)** at `/next/` — Sprint A UX shell (inspector-first rail, compact toolbar, status strip, external labels)
- Stable Explore unchanged at `/`; nav link **Next (test)**
- `scripts/build_hdg_next.py` + `lab/next/README.md`

## [0.4.6] — 2026-08-23

### Fixed
- **Nero (and other CE cases) unusable:** year parser required 3–4 digit bare years after the BCE fix, so labels like `54–68` / `70` never dated → every node stacked in the UNDATED gutter and the axis fell back to dummy 50–100
- Restore bare CE ranges/years (2+ digits); keep rejecting lone 1-digit tokens (`Histories 2`)
- Empty-timeline warning when no windows resolve

## [0.4.5] — 2026-08-23

### Added
- **Edge hover tooltips** — warrant summary, R/class/floor, rivals, if-cut; gold highlight on hover (nodes still take priority when overlapping)

## [0.4.4] — 2026-08-23

### Added
- **Node hover tooltips** — kind, id, year window, about/note, aliases, linked warrants (R/class/floor)

## [0.4.3] — 2026-08-23

### Fixed
- **Dense same-era clusters** (Giza OK blob): per-lane unpack (ordinal blend + min 100px gap + vertical stagger)
- **Outlier-crushed axis**: piecewise time scale keeps ~76% width for the dense core; late nodes (Herodotus) stay on a side rail
- Tighter Giza year windows + layout_rank for stable order

## [0.4.2] — 2026-08-23

### Fixed
- **Unusable Giza layout:** bare years like 2480 were parsed as CE → axis 0–2200 and nodes piled in the undated gutter
- BCE-aware year parser + axis labels (e.g. 2600 BCE); explicit year windows on Giza nodes
- Constraint derivation no longer assumes CE-only floors

## [0.4.1] — 2026-08-23

### Fixed
- **Giza seed accuracy:** Diary of Merer / Wadi el-Jarf; Bonani mortar ¹⁴C + Bronk Ramsey/Dee short-lived models; handbook year *spread*; Spence (disputed) split from fringe extreme ages; Herodotus reception-only
- Real source pointers on major edges; Giza confidence note rewritten

### Changed
- Giza lab pack regenerated (18 nodes / 24 edges)

## [0.4.0] — 2026-08-23

### Added
- **Giza / Khufu (Great Pyramid)** case — `data/seed-giza-pyramids.yaml` + lab pack (15 nodes / 19 edges)
- Notes: `anchor-backlog.md`, `nodes-and-stories.md`, `giza-pyramid-dating-confidence.md`
- Explore **Find a record** — cross-case node search (stories optional entry)
- `scripts/build_giza_lab_seed.py` — YAML → `seeds.js` merge helper
- Product lock: autonomous nodes vs replaceable stories; search-first entry path

### Changed
- Case packs load via generic `HDG_SEEDS` key merge (any new pack auto-wires)
- Methodology: cases reframed as optional tours; Giza listed
- Anchor population order documented for continual improvement / Warrant Desk

### Notes
- Giza warrants are **seed** R values with placeholder sources — promote via Desk citation tickets
- Class A ¹⁴C edges intentionally capped/disputed until curated lab context

## [0.3.0] — 2026-08-23

### Added
- **Methodology** page (`/methodology`) — ELI5 + full method
- Shared **styles.css** + site nav (Explore · Methodology · Desk)
- **Magna Carta 1215** case pack in Explore (`seeds.js`)
- **Focus layer** chips with peek rails + cross-lane stubs
- Canvas **zoom / pan** (wheel, drag, reset)
- **Warrant Desk** triage queue (clarify / citation / re-score / seed / bridge)
- Warrant Desk **Kanban** board (`/desk`) — same `localStorage` SSoT as sidebar
- Ticket **export / import** JSON
- Spotlight + deeper note on Mark×Temple TPQ hinge
- Version stamp in nav (`lab/version.js` + `VERSION` / `CHANGELOG.md`)

### Changed
- Edge detail: file-to-desk actions replace simple pin-only UX
- Confidence floor copy clarified for non-specialists
- README live URLs and lab file map

### Notes
- Desk data lives in browser `localStorage` (`hdg_warrant_desk_v1`) until curated into repo seeds
- Production: https://historical-dating-graph.pages.dev

## [0.2.0] — 2026-08-23

### Added
- Chronology **swimlane** layout (X = year, Y = kind)
- Multi-seed selector + **Nero** pack
- Edge justification panel (warrant, rivals, cut impact)
- Confidence floor filter + “what falls apart”
- Cloudflare Pages live deploy

## [0.1.0] — 2026-08-23

### Added
- Project open: scope, academic criteria, Mark×Temple seed
- `weak_links.py`, initial lab HTML spike
- Bridge / revisionist design notes
