PulseCore

Chapter 2 · Section 11

Dilation Toward the Final Well

The BPT law

BPT Part 3.10, Dilation Toward the Final Well (G):

I(n) / I(0) = 1 + (2f − 1)·n / 2^L,   PD(L) constant

"The information around a universe's pulse grows through its life toward its final well, reaching the next level's doubling at rupture; the pulse itself never changes size." Here I(n) is "the extent of information around the pulse at the universe's own pulse n, relative to the pulse," 2f "the growth of one level on the typical ladder," n/2^L "how far the universe is toward its final well," and PD(L) = Z × 2^L × f^L "the Pulse Diameter at level L, a constant of the level." The book reads it plainly: "A universe does not double at its birth, and it does not double at a jump. It is at its own size when it is born, one and a half times it halfway to its final well, and exactly the next level's size, 2f, only when its final well forms. The pulse at its center, the singularity that was the whole of it before the Data Nova, is not shrinking ... It recedes only relative to the information that gathers around it, which is why the singularity of a mature universe is negligible next to the universe it made." "The linear form is the simplest reading of the Pulse Diameter law between levels and is the one adopted here." The life 2^L is counted from the big bang (Part 2.3).

The established physics

None: a game method of the theory.

The game's math

dilation(n, L, f) engine.js:113: x = clamp(n/2^L, 0, 1) (1 when 2^L is 0), and the result is 1 + (2f − 1)·x. It is called each step in the universe as scale = dilation(universePulses(), uni.L, uni.f) app.js:4552. scale widens the tube (Parts 2.9 and 2.10), slows light in cells (lightCells()), and sets the HUD's "×scale".

With f = 1.018 (the lineage value in universe.js:34), 2f = 2.036, so a fully dilated drawn tube is 2.036 times its birth size.

In the game

The dilation is the torus growing. scene.setScale(scale) (app.js:4553, scene3d.js:1386) rebuilds the torus with its tube TUBE·scale and its outer radius HOLE + TUBE·scale, so a dilating universe's torus swells round its fixed hole while the data circulates; the lattice and the harmonic rings are laid at the current scale. The readout's Scale line reads "×1.000 · 1 cell = … 𝒞→ℨ" (app.js:2138), with the tooltip "Dilation Toward the Final Well: ×1 at birth, ×2f at the final well; and one cell's width in Zinf Pulse Lengths" (index.php:79). As the tube widens, light covers fewer cells a flip, so the flow's roll slows in cells.

What the player sees depends on the level, through the call below. At the default level 28 the Scale line stays at ×1.000 for the whole run and the torus keeps its size. At level 6 on a desktop, or level 4 on a phone, the torus visibly grows through the run, reaching ×2.036 and holding there before the final well.

The scale model

The dilation should be exact in shares of the life: the share of life lived is the same in the drawn and the true universe. As called, it is not, for the two reasons below.

Where the game and the theory differ

The call mixes the clock's two levels in two ways:

  1. It divides the model clock by the true life. universePulses() counts model-level Tempos (Part 2.3), at most lifeEndTempo() = 86 on a desktop, but the divisor is 2^uni.L, the true level. At level 28, x ≤ 86/2^28 ≈ 3.2×10⁻⁷, so scale stays 1.0000 for the whole life and the drawn torus never dilates. Only a universe at or below its model level (L ≤ 6 on a desktop, L ≤ 4 on a phone) dilates at all.
  2. It counts from the Data Nova, not from the big bang. Even at L = Lm, n includes the data's count of ceil(2^L/3) Tempos before the Physical Nova. On a desktop at level 6, x reaches 1 at Tempo 64, 42 Tempos after the big bang, and the scale is then held at 2f for the last 22 Tempos of the life. The book's n runs from the big bang over the whole 2^L.

The law, read on the model clock as the rest of the clock is, would be x = (universePulses() − physicalTempo())/2^Lm, clamped to [0, 1].

Fixed numbers

Number Where What it is Kind
2, 1 (2f − 1) engine.js:116 growth to the next level's doubling BPT (Part 3.10)
2^L engine.js:114 the life BPT (Part 1.6, Rupture Rule)
0, 1 (clamp) engine.js:115 the share of life lived BPT (the life ends at rupture)
1 (cap ≤ 0 → 1) engine.js:115 guard METHOD
1 (scale = 1 at the Data Nova) app.js:5268 birth size BPT (Part 3.10, I(0))