Interactive exploration of Axelrod's iterated prisoner's dilemma tournament, built on the GDS ecosystem — compositional game theory via gds-games (OGS).
Six showcase pages demonstrate different analytical lenses on the same Prisoner's Dilemma model: narrative story, formal structure, visualizations, simulation, Nash analysis, and parameter space search (PSUU). Each page draws from a different GDS representation — one model, many views, none compromised.
pipeline/ Python data generation (OGS PatternIR + tournament + sim + PSUU)
site/ Vite frontend (Canvas Petri dish, chapters, showcase pages)
| Page | View | GDS Source |
|---|---|---|
| Story (Home) | Narrative chapters + Petri dish sandbox | OGS Pattern + strategy definitions |
| Formal Structure | Canonical decomposition h = f . g | GDSSpec + CanonicalGDS |
| Visualizations | Mermaid diagrams from 6 view types | SystemIR + GDSSpec via gds-viz |
| Simulation | Population trajectories per parameter subset | gds-sim Model |
| Nash Analysis | Equilibria, dominance, Pareto outcomes | PatternIR (OGS) |
| PSUU | Interactive parameter space exploration | gds-psuu + gds-sim (Pyodide) |
cd pipeline
uv sync
uv run python generate.py
cp output/*.json ../site/public/data/cd site
npm install
npm run devcd site
npm run build # outputs to site/dist/Apache 2.0 — see LICENSE.