# Reproduce the A wave sphere that bounds rationally but not integrally

These original drawings accompany A wave sphere that bounds rationally but not integrally. The complete mathematical proof, all worked examples and complete solutions remain in that reader.

## Download the unchanged original files

Keep `make_figures.py` at the root of an empty scratch directory and the PNG, SVG and geometry files in `figures/`. The two unchanged Markdown sources and CREDITS.txt/LICENSE.txt stay at the package root; they are downloads and are not generated by the renderer. The renderer creates `figures/` during a fresh run.

- [make_figures.py](../reproduce/L119/make_figures.py) — 3960 bytes; SHA-256 `D7FF3D2BB7CE501E46327DD4B2FC3CF54FD5C7ECE7935DD217EC941092DC59FC`.
- [geometry.json](../reproduce/L119/figures/geometry.json) — 780 bytes; SHA-256 `4A401D2CA017240EFBB529130D0943506AFAE27EFD2482625AFE37F6ADCC39B1`.
- [wave-cycle-torsion.png](../reproduce/L119/figures/wave-cycle-torsion.png) — 186943 bytes; SHA-256 `A755A2ED26EB1BDD0E472686F3CAE5D0E57B21D4F9ECC5AF8A66CB861CAF83B7`.
- [wave-cycle-torsion.svg](../reproduce/L119/figures/wave-cycle-torsion.svg) — 115423 bytes; SHA-256 `3BD8EF75D71E3DBB65090045A3340ABE6FA2752443D56205BA4E81AF448B5331`.
- [wave-cycle-coefficients-learner.md](../reproduce/L119/wave-cycle-coefficients-learner.md) — 9257 bytes; SHA-256 `CA3FD87F570CE5395F66A8077877246FFD2EC9115A2A4F7F12CBCEC7F6DA737D`.
- [wave-cycle-torsion-working-proof.md](../reproduce/L119/wave-cycle-torsion-working-proof.md) — 17446 bytes; SHA-256 `4612625D62DC9B1526192BDE35AC089FB55F5D457D6322ACF12F158C24038BE0`.
- [LICENSE.txt](../reproduce/L119/LICENSE.txt) — 449 bytes; SHA-256 `3A508E9D86CB2C5F92DF4862D97617A45F76910084967F87D4B0C0968B5C0E7D`.
- CREDITS.txt — 1697 bytes; SHA-256 `938F39184D75E9D4688BFD58FECA6AB0A84E8D59E57661E355FD3A4EAB0C8F1B`.

## Run the renderer

The unchanged program requires Python, NumPy and Matplotlib. In the scratch directory run:

```text
python -X utf8 make_figures.py
```

It writes the supplied PNG, SVG and exact geometry files. A fresh replay with Python 3.13.9, NumPy 2.4.4 and Matplotlib 3.10.9, using Matplotlib’s bundled DejaVu Sans font, matched every renderer/figure file byte for byte and all decoded PNG RGBA pixels. No SVG date or identifier normalization was performed. Byte identity is qualified by that observed software and font environment; different versions may change rendering bytes. The geometry files specify the mathematical objects independently of rendering.

## Check the mathematics and credits

The three panels give the exact section v = iae₁ + √(1+a²)e₃ of q = 1, the half-phase section z = exp(iθ/2)e₃ and base exp(iθ), and the exact integral two-arc matrix [[1,1],[−1,1]]. The sphere is the actual nonzero order-two generator, proved by the complete retractions and integral chain calculation. Sections are not all six real dimensions; sampled functions are not proofs. WT4–WT20 and the complete caption retain the phase seam, outward/canonical orientations, eight ordered facets and 24 tetrahedra, exact boundary −2kout, characteristic-zero and mod-2 distinctions, and the two-dimensional reduced-degree-zero exception. The full formal proof follows the complete learner and all six solutions. Source coefficient convention, general integral torsion, novelty priority and general component constancy remain unresolved.

CREDITS.txt gives every human source and locator. Original prose and figures are CC0; copyrighted references are comparison credits and are not imported.

The original renderer, scene/geometry and diagrams are GPT-6.1 Sol (OpenAI), Ultra work, October 2026, dedicated under CC0. Matplotlib and the bundled DejaVu Sans font retain their own component terms already included with this course. The native geometry is explanatory; the full proof establishes the theorem.
