PulseCore

Chapter 1 · Section 6

Bits per Pulse and the Energy of a Transition

The BPT law

Bits per Pulse (G), BPT Chapter 1 Part Z, states b⌂ = 2^(L+1) = 2s / f^L ≈ 1.286 × 10⁶¹ bits: "Data doubles exactly per level: a universe's Pulse Tempo carries 2^(L+1) bits and its Rhythm 2^L; the heritage f stretches its time, not its data." A bit is one Zinf Rhythm, ℨ/2, so at level 0 a Rhythm is one bit and a Tempo two. "The heritage f^L is time without data, so a universe processes data more slowly than the Zinf by exactly its heritage." The same law counts the whole view: "one Tempo of a whole universe's view carries 16 × 2^(2L) × 2^(L+1) = 2^(3L+5) bits." Josh's ruling of 2026-10-22, quoted in the code, fixed this reading. BPT Part 3.1 gives the energy each transition carries, the Data Energy Transition: E⊶ = ℏ × ω₁ × n○, where ω₁ is "one full cycle per Pulse Tempo: 2π/①⥂⧗⌂" and n○ is the occupation number, 0 or 1. "Each 0 ↔ 1 pulse generates a quantized energy packet, grounding Planck quantization in binary computation."

The established physics

E = ℏω is the Planck–Einstein relation, with ω = 2π/T. The rest is BPT.

The game's math

  • bitsPerPulse(L) universe.js:77 = 2^(L+1). bitsPerFlip(L) :78 = 2^L.
  • describeUniverse() sets transitionEnergy = 2π·ℏ′/Tempo (universe.js:312), using the universe's own ℏ′. The game reads uni.transitionEnergy.
  • For ours, 2π·ℏ/t_p = 2π·E_p = 1.229 × 10¹⁰ J. At level 28 (Part 1.4), 2π × 3.2805e-142 / 9.5087e-98 = 2.168 × 10⁻⁴⁴ J.

The HUD multiplies these by the flips counted on the drawn field. It shows totalFlips × uni.bitsPerFlip as the substrate (app.js:2131) and totalFlips × uni.transitionEnergy in joules (app.js:2133). Before Start it shows the painted pixels × bitsPerPulse (app.js:2130). The comment of 2026-10-29 records that ω = 1/t_p had fallen short of the book by 2π.

In the game

Every flip on the field is one Rhythm, and the HUD counts what the theory says each carries. The line "Bits:" (index.php:73) has the tooltip "Bits carried so far across the whole field: every flip is one Rhythm and carries 2^L bits (Bits per Pulse, ch 1). Before Start: the Pulsecore's painted pixels × 2^(L+1) bits a Tempo." Before Start it reads, for example, "1.61 × 10¹¹ in the Pulsecore" for 300 painted pixels at level 28. Once the field runs it grows with every flip. The line "Energy:" (index.php:74) is "Pulse Energy in joules: every flip so far is one binary transition, E = ℏω each at this level (Data Energy Transition, ch 3)", and reads in joules (app.js:2133).

The readout card gives the per-pulse values the HUD multiplies: "Bits per pulse" with the tooltip "Bits per Pulse: 2^(L+1) per Pulse (one Tempo), 2^L per Rhythm; heritage stretches time, not data", and "Energy per transition" with "Data Energy Transition: E = ℏ ω per binary transition (one Rhythm), with the book's ω₁ = 2π/①⥂⧗⌂" (app.js:2079, 2083). Moving the slider up one level doubles the first and raises the second by about 2f, since ℏ′ grows as s′² while the Tempo grows only as s′.

The scale model

The per-flip values are at the true level. The flips they multiply are those of the drawn model field, 4·2^Lm a side, not the true 4·2^L. The HUD totals are therefore those of the model field with true-level bits and energy per flip. They are not the true universe's totals. The code does not scale them by (2^L/2^Lm)², and no comment says it should. This is stated here so the reader does not take the HUD sum as the true count.

Where the game and the theory differ

The exported transitionEnergy(t) universe.js:235 computes 2π·PLANCK.hbar / t with our ℏ. BPT's Constants of a Child Universe give each universe its own ℏ′, which describeUniverse() uses. The two agree for our universe and differ for any other. Only the tests call the exported function; the game reads the ℏ′ version.

Fixed numbers

Number Where What it is Kind
+1 universe.js:77 Tempo = two Rhythms: 2^(L+1) bits BPT (Part Z.0, Bits per Pulse)
2π universe.js:236, :312 ω₁ = 2π/①⥂⧗⌂ BPT (Part 3.1); PHYSICS (E = ℏω)