<feed xmlns='http://www.w3.org/2005/Atom'>
<title>world-incarceration.git/assets/js/map/zoom.js, branch main</title>
<subtitle>explore incarceration statistics by country.
</subtitle>
<id>http://git.krz.sh/krz/world-incarceration.git/atom?h=main</id>
<link rel='self' href='http://git.krz.sh/krz/world-incarceration.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/world-incarceration.git/'/>
<updated>2026-04-18T00:41:31+00:00</updated>
<entry>
<title>phase 2-6: complete D3/TopoJSON migration</title>
<updated>2026-04-18T00:41:31+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-18T00:41:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/world-incarceration.git/commit/?id=623ae07ebacb9d596b225179727dc87641ad1cca'/>
<id>urn:sha1:623ae07ebacb9d596b225179727dc87641ad1cca</id>
<content type='text'>
Replace ZingChart + jQuery with D3 v7 + TopoJSON. Implements all
planned phases: choropleth map (NaturalEarth1 projection, YlOrRd
gradient), hover tooltip, zoom/pan/reset, country detail modal,
side-by-side compare, metric selector, label toggle, donut pie chart
with per-country drilldown bar chart. Upgrades Bootstrap JS bundle
from v4.5.3 (jQuery-dependent) to v5.0.0, fixes modal API calls
to use getInstance/constructor pattern compatible with BS 5.0.0+.
Removes jquery, zingchart ×3 library files.
</content>
</entry>
<entry>
<title>phase 1: scaffold D3/TopoJSON migration structure</title>
<updated>2026-04-17T17:36:00+00:00</updated>
<author>
<name>Christian Cleberg</name>
<email>hello@cleberg.net</email>
</author>
<published>2026-04-17T17:36:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.krz.sh/krz/world-incarceration.git/commit/?id=9b6de370a0b6cb95f46c29f5e1827f9c418ef6cf'/>
<id>urn:sha1:9b6de370a0b6cb95f46c29f5e1827f9c418ef6cf</id>
<content type='text'>
- Extract country prison data to assets/data/countries.js (ES module)
- Add ISO numeric→alpha-3 lookup table for TopoJSON ID bridging
- Download world-atlas countries-110m.json (TopoJSON, 108KB)
- Create stub ES modules for map, charts, and UI layers
- Replace ZingChart/jQuery script tags with single ES module entry point
- Preserve original app.js as _app.js.bak for Phase 2+ reference
</content>
</entry>
</feed>
