Chapter 2 · Section 9
The Horn Torus and the Equal-Area Map
The BPT law
BPT Part 4.1 reads every universe as a torus of recursion with two radii, the Harmonic Duality of Radii: "Every universe, as a torus of recursion, encodes its stability in the relationship between its two defining radii. The minor radius (r) regulates local Pulse cycling along the tube, while the major radius (R) governs global circulation around the torus. Their interaction produces harmonic bands that lock recursion into coherent patterns. When their ratio forms near-integers, stable resonance emerges; when irrational, quasi-crystalline interference patterns appear." The UniSpheral Harmonic Ratio Function is
H = R / r
"Recursive efficiency is governed by the ratio of major to minor radii," with R the "distance from torus center to tube center" and r the "radius of the tube itself."
BPT Part 3.5, The Pulse Front, gives the torus's shape: "A torus has no edge: it closes on itself ... The one singular place is the throat, where the horn torus closes to a point; that is the Source," and "our horn torus is about 93 billion light-years across, its tube about 46.5 billion thick, its hole closed." BPT Part 8.7, the Toroidal Pulse Manifold, makes the torus the place the field lives: "we now formalize the Universe's pulsing boundary as a Toroidal 2-Manifold (G) embedded in a pulsing 3-sphere with Null-Well Interior Conditions," "a closed toroidal boundary where information and energy exist only on the surface while the interior maintains null conditions." BPT Part 3.10 says the singularity at the center is "negligible next to the universe it made," which the code quotes for H near 1.
The equal-area map is a game method: BPT does not state how a flat field is laid on the torus.
The established physics
Geometry of the torus. A torus of radii R (center to tube center) and r (tube) has the point (u, v) at ((R + r cos v) cos u, (R + r cos v) sin u, r sin v). Its area element is r(R + r cos v) du dv, so the band of the tube up to angle v, measured from the outside (v = 0), has area 2πr(R·v + r·sin v), out of 4π²rR in all. A horn torus has R = r, so its throat (v = π) has zero radius.
The game's math
hornShape(rows)flow.js:62: k = π/max(4, rows || 64), TUBE = 2.22/(2 + k), HOLE = TUBE·k. The outer edge is HOLE + 2·TUBE = 2.22 at every size. The model's radii are r = TUBE·scale and R = HOLE + r (flow.js:69, 80). The hole is the Pulsecore, one Pulse Diameter (one cell) across, so its radius is half a cell. The tube is the field's rows round, so its radius is rows/(2π) cells, and HOLE/TUBE = (1/2)/(rows/2π) = π/rows = k.harmonicRatio(scale)flow.js:68: H = (HOLE + TUBE·s)/(TUBE·s) = 1 + k/s, with s = max(1, scale). At birth H = 1 + π/rows: 1.049 on a 64-row field, 1.012 on 256 rows, 1.003 on 1,024 rows.TORUSflow.js:26 is shared with app.js and is reset tohornShape(rows)inupdateDimensions()app.js:3595 andrecomputeUniverse()app.js:2042. Its starting values, HOLE 0.0505 and TUBE 1.0848, belong to no field size (HOLE/TUBE = π/67.5) and are overwritten before use.- The equal-area map (flow.js:35–61): row fraction s is drawn at the angle v where (R·v + r·sin v)/(2πR) = s. Every drawn cell then covers the same area of the torus, and the flat physics, which treats every cell as an equal piece of the universe, holds on the drawn surface. The throat, v = π, stays at row rows/2.
areaTable(R, r)flow.js:46 tabulates the inverse at 4,096 points from a forward table of 16·4,096 = 65,536 steps, with linear interpolation, cached by (R, r).vOfRowFrac(s)flow.js:56 reads it androwFracOfV(v)flow.js:61 is the exact forward formula. - The 3D scene builds the same torus (scene3d.js:25, 206–216):
setShape(rows)takeshornShape(rows), the torus mesh has major radius HOLE + TUBE·scale and tube TUBE·scale, andequalAreaUV()scene3d.js:1762 sets each vertex's texture row torowFracOfV(v), so the drawn field and the physics agree. The scene's own starting values, HOLE 0.444, TUBE 0.888 and CORE 0.444, are replaced at once byhornShape(64). CORE stays the drawn size of the Pulsecore before the Null Nova.
A 256-row field at scale 1: k = π/256 = 0.012272, TUBE = 2.22/2.012272 = 1.10323, HOLE = 0.013539, R = 1.11677, r = 1.10323. The first row's center (s = 0.5/256) is at v = 0.0062 rad. The throat row's center (s = 0.5 + 0.5/256) is at v = 3.505 rad, 0.36 rad past the throat, because near the throat the band area per radian is tiny and one row's area spans a wide angle.
In the game
The torus is the default view, "3D · the torus" (index.php:141). From the Data Nova on, the field is the torus's skin: the same cells the 2D view shows, laid round the tube by the equal-area map, so the rows near the throat are drawn as wide bands that close in toward the hole and the rows on the outside as narrow ones. The hole at the center is drawn as a small dark violet sphere with a faint vortex ring (scene3d.js:144, 219–220), the Hollow of the About panel's "Three epochs" card. Before the Null Nova there is no torus, only the Pulsecore; between the Null Nova and the Data Nova a translucent violet torus of space stands round it (Part 2.6).
The player moves round the torus freely: dragging on empty space orbits the camera, dragging on the surface paints it, and the wheel or the Zoom slider moves the camera in and out (index.php:212; Directions, "Orbit in 3D. Drag on empty space to orbit the torus; drag on the surface to paint it"). "Grid lines" (index.php:225), on by default, shows the lattice over the torus in 3D and the cell grid in 2D. "Well labels" names each well and says whether it is on the near or far side. The 2D view, "2D · the field," shows the same field flat, its top and bottom edges the outer equator's two sides and its middle row the throat, its left and right edges joined round the ring.
No readout shows H; it acts through the flow's twist (Part 2.10).
The scale model
The radii are a picture with one physical content, their ratio. HOLE/TUBE = π/rows is the true ratio of a half-cell hole to the drawn tube. At the true level the ratio would be π/(4·2^L), and H = 1 + π/(4·2^L): 1 + 2.9×10⁻⁹ at level 28. The code's own note (flow.js:33) says that in our universe H is 1 "to some sixty places." The drawn H is the model level's.
Where the game and the theory differ
- BPT's horn torus closes to a point at the throat, R = r. The game's hole is half a drawn cell in radius, R − r = HOLE > 0, so the drawn torus is a ring torus whose hole is one cell across. The difference shrinks with the field: H − 1 = π/rows.
Fixed numbers
| Number | Where | What it is | Kind |
|---|---|---|---|
| π/rows (k) | flow.js:63 | a half-cell hole against a tube of rows/(2π) cells | BPT (Part 3.5 closed hole; Part 1.11 Pulse Diameter) |
| 4 in max(4, rows) | flow.js:63 | the smallest field, level 0 | METHOD (guard) |
| 64 (rows default) | flow.js:63 | used when rows is not yet known | METHOD (placeholder) |
| 2.22 | flow.js:63 | the drawn outer edge HOLE + 2·TUBE | DISPLAY (only ratios enter the physics) |
| 0.0505, 1.0848 | flow.js:26 | TORUS's starting values, overwritten | METHOD (placeholder) |
| 0.444, 0.888, 0.444 (CORE) | scene3d.js:25, 32 | the scene's starting radii and the drawn Pulsecore | DISPLAY |
| 64 (hornShape(64)) | scene3d.js:25 | the scene's shape before it knows the field | DISPLAY |
| 4096 (AREA_N), 16 (16·AREA_N) | flow.js:45, 50 | the map's table and its forward steps | METHOD (table resolution) |
| 6 (toFixed(6)) | flow.js:48 | the cache key's digits | METHOD |
| 1 in max(1, scale) | flow.js:69 | the tube never shrinks below birth | METHOD (guard) |
| 0.9999 (uv ≥ 0.9999) | scene3d.js:1762 | the seam vertex keeps row fraction 1 | METHOD (numerical) |
Measured
The equal-area map was adopted on a measurement the comment records (2026-10-27): with rows drawn at equal angles, 96 % of stars formed on the tube's outer edge; corrected per area, 94 % formed at the throat.