PulseCore

Chapter 1 · Section 13

Level from Share, Ascendant Wells, Dead Ends and the Generations

The BPT law

BPT Part 3.14 (Galaxies: the Wells and the Stars Around Them) reads each child's level from its well. "Read against the universe it is in, a well's child stands by the share of everything the well holds": Level from Share (G), L_c = L + log₂((M_U / M≡) · s), where s = M / M_U is the share of the parent's whole mass, matter and Data Matter, that the seeding well holds. The ratio of the universe to its Ascendant Mass is the same everywhere: "Their ratio is 8.1 at every level: at most eight Ascendant Wells", the Ascendant Ceiling, N≡ ≤ M_U / M≡. "A well holding an eighth of everything seeds a child at its own level, one holding 3 % a child about two levels down, one holding a thousandth a child seven down." A well at or past the Ascendant Mass "is an Ascendant Well: its child is as deep as its parent or deeper, and it alone carries a lineage on undiminished", and "Ascendant Wells grow in the decay, when the wells take in all that is left." Every child is one generation on, the Generation Step, g_c = g + 1: "The step never varies; the level does." The generations are bounded from below by the Minimum Generation, g ≥ L / log₂(M_U / M≡): "ours, at level 202, is at least the 67th generation, and a level 28 universe at least the 10th. It is a floor, not a count." A line's level is the Level Walk, L_g = L₀ + Σ log₂((M_U / M≡) · sᵢ). Each generation passes on h = f₀·⟪C⟫ (Generation Heritage, Part 2.8). The ladder of wells marks two lines: "level 12: below it no stable matter, a universe of light and wells (Part 2.10)", and "level 22: below it no stars", the Star Existence Condition m_P / m_p > α^(−1/2), which BPT Part 2.10 turns into a level, L > 3 · log₂(14.3 · √137) ≈ 22.2.

The established physics

The star line uses the fine-structure constant α ≈ 1/137.036 (CODATA, as above) through α_G = (m_p/m_P)² < α (Carr & Rees 1979, in BPT sources.md, discuss these coincidences). The levels themselves are BPT.

The game's math

takeCensus(stage) app.js:957 runs at the final well (each well's mass projected with the bodies it pulls hardest) and again after the decay. For each well:

M     = max(uni.matterMax, matterTotal(), 1e-9)
share = mass / M
depth = L0 + log₂(8.1 · share / mult)          L0 = uni.depth
asc   = depth ≥ L0 − 1e-9                       ⇔ share/mult ≥ 1/8.1

Here mult is the number of true wells one drawn well stands for. The code's comment (app.js:939) records why the matter share serves: "M_U / M≡ = 8.1 counts the Data Matter too: it is taken in by the wells in the decay alongside the matter, so a well's share of the matter is its share of everything." The bins (app.js:974) are:

Bin Child depth
ascendant ≥ L0
no_seed < 0
zinf_to_fork 0 to 3
light_and_wells 3 to 12
no_stars 12 to 22.2
stars ≥ 22.2

Each bin is weighted by mult. A child with depth < 22.2 is marked deadEnd (applyCensus() app.js:1056). The two thresholds are rounded constants: DEPTH_MATTER = 12, DEPTH_STARS = 22.2 (app.js:946). From the matter law m_P/m_p = 2^(L/3)/14.3, the exact lines are L = 3·log₂ 14.3 = 11.51 and L = 3·log₂(14.3·√137.036) = 22.16.

minGeneration(L) app.js:2002 = max(0, ceil(L / log₂ 8.1 − 1e-9)). That gives 10 at level 28 and 67 at 202, as the book says.

Heritage and the child's clock. childHeritage(ch) app.js:1036:

C   = describeUniverse({...ch, L: 3}).C     (spin read at the First Fork level)
C   = 1 if the child's depth < 3
H_c = H_parent · f₀ · C

playChild() app.js:3324 then sets childDepth = ch.depth, childGeneration = generation + 1, childLegacyL = ch.L (parent step count + 1) and childH = H_c. It puts round(depth) on the slider: "the slider shows its level, not its generation". recomputeUniverse() runs the child at L = round(depth) with H = H_c, so f = H_c^(1/L). The clock is ℨ·2^L·H as Part 2.8 states. inheritanceOf() app.js:1044 writes what the child was born with onto its record: well, merger, a_f, f, C, prodC, H and the parent's figures.

The generation is a count only. It changes no physics. The level sets the physics, and the heritage sets the drift of the clock.

In the game

The census is spoken as it is taken. At the final well a toast names the Ascendant Wells, "an Ascendant Well" or "2 Ascendant Wells", with "Well #1 holds 14% of the universe, its child at level 28.2" for up to three of them (announceAscendant() app.js:991). When there is none, as is usual at the final well, the toast reads "no Ascendant Well yet" and "Well #1 holds 4.1% of the universe; an Ascendant Well holds 1/8.1 (12%) · its child at level 26.4 · the decay may yet raise it" (app.js:992). During the life, a merger that carries a well past an eighth sends ripples from it and the toast "a merger makes an Ascendant Well": "Two wells met and the one they made holds …% of the universe, past an eighth: its child will stand at this universe's level or higher (book Part 3.14, Ascendant Wells)" (app.js:1715). In 3D each Ascendant Well is tagged as it forms, "and the heaviest, the Alpha, wears a gold hoop" (index.php:306).

The Lineage section prints the census in one paragraph (app.js:3305): "Census at the final well, each well with the matter it will take in: no Ascendant Well; Well #1 holds …% of the universe, its child at level …. Of N wells: a seed universes with stars, b dead ends, c too small to seed." Each child carries its tag: "Ascendant", "light and wells only" (depth below 12) or "no stars: a dead end" (below 22.2). The end card adds a stat "Ascendant Wells" with "Well #1 holds …% · its child at level …", and when there is none, the hint "No Ascendant Well yet: they are made in the decay, as the wells merge and take in all that is left. Continue to full decay to see them." (app.js:2771). The decay runs from "⌛ Continue the universe" and ends with a second census, marked "after the decay".

Playing a child shows the generations at work. The slider moves to the child's whole level, the readout's first row prints its exact depth, "26.4 · generation 1 of this lineage, at least 9 from the Zinf", and the badge reads "Level 26.4 · gen 1". Its heritage f, Tempo and constants are the lineage's, not a fresh genesis's, so a child at level 28 and a genesis at level 28 show slightly different Tempos.

The scale model

The share uses drawn masses against the drawn matter total, so it is a share and needs no scaling. Division by mult turns a drawn well's share into one true well's share. A heart or a collapse counts as one well (2026-10-29).

Where the game and the theory differ

  • The census bins use the rounded lines 12 and 22.2, while matterLaw() app.js:4261 uses the exact test m_P/m_p > 1. A child at depth 11.6 is therefore counted as "light and wells only" by the census, though its matter law reads stable.
  • The Ascendant Ceiling's "at most eight" is not enforced in code. It follows from the shares summing to at most 1, as long as the masses are consistent.
  • The Lineage text and the dive prompt say a child stands "one level deeper" (Part 1.12). The game's own census gives L + log₂(8.1·share).
  • Each well's line in the Wells list ends "seeded Child n, level x" with x the child's step count ch.L, not its level (lifeLine() app.js:916). The child's level is the depth the same line gives earlier ("its child … at level 26.4").
  • childHeritage() reads the child's ⟪C⟫ at the First Fork level, L = 3, then sets it to 1 if the child's depth is below 3: the First Fork gate of Part 1.5 applied to the child's level, not its generation.

Fixed numbers

Number Where What it is Kind
8.1 app.js:946 M_U/M≡, the Ascendant Ceiling BPT (Part 3.14)
12 app.js:946 depth of stable matter (rounded from 11.51) BPT (Part 2.10), rounded; should be 3·log₂ 14.3
22.2 app.js:946 depth of the star line (rounded from 22.16) BPT (Part 2.10, Star Existence Condition), rounded
0 app.js:974, :1058 below a Zinf-level seed: no seed BPT (Part 3.14)
3 app.js:974, :1038–1040 First Fork BPT (Part 3.10)
1e-9 app.js:960, :965, :2002 guards against zero mass and float edge on ceil METHOD
40 app.js:980 census entries kept in the record's top list RECORD
3 app.js:991 Ascendant Wells named in the toast DISPLAY
2, 4 (precision) app.js:991, :977 share printed to 2 figures; record to 4 DISPLAY / RECORD