Chapter 4 · Section 1
The Matter Layer and Its Order of Work
BPT Part 2.9 (The Gas of the Physical Nova) says that at the Physical Nova "the physical layer condenses from the data that has filled the lattice since the Data Nova, where that data lies", and BPT Part 3.13 says that the data which never condenses stays as Data Matter, with mass but nothing to touch light with. The game holds both readings at once. The data stays on the cells of the torus, the substrate, flowing at light speed and drawn as the field. Matter is its physical reading: a list of bodies, each { r, c, vr, vc, m } in cells and cells a flip (matter.js:82), moving through the substrate under gravity, with the Data Matter laid under it as a density on the gravity mesh. The header of matter.js (matter.js:1–34) sets this out: matter "condenses out of the data, falls together, orbits the wells and builds planets, systems and new wells".
The order of work, once the Physical Nova has come (novaCount ≥ U.PHYSICAL_LAYER, which is 3, universe.js:389; the HUD's Layer line then reads 3, "the physical layer"):
- The burst.
burstPulsecore()app.js:1259 callssendOutMatter()app.js:1192 once. It builds theMatterobject, fixes its gravity, sets its expansion clock and lays the bodies by the Zel'dovich start (Parts 4.3–4.6). - Each flip in four sub-steps.
universeSliceCore()app.js:4443 runs the flow, the inner gas and the lattice every slice, and callsstepMatterTo()app.js:4320, which runs exactlyMATTER_SUB = 4matter sub-steps of a quarter flip each as the flip's time reaches them (Part 4.16). - One sub-step.
stepMatter()app.js:641 is three calls:stepMatterPre()app.js:648: rebuildsMatterif the field changed size, sets the cloud size (setCloud), light speed (lightCells()) and scale factor (expansionA()); copies the wells into plain records; lets the data's growth condense as dust (condense()); lays the Data Matter on the mesh (darkField()).Matter.step()matter.js:379: the mesh forces, the leapfrog kick–drift–kick for bodies and wells, cooling, frame dragging, falls into wells, mergers, births of new wells and planet finding.stepMatterPost()app.js:658: stars (Chapter 5), feedback, flashes, the scene, the wells' new places, mergers of wells, stellar wells, swallowed mass, new wells and planets into the collection.
- The data drains. Separately, each flip,
stepWells()app.js:818 runsWellDynamics.step()gravity.js:43, which pulls data into wells and turns it round them, the Data Funnel Return Law of BPT Part 3.9 (Part 4.13).
Everything below follows one rule of the theory that the code states many times: the bodies start cold, at rest in the substrate except for the growing mode of their ripples, and every orbit, disk and spin comes from the fall (matter.js:23–24, app.js:1203–1205, app.js:1231–1234). This is BPT Part 3.12's own account: "nothing in the first ripples turns", and spin is born of the tidal pull of neighbors and of mergers.
The player sees the same order. Before the Physical Nova the HUD's epoch line reads "Universe · the data roams the scaffold at light speed", then "Universe · the scaffold draws in toward the pin head" (app.js:2146–2147); from the burst it reads "Universe · expanding, N% of its final size", followed by the number of stars shining or "gas collapsing" (app.js:2148). The Stars line reads "none before the Physical Nova" until then (app.js:2145).
This overview Part computes nothing of its own; its only fixed number, MATTER_SUB = 4, is tabled in Part 4.16.