Chapter 10 · Section 5
The Pulsecore Fills
While the epoch is "singularity", each flip runs the cell rule on the Pulsecore's skin and then moves the data inside it (stepPinpoint(), Parts 2.4 and 2.5).
- The data within grows as a square. After n whole Tempos the Pulsecore holds N = (n + 1)² bits (
dataWithin()); the first frame only starts the clock. - The data moves inside at light speed, a point for each Zinf bit up to 8,000 points, bouncing off the Bifold, the Pulsecore's skin, about twice a flip.
- The skin turns with the spin: its equator moves v∂ of light speed, v∂·π radians a flip, dragging the data with it.
- Every bit carries its null. Before the Null Nova the nulls are held inside, packed into the room the data has not taken: ρ∅ = N / (χ∂ − N), where χ∂ = 16 · 4^L is the skin's capacity, the Local Cell Count.
- The game says what is happening as the core fills: "data in motion", "null filling the core" at a quarter of capacity, "Null Nova near" at 45%.
The method, in plain steps:
each flip while the epoch is "singularity":
run the cell rule on the skin
n ← whole Tempos so far; N ← (n + 1)²
move N data points inside at light speed, turning with the skin
if N ≥ χ∂ / 2 and no nova yet → the Null Nova
The code:
// public/game-v8.4/pinpoint.js:36–42
export function skinCapacity(L) { return 16 * Math.pow(4, Math.max(0, L)); }
export function dataWithin(n) { return (n + 1) * (n + 1); }
export function novaTempo(L) { return Math.ceil(Math.sqrt(skinCapacity(L)) - 1); }
// public/game-v8.4/app.js:505 stepPinpoint()
const n = Math.floor(pulseCounter / 2); // Tempos processed: the laws count Tempos
skinTurn += Math.PI * skinSpeed(uni.a_f); skinAngle = skinTurn % (2 * Math.PI);
const res = pinGas.step(n, uni.a_f, skinAngle, { lit: grid, pulser: pulserGrid, color: colorGrid, exposure: exposureGrid });
// public/game-v8.4/app.js:4331 novaCapacity()
if (novaCount === 0) return cap / 2; // the Null Nova: data and null, one each, fill the Pulsecore
if (epoch === 'singularity') return cap; // the Data Nova: the data alone outgrows the Bifold