Chapter 3 · Section 8
Wells by Collapse: the Hoop Test, Fold Wells and Nova Wells
The BPT law
BPT Part 2.3 applies the Null Well Formation Condition to collapse, and Part 2.9 shows it met by a star: above the Neutron Star Limit "nothing known can resist: the core falls inside its own horizon and the Null Well Formation Condition (Part 2.3) is met by a star." BPT Part 3.14 states that a cloud can do the same, "in the first few hundred million years, a whole cloud of gas falling in at once," and sets how such a well is counted (The Count, and the Wells Unseen): "a heart, or a clump of gas collapsing whole, counts as one well, since a cloud the game cannot resolve is one collapse and not a share of the law. It reports what it counted against what the law asks, and the difference is the wells unseen." BPT Part 3.6 says what kind of well forms after the big bang: "every well that forms from now on (Null Well Collapse, Part 3.9) is physical from its birth," and also that "a Nova is a discharge, not a collapse: Novas open layers, while wells form by collapse." For folds, registerFoldWells() app.js:1647 calls a large fold "a micro null well: it sends rings like any well". BPT Chapter 4 (Part 4.5, Dimensional Folds) has folds, but the fold-to-well rule and its size are not stated there. For fold wells, BPT does not state this; it is a game method.
The established physics
A mass collapses to a black hole when it fits inside its own Schwarzschild radius in every direction, the hoop conjecture (Thorne 1972). r_s = 2GM/c².
The game's math
The hoop test, Matter.step() matter.js:476–481. After bodies within one cell merge, each body is tested:
r_s = 2·G·m / 𝒞→² 𝒞→ = matter.light, cells a flip
size = √(m/π) matter packed one quantum a cell
a well is born if m > 0 and r_s ≥ size
The new well keeps the body's spin, spinParam(b) (Part 3.9). stepMatterPost() app.js:690–695 registers each birth with weight 1, "one collapse, one well" (ruling 2026-10-29: "make the fix and let the game report that gap honestly"). It also fills a site if the birth is inside one (Part 3.7). In a universe of light and wells (matter.unstable, below level 12), a collapsing clump is not counted: "it flashes, but it is no well of the lineage" (8.3 review: "level 10 counted 50 against a law of 13"). In the decay, births are registered the same way (app.js:2668).
Fold wells, registerFoldWells(folded) app.js:1647, called each step from the Data Nova on (app.js:4523). The step's folded cells are joined into 8-way regions (foldRegions() engine.js:92). A region becomes a well when:
- it has at least
FOLD_WELL_MIN= 16 cells (app.js:3477); - no source in
rings, and no Proto Well, lies within near = max(6, min(rows, cols)/8) cells.
Before the Physical Nova it becomes a Proto Well of mass = its cell count, weighted wellWeight(). After the Physical Nova it becomes a physical source, counted as one well.
Nova wells after the Physical Nova. From the Physical Nova on, every harmonic nova's cluster centers go through registerWells() and so through addPhysicalWells() (app.js:5321). Each cluster becomes a physical well at once, not a site, counted with the default weight wellWeight(). The comment at app.js:5293–5297 reads this as BPT Part 3.9's Null Well Collapse ("Later novas use the densest places the nova finds").
In the game
A hoop-test well appears where a clump of matter has packed inside its own horizon: a black sphere in a warm orange ring on the starlit skin, with an accretion disk when it is not a light well (scene3d.js:1517–1538). The first one born in a universe is added to the Collection of finds as a 'wellborn' find, whose notice is titled "A well is born" (◉), and later ones are added quietly (app.js:694–695). In a universe below level 12 the HUD's stars line reads "none: no stable matter at this level, a universe of light and wells" (app.js:2145), and the collapsing clumps flash without joining the count. A fold Proto Well appears before Harmonic 3 as one more magenta ring where a large fold closed; its notice reads "Proto Well 12 · a fold of 40 cells collapsed · it rides the data flow" (app.js:1655, held while notices are quiet), and the Lineage panel's sentence adds "(k from folds)". At Harmonic 4 the banner "Harmonic 4 · spacetime" sums up "… N wells so far" (app.js:5244). The gap between what is counted and what the law asks shows on the HUD as "short" or "unseen" (app.js:2142), and on the run summary under "Null wells counted": "the law: X · Y unseen · Z from dying stars · n drawn", with the verdict "the Y between are the wells unseen, dark and alone, the count the book says the Roman Space Telescope can make (Part 3.14)" (app.js:2778, 2805).
The scale model
A hoop-test well is one drawn collapse and counts as one well. The comment says plainly that a cloud the field cannot resolve is not a share of the law. The shortfall against the law is reported as "unseen" on the HUD (app.js:2142). A fold Proto Well before the Physical Nova counts wellMult. A nova well after it also counts wellMult.
Where the game and the theory differ
- The doc comment at app.js:1646 says "a fold of nine cells or more", but the constant
FOLD_WELL_MINis 16. - The
neartest uses plainMath.hypot, not the wrapped torus distance, andfoldRegions()takes a plain mean for the centroid, so a fold across the seam is placed off its true middle. - BPT Part 3.6 has novas open layers and wells form by collapse, and BPT Part 3.14 counts a collapse the field cannot resolve as one well. The game makes a physical well at each cluster a harmonic nova finds after the Physical Nova, and counts it as
wellWeight()wells, about 10¹⁶ each at level 202. The site comment at app.js:1386–1400 ("No black hole has been seen to form but by collapse") and the count rule of Part 3.14 both read against this; BPT Part 3.6's "every well that forms from now on … is physical from its birth" reads for it. The two readings are set side by side here for a ruling.
Fixed numbers
| Number | Where | What it is | Kind |
|---|---|---|---|
| 2 | matter.js:479 | r_s = 2Gm/c² | PHYSICS (Schwarzschild radius) |
| π | matter.js:479 | size = √(m/π), one quantum a cell | BPT (the Zinf quantum fills a cell, Part 1.8) |
| 1 | matter.js:449, 456 | merge only within a cell | METHOD (stated choice of 2026-10-26: a larger reach chained every clump into one) |
| 0.5 | matter.js:460 | capture test at half a cell | METHOD (escape speed at the merge distance) |
| 65536 | matter.js:456 | cell hash key multiplier | METHOD (hash) |
| 64 | matter.js:471 | star-merger flashes kept per step | DISPLAY |
| 16 | FOLD_WELL_MIN app.js:3477 |
least fold cells for a well | CAP (a floor on size; the hoop test could set it instead) |
| 6, 1/8 | app.js:1649 | spacing from other wells | CAP (a floor and a fraction on reach; limits how many fold wells form) |
| 1 | app.js:692, 2668 | weight of a collapse well | BPT (one collapse is one well; Part 3.14, The Count) |
| 12 | matter.unstable (level below 12) |
no lineage wells in a universe of light and wells | BPT (level 12: no stable matter below it; Part 2.10) |
Measured
- "level 10 counted 50 against a law of 13" (comment app.js:691, 8.3 review).