jiangshan-map README

The project's README from github.com/DeanChensj/jiangshan-map. As one markdown file: README.md.

Chronicles of the Realm · 江山时序

English · 简体中文 (Chinese)

An Interactive Historical Atlas of China from the Warring States (403 BCE) to the Present — Scrub Through Time, Trace Ancient Cities, and Walk in the Footsteps of History

Play Live Demo (English UI) → https://deanchen.me/jiangshan-map/?lang=en

Chronicles of the Realm — 15s Interactive Overview (Warring States Unification, 2,400-Year Dynastic Scrubbing, Chang'an Place Genealogy & Su Shi's Exile Route)


Why It's Fun to Explore

Have you ever wondered while reading Chinese history or classical poetry:

Chronicles of the Realm (jiangshan-map) brings together 2,400+ years of Chinese history across 18 historical periods into a single interactive parchment atlas—featuring multi-stage territorial and prefecture snapshots, ancient cities, strategic mountain passes, poetic and battlefield landmarks, chronological milestones, and reigning monarchs & imperial eras. No heavy print atlases required—just drag the timeline and click any city to travel through space and time.


Feature 1: Scrub the Timeline to Watch Realms Rise & Fall, Track Monarchs, and Compare Ancient & Modern Borders

Try It Live: Ming Dynasty Yongle 13 (1415 CE) · Two Capitals, Thirteen Provinces & "Yingtian Prefecture" Inspection →

Ming Dynasty 1415 CE · Yingtian Prefecture Hover Preview


Feature 2: Click Any Ancient City or Strategic Pass to Uncover 2,400 Years of History (Trace Place)

Click any ancient city or mountain pass on the map (or double-click anywhere on the canvas) to open its Trace Place genealogy card:

Try It Live: High Tang Kaiyuan 29 (741 CE) · Open Chang'an's 2,400-Year Genealogy Card →

High Tang 741 CE · Chang'an Trace Place & Key Events


Feature 3: Person Chronicles — Trace Any Historical Figure Across Time & Space

Click the top-left Universal Search Box (with a rotatable e.g. figure preview and quick-search chips, or type any monarch, general, statesman, monk, or poet such as Cao Cao, Huo Qubing, Sima Qian, Yue Fei, or Zheng He) to open Person Chronicle (点人溯事), plotting every milestone of their life with delicate cartographic hairline arcs and directional ticks across changing dynastic borders:

Each time you step to the next event (‹ / ›, ← / →, or Space to auto-play), the timeline year, reigning monarch, imperial era, and dynastic territories evolve in sync with their footsteps, highlighting the active transition arc alongside bilingual primary-source excerpts and poems written at that exact site.

Try It Live: Follow Su Dongpo's Exile to Mizhou & Huangzhou (1075–1082 CE) →

Person Chronicle · Su Shi's Life & Exile Route


Feature 4: Easter Egg · Map Pinpoint Challenge — What Imperial Court Rank Would You Earn?

Think you know Chinese historical geography? Click Quiz › in the corner of the Universal Search Box guide bar (or type quiz for Map Pinpoint · Ancient Place Quiz):

Try It Live: Western Han Emperor Wu, Yuanshou 2 (121 BCE) · Start the Map Pinpoint Challenge →

Western Han 121 BCE · Map Pinpoint Challenge Preview


Keyboard Shortcuts

Key / Action Effect
/ or Cmd/Ctrl + K Focus the Universal Search Box: search historical figures (Qin Shi Huang/Zhang Qian/Su Shi), ancient & modern cities (Xianyang/Chang'an/Luoyang/Kaifeng), reigning monarchs (Emperor Wu of Han/Taizong of Tang/Liu Che/Li Shimin), imperial eras (Zhenguan/Yongle/Kangxi), poetic & battlefield landmarks (Red Cliffs/Wuzhang Plains/Languan/Lanting), mountain passes (Hangu Pass/Jianmen Pass/Yumen Pass), historical events, or the Ancient Place Quiz
← / → or bottom ‹ / › Jump to the previous / next historical phase, milestone event, or person event stop (hold Shift + ← / → to step by 10 years)
Space Auto-play / pause timeline evolution (or auto-advance stops in Person Chronicle mode)
Esc Close active popups/cards, clear search highlights, or exit custom multi-stop routes
Single-click city / Double-click map Open the 18-era Trace Place & Key Events genealogy card for that location
Hover / Click legend swatch Hover to isolate & highlight that polity's territory; click to auto-zoom to its bounding box

Append query parameters to share any historical moment, battle, city genealogy, or multi-stop route:


AI Agent & LLM Integration

Chronicles of the Realm works out of the box as a historical-geography visualization engine for LLMs and AI Agents. Models never need to guess latitude/longitude coordinates—simply extract two semantic parameters from a poem or historical text, year and place, and the atlas automatically resolves ancient/modern place names, centers the camera, renders dynastic borders and multi-stop trajectories, and opens the Trace Place genealogy card:

1. Zero-Coordinate Dual-Parameter URL Protocol (0D Pinpoint / 1D Same-Year Route / 4D Multi-Year Route)

Mode Example URL Automatic Rendering Behavior
Single-Point Pinpoint (0D) ?year=819&place=蓝关&lang=en
(Han Yu's 819 CE exile poem at Languan Pass)
Jumps to Tang Yuanhe 14 (819 CE), drops a pin on Languan Pass in the Qinling Mountains, and opens its 2,400-year administrative genealogy card
Same-Year Multi-Stop Route (1D) ?year=763&place=剑外,巴峡,巫峡,襄阳,洛阳&lang=en
(Du Fu's 763 CE poem on recapturing Henan & Hebei)
Plots numbered vermilion arcs 1 → 5 across the 763 CE Tang map and auto-fits the viewport; click any stop to inspect its genealogy
Multi-Year Space-Time Route (4D) ?year=1079,1080,1094,1097&place=湖州,黄州,惠州,儋州&lang=en
(Su Shi's career across Huzhou, Huangzhou, Huizhou & Danzhou)
Pairs year[i] with place[i], labeling stops with their historical years and switching the underlying dynastic map whenever you click a stop

2. CLI One-Command Screenshot & JSON Lookup (for Agent Tool Calls)

# Single-point poetic landmark screenshot
python3 skills/jiangshan-atlas/scripts/jiangshan.py --year 819 --place 蓝关 --out /tmp/languan_819.png

# Same-year multi-stop trajectory screenshot
python3 skills/jiangshan-atlas/scripts/jiangshan.py --year 763 --place 剑外,巴峡,巫峡,襄阳,洛阳 --out /tmp/dufu_763.png

# Multi-year space-time trajectory screenshot
python3 skills/jiangshan-atlas/scripts/jiangshan.py --year 1079,1080,1094,1097 --place 湖州,黄州,惠州,儋州 --out /tmp/sushi_exile.png

3. Browser JavaScript API (window.atlasAPI)

In browser automation environments (Playwright / WebMCP), call window.atlasAPI directly:


Run Locally

No dependencies or build steps required. Clone and serve with any static HTTP server:

git clone https://github.com/DeanChensj/jiangshan-map.git
cd jiangshan-map
python3 -m http.server 8000

Then open http://localhost:8000 in your browser.


Credits & License

jiangshan-map (DeanChensj/jiangshan-map)

Searching Database…

Think you know Chinese historical geography? Click Quiz › in the corner of the Universal Search Box guide bar (or type quiz for Map Pinpoint · Ancient Place Quiz): - Dynastic Historical Clues + Blind Map Pinpointing: City labels are hidden while the prompt asks you to locate an…

Creator
DeanChensj
Size
111.2 MB
Stars
1.2K
Age
3mo
Commits · 90 Days