PulseCore

Chapter 4

Matter and Gravity

How the game brings Binary Pulse Theory's physical universe to life, from the Physical Nova to the cosmic web: the matter the Pulsecore sends out, the universe's own gravity and expansion, the first ripples, the Data Matter, gas that cools into whirling disks, wells that eat matter and drain data, and the heat that decides which clumps become galaxies; for each, the law, the game's math and what the player sees.

Chapter 4

Matter and Gravity

This chapter follows the physical universe of Binary Pulse Theory from its birth at the Physical Nova until its matter has gathered into a web of clumps, disks and wells, and shows, law by law, how the game makes each step happen and how it shows it.

It brings into the game chiefly BPT Chapter 3. Part 3.11 (The Expansion of the Physical Universe) gives the Matter-Era Expansion, Matter Dilution, Hubble Drag, the Linear Growth of Structure, the First Ripples with the Zel'dovich Displacement, the Pin Head Scale and the Gravity of a Universe. Part 3.12 (Ripples, Spin, and the Whirling Disks) gives the Primordial Ripple Spectrum, Where Spin Comes From, Gas That Cools Keeps Its Spin and The Heat of the Universe. Part 3.13 (The Dark Sector) gives Data Matter, the Data Matter Count with Failed Proto Wells, the Data Matter Return and the Level Λ Law of the Null Vacuum. Part 3.14 (Galaxies) gives Proto Wells: Where Wells Will Form. From BPT Chapter 1 it takes Part 1.11 (Pulse Diameter, Data Gravity and The Speed of Light) and the Rupture Rule (Part D), which gives each universe its life of 2^L Tempos. From Chapter 2 it takes Part 2.4 (Event Horizons and Null Wells) and Part 2.9 (the Gas of the Physical Nova and the Data–Matter Equivalence); from Chapter 3 also Part 3.9 (the Data Funnel Return Law); and from Chapter 6, Part 6.3 (the Formation Condition) and Part 6.10 (the Free-Fall Time and The Game's Reading, Formally).

The arc, in plain words. What the theory says happens: at the Physical Nova the data that has filled the scaffold condenses where it lies into a smooth gas, densest along the lattice's lines and densest of all at its nodes. Space erupts from the pin head, the Pulsecore's own size, and grows as a matter universe grows, fast and then slower, and at last faster again as the Null Vacuum's share rises. The gas's tiny ripples grow under its own gravity and under the gravity of the Data Matter, five and two-fifths times heavier, into sheets, filaments and clusters. Gas that cools falls inward keeping its spin and settles into whirling disks; wells eat what their orbits carry into the horizon, and funnel the data round them back toward the Source. How the game makes it happen: it lays one body for every few cells of matter on an even grid, nudged and set moving by the ripples; it sets the universe's gravity from its density and its life; it solves that gravity on a mesh over the torus, with direct pulls near the wells; it grows the torus by the sinh^(2/3) law of matter and vacuum; and it lets cooling, falls and mergers do the rest, in four quarter-flip steps every flip. What the player watches: the torus draws in to the pin head, then bursts back out with the stars riding it, under a white-hot first light that cools through yellow and red to dark; the skin darkens as the vacuum grows; the smooth sky gathers along the lattice's lines into clumps and filaments; clumps swirl, flash as they merge and grow accretion disks, and the wells among them draw the data into spiral arms. The HUD reads "Universe · expanding, N% of its final size", and toasts mark each stage of the web.

The code behind it is matter.js (the matter layer: the mesh, the leapfrog, the falls, the mergers, the cooling and the planets), gravity.js (the wells as drains of data), zeldovich.js (the first positions and speeds of the matter), heat.js (the temperature and cooling of a galaxy's gas), matter-worker.js (the matter's own thread), and the parts of app.js that drive them: sendOutMatter(), matterBudget(), meshB(), cloudCells(), lightCells(), universeG(), expansionA(), the dark sector, and the timing of the matter step. What the player sees is drawn by scene3d.js (the torus in 3D) and drawFieldTexture() app.js:310 (the 2D field, which is also the torus's skin).

Two pieces of matter.js are documented in Chapter 3 of this book and only cross-referenced here: the inspiral of bodies into wells in the decay (inspiral() matter.js:152, with gwFraction() matter.js:70; Chapter 3, Part 3.13) and the spin of wells (the frame dragging in Matter.step matter.js:408–421 and spinParam() matter.js:487; Chapter 3, Part 3.9). Their fixed numbers are tabled there. Chapter 3 also reads the well side of three pieces documented here from the matter side: the hoop test (Part 3.8), the data around a well (Part 3.11) and the wells in the gravity grid (Part 3.12).

Where the code departs from the theory, from the physics or from its own comments, each Part says so plainly in its own subsection, "Where the game and the theory differ".