Chapter 1 · Section 4
The Level and Lineage Clock and the Constants of a Universe
The BPT law
BPT Part 2.8 writes the clock with each number in its place. The Level and Lineage Clock (G) is ①⥂⧗⌂ = ℨ · 2^L · H: "A universe's clock: the Zinf, doubled by its level, carried by its lineage." The Zinf universe has no lineage, so H = 1 there. Each generation passes on one step, the Generation Heritage, h = f₀ · ⟪C⟫, "its uncompressed baseline times the compression of the well that seeded it", and the Lineage Heritage is ln(H) = Σ ln(h). The book's value for ours, f²⁰², "is the reading of one generation a level with one merger, H = f₀²⁰²·⟪C⟫", and "f, as the book uses it, is H spread over the levels, f = H^(1/L)". The Local Pulse Rhythm is half a Tempo, one flip, and the Pulse Diameter grows by 2f a level (Parts 1.6 and 1.9). A child's Tempo is set by its well's mass, ①⥂⧗′⌂ = ①⥂⧗⌂ · (M∅/M_P)^½ (Part 6.5). BPT Chapter 1's Constants of a Child Universe (G) then derives all the rest from the Tempo and the Length:
s′ = Tempo/ℨ, ℏ′ = s′²·ℏ_ℨ (ℏ_ℨ = ℏ/s_ours²), 𝒞→′ = Length/Tempo,
m′ = ℏ′·Tempo/Length², G′ = Length³/(m′·Tempo²), k_B′ = k_B
"On the typical ladder, where Tempo and Diameter both grow by 2f a level, this returns the reduction of this Part exactly: mass falls by s, 𝒞→ and G come out unchanged, and ℏ grows as s². Off the ladder ... 𝒞→′ shifts." Universe Classification by Genesis Parameters (Part 2.8) lists a null mass of 1 M_P as Critical (Standard Genesis), pulsing at its parent's Tempo, and 10⁶ M_P as Super-Critical (Hyper-Genesis), "slow-pulsing and long-lived", with a Tempo 10³ times longer.
The established physics
The Planck time is √(ℏG/c⁵). BPT Part 6.5 cites this as the basis of the consistency rule. The rest is BPT.
The game's math
describeUniverse() universe.js:282–322:
H = given H (a child's lineage), else f₀^L · prodC (L > 0), else 1
prodC = C^mergers · ancestorsC (mergers = 1 by default)
f = H^(1/L) (L > 0), else f₀
Tempo ①⥂⧗⌂ = 2·pulseRhythm(L, f, ℨ) · massRatio^½ = (2f)^L · ℨ · massRatio^½
Length = 2·pulseDiameter(L, f, 𝒞→ℨ) = (2f)^L · 𝒞→ℨ
Rhythm = Tempo/2, Pulse Diameter = Length/2, frame rate = 1/Tempo
consts = childConstants(Tempo, Length, ℨ, s_ours) universe.js:163
Because H = f^L by construction, (2f)^L = 2^L·H and the BPT clock is reproduced exactly. For a panel genesis H = f₀^L·⟪C⟫, so f = f₀·⟪C⟫^(1/L), the old one-generation-a-level reading (Null Well Heritage Ratio, heritage() universe.js:143). Since Length/Tempo = 𝒞→ℨ/ℨ = c whenever massRatio = 1, every universe keeps c. ℏ′, m′ and G′ then follow. A worked case, level 28 (a1 = a2 = 0.998, q = 1, θ = 10°):
a_f = 0.998, ⟪C⟫ = 0.932272, H = 1.0183535^28 × 0.932272 = 1.55132, f = 1.015810
Tempo = (2.03162)^28 × 2.2834e-106 = 9.509 × 10⁻⁹⁸ s
Pulse Diameter = 1.425 × 10⁻⁸⁹ m, ℏ′ = 3.28 × 10⁻¹⁴² J·s, G′ = 6.674 × 10⁻¹¹, c′ = c
G′ equals G at every level with massRatio = 1. Length³/(m′·Tempo²) reduces to l_p³/(m_p·t_p²) because ℏ′, Length and Tempo all scale as powers of the same s′. The null mass multiplies only the Tempo, so with massRatio = 10⁶ the Tempo is 10³ longer and c′ = c/10³, the "off the ladder" case the book describes.
At a shallow spinning genesis the single ⟪C⟫ is spread over few levels. At L = 3, f = (1.0183535³ × 0.932272)^(1/3) = 0.99482 < 1. The code allows this, and it is a true consequence of H = f₀^L·⟪C⟫ with one merger.
GENESIS_CLASSES universe.js:174 holds the labels (not read by app.js; the select's options repeat them). inheritedPlanckTime() universe.js:153 and baselineHeritage() universe.js:148 are exported for the tests and are not called by the game.
In the game
The clock and the constants are what the readout card is made of. Each row is one result of the law, with the law in its tooltip (app.js:2073–2082): "Heritage f", "Local Pulse Tempo ①⥂⧗⌂" ("(2f)^L ℨ × (M_null/M_P)^½: a heavier well, a slower child"), "Pulse Diameter ①⊕⌂", "Frame rate" ("one frame per Tempo, 1/①⥂⧗⌂"), "Light speed 𝒞→" ("Constants of a Child Universe: Length / Tempo"), "ℏ here" and "G here" ("Length³ / (m × Tempo²); k_B is shared by every universe"). The card is redrawn on every change of the panel while the universe is stopped (onChange, app.js:5511), so a player can slide the level and watch the Tempo grow by about 2f a step while c and G hold still.
The null mass is the one control that takes a universe off the ladder. The select "Null mass M_null/M_P" (index.php:182) offers "10⁶ · Super-Critical · Hyper-Genesis" and "1 · Critical · Standard Genesis". Choosing 10⁶ lengthens the Tempo row 1,000 times and drops the light-speed row to c/1,000. The Randomize button draws one of the two at random (randomizeAll() app.js:5814).
The Tempo is also heard. The HUD's "Note:" line (index.php:84) is "one over its Pulse Tempo, moved by whole octaves into hearing" (universeNote() app.js:3884), followed by the note the Zinf cycle gives, "from the Prime Pulse's …". The pace on screen does not follow the Tempo in seconds: one step of the field is one flip at every level, and the Speed control's tooltip says "The physics is the same at every speed."
The scale model
Exact: no scale model. The clock and the constants are always at the true level uni.L. The model level changes only how many Tempos are drawn (Part 1.10).
Where the game and the theory differ
- The readout's "Heritage f" tooltip reads "f = f₀ × C^(1/L), Null Well Heritage Ratio" (app.js:2073). That holds for a genesis set by hand. For a child the game computes f = H^(1/L) from the lineage's H, as BPT Part 2.8 states.
- BPT's classification table also has a "Failed" genesis type (any null mass). The select offers only the two that seed a universe.
Fixed numbers
| Number | Where | What it is | Kind |
|---|---|---|---|
| 1 | universe.js:282 (mergers = 1) |
one merger behind a panel genesis | METHOD (a panel genesis is read as one seeding merger) |
| 1 | universe.js:291 | H = 1 at level 0 | BPT (Part 1.6, the Zinf has no heritage) |
| 0.5 | universe.js:154, :296 | (M_null/M_P)^½ | BPT (Part 6.5) |
| 2 | universe.js:212, :217, :222, :297, :303, :305 | Tempo = 2 Rhythms; Length = 2 Diameters | BPT (Part 1.6, 1.9) |
| 1e6 | universe.js:175; index.php uMassClass |
Super-Critical null mass | BPT (Part 2.8 classification) |
| 1 | universe.js:176; index.php | Critical null mass | BPT (Part 2.8 classification) |