PulseCore

Chapter 1 · Section 16

The Nova Set, the Layers, Nova Classes and Rarity

This Part covers the remaining tables in universe.js. Chapter 3 covers how the game uses the nova layers, and the finds chapter covers rarity. They are recorded here so every number in universe.js has a home.

The BPT law

BPT Part 3.6 states The UniSpheral Outward Expansion Set: "the sequence of four Data Novas that transform recursion into physical reality. The process begins with Toroidal Genesis, the Null Nova, which forges the substrate architecture as empty space, followed by Dimensional Genesis, the Data Nova, where the data pours onto space and gives it its axes. Temporal Genesis then imposes the arrow of time, and Spacetime Genesis locks three spatial and one temporal axis into a stable 4D scaffold." The third is the physical layer: "Temporal Genesis is the physical layer. Data runs at the Pulse Rhythm, each single transition, while the physical runs at the Pulse Tempo", and "It is the nova the simulation, and Parts 2.9 and 3.11, also call the Physical Nova." The second is where wells begin: "With data on space comes the first place for collapse, and the first wells form here as data wells." Beyond the fourth, "further Novas do not generate new dimensions but instead intensify harmonic structure and resonance": "The layers after saturation are inner dimensions." BPT Part 3.5 sorts novas by size with the UniSpheral Data Nova Scale Law: S < 10³ (✺⥥), 10³ ≤ S < 10⁶ (✺), 10⁶ ≤ S < 10⁹ (✺⊚), S ≥ 10⁹ (✺⥣), from "the smallest MicroNova to a universe-seeding HyperNova", "analogous to astronomical magnitude systems, but based on computational rather than luminosity measures". Josh's rulings of 2026-10-24 and 2026-10-28 fix the order in the code: "1 is space, 2 is the data, 3 is physical". Crystal and string rarity: BPT does not state this; it is a game method.

The established physics

None: BPT and game methods.

The game's math

  • NOVA_SET universe.js:378 lists the four named novas.
  • novaLayer(n) :401 names nova n as "Harmonic n · <name>" for n ≤ 4, else "Harmonic n", flagged harmonic.
  • PHYSICAL_LAYER = 3 (:389), SPACE_LAYER = DATA_LAYER = 2 (:398). The HUD calls wells "Proto Wells" between layers 2 and 3 (app.js:2140).
  • novaClass(S) :408 applies the 10³, 10⁶ and 10⁹ boundaries, returning MicroNova, StandardNova, MacroNova or HyperNova. The S it is given is the count of active cells on the field at the nova (tensionValue, app.js:5102, 5222).
  • crystalRarity(depth) :416 sets the tier by how many rings meet: 6 or more Legendary, 5 Epic, 4 Rare, 3 Uncommon, else Common.
  • stringRarity(length) :425 sets the tier by string length in cells: 96, 48, 24 and 16. These are tied to no level. On a phone field of 64 a side, a 96-cell string must wrap the torus.

In the game

The four novas are the run's chapters, each announced by a banner (performNovaSequence() app.js:5240–5246) whose top line is the event and whose title is novaLayer(n).name:

  • "Null Nova · space is born", "Harmonic 1 · Toroidal Genesis": "the null of … bits leaves the Pulsecore as … places of empty space: the torus stands round it, empty". In 3D the torus stands empty, with no lines (setLayer(1) scene3d.js:1243).
  • "Data Nova · the data erupts", "Harmonic 2 · Dimensional Genesis": "every bit the Pulsecore held bursts onto the lattice at pulse speed · not yet matter: the scaffold of space". The lattice is laid at once over the torus (setLayer(2)), the toast "the data erupts" follows (app.js:5267), the HUD's epoch line turns to "Universe · the data roams the scaffold at light speed", and the first wells appear as Proto Wells.
  • "Physical Nova · the big bang", "Harmonic 3 · Temporal Genesis": "space erupts from the pin head, everywhere at once · the data on the scaffold condenses into matter". Every data well becomes physical (promoteDataWells()), and the HUD's layer line adds "· physical".
  • "Harmonic 4 · spacetime", "Harmonic 4 · Spacetime Genesis": "the fourfold scaffold is complete · … stars shining · … wells so far".
  • After that, each "Harmonic Nova n" banner carries its class in its subtitle, "MacroNova · the lattice rings stronger · … stars shining · … wells", and in 3D adds one colored ring round the torus, stepping out from the space layer (setLayer() scene3d.js:1253–1257).

The banner's hue is 265 for the Null Nova and otherwise follows the class through NOVA_HUE (app.js:2720). The first four novas go to the Collection with a toast; later ones are kept quietly (app.js:5314). Every nova is saved with the universe's figures to Nova Data (the "Data" link and the panel "Every nova, recorded").

Rarity is the color of a find. A time crystal or a string pops a toast tinted by its tier's hue (showToast() app.js:243–245), a harmonic node where rings meet is ranked by how many met, and the end card's chips name the best of each, "⏱ 3 time crystals · best Rare" (app.js:2794–2797). With sound on, a find plays a tone 110 Hz higher for each tier above Common.

The scale model

The rarity cutoffs are in drawn cells and do not scale with the model level.

Where the game and the theory differ

  • BPT's S is a "Nova scale composite measure". The game uses the count of active cells on the drawn field at the moment of the nova, which on a scale model is a count of model cells.
  • NOVA_HUE (app.js:2720) has hues for MicroNova, MiniNova, Nova, SuperNova, MegaNova, MacroNova and HyperNova, but novaClass() returns StandardNova, which has no entry, so standard novas take the default hue 320. MiniNova, Nova, SuperNova and MegaNova are never returned.
  • String rarity is fixed in cells, so the same string is rarer on a small field than its share of the universe would say.

Fixed numbers

Number Where What it is Kind
1, 2, 3, 4 universe.js:379–382 the four named novas BPT (Part 3.6)
3 universe.js:389 physical layer BPT (Part 3.6; Josh 2026-10-24)
2 universe.js:398 data layer BPT (Part 3.6; Josh 2026-10-28)
1e3, 1e6, 1e9 universe.js:409–411 nova scale classes BPT (Part 3.5)
6, 5, 4, 3 universe.js:417–420 crystal rarity by rings meeting DISPLAY (labels only; the six-petal flower of life as the top)
48, 290, 200, 160, 330 universe.js:417–430 rarity hues DISPLAY
96, 48, 24, 16 universe.js:426–429 string rarity by length in cells DISPLAY (labels only; fixed in cells, not scaled with the field)