PulseCore

Chapter 7 · Section 3

Beats: Time Crystals, Breathers and Oscillons

The BPT law

BPT Part 1.1 names Time Crystals (⧖) as one of the Critical Fundamentals every pulse creates, "temporal periodicity structures that maintain rhythmic oscillation and establish the stable temporal lattice underlying causality", and says that where they cross they make "Resonance patterns (harmonic relationships)". BPT Part 7.6 (Thresholds of Recursion) says when oscillation becomes lasting form. Its Combined Threshold Function is

Θ(ρ, C, I) = (ρ/ρ⨶)^α · (C/C⨶)^β · (I/I⨶)^γ,   with α = 2, β = 1, γ = 1/2

and its Form Emergence Condition is Θ ≥ 1: "the one rule", where recursive density ρ, phase coherence C and information density I are each measured against a reference scale. Above that line, in the book's words, "the field crystallizes into form", the Field-to-Form Transition.

The STATE_FAMILIES table (states.js:45–47) ties each family here to a place in the book. The time crystal goes to "Pulse Rhythm and Tempo (ch 1); Harmonic Novas (ch 3 Part 3.6)". The breather goes to "Information-Driven Perpetuation (ch 3)". The oscillon goes to "Prime Pulse Bifurcation (ch 1)", BPT's Nothing → (0 ⥂ 1). BPT does not state the tests below, or how a breather is told from an oscillon, and the game does not compute Θ. The tests are game methods. They serve BPT's time crystal and its field-to-form threshold by asking whether a region of cells holds one beat, together, long enough to be seen twice.

The established physics

A discrete time crystal locks its bulk onto a multiple of the drive period (Wilczek 2012; Else et al. 2016; Zhang et al. 2017; Choi et al. 2017, as states.js:13–14 cites them). A breather is a localized oscillation that pulses in place inside a medium. An oscillon is a long-lived localized oscillation standing alone in an otherwise quiet field, as seen in early-universe field simulations. Both terms are standard. The code cites no paper for either, and this book adds none.

The game's math

Step 1 of scan() (states.js:340–357):

  1. Mark the slow cells: slow[i] = per[i] wherever per[i] ≥ 3, meaning a period longer than the pulse.
  2. Take the 8-connected components of cells that share the same period (components(slow), states.js:173). Two neighbors join only if their mask values are equal.
  3. Keep a component only if it has at least minRegion = 8 cells (one Moore neighborhood's worth) and its bounding box is at least 3 cells across on both sides. A region has breadth, so a line is not a crystal.
  4. Classify it:
    • localized means a box no more than 8 × 8 and no more than 32 cells.
    • A localized region whose whole one-cell ring around the box is constant null (per = 1 and code 0) is an oscillon.
    • Any other localized region is a breather.
    • A region that is not localized is a time crystal.

The find carries its family, period p, size (cells), center (the mean row and column of its cells), and a species signature (Part 7.7).

Rarity (stateRarity() states.js:64), for these three families:

tier = 5 if p ≥ 9; 4 if p ≥ 7; 3 if p ≥ 5; 2 otherwise
a time crystal of 256 cells or more goes up one tier (to at most 5)

The tier names are Common, Uncommon, Rare, Epic and Legendary (TIERS states.js:61). Rarity decides only how a find is announced (Part 7.7) and the label it carries. It changes no count.

How it is worded. announceStates() (app.js:1780) turns a time crystal into a find of kind crystal, and every other family into kind state. describeFind() (finds.js:47) words a crystal as "The cells lock onto a p-flip beat, p/2 Tempos, slower than the pulse that drives them · N cells".

Worked case. A region of 300 cells in which every cell repeats every 6 flips is a time crystal. It has period 6, which is 3 Tempos. Its tier is 2 by period, plus 1 for 256 cells or more, so tier 3: Rare. A 5 × 5 lump of 20 cells at period 4, ringed by null, is an oscillon of tier 2, Uncommon.

The window sets the longest beat that can be found: W/3 = 16 flips. The lattice test (Part 7.4) wraps around the torus; the region test here does not (see below).

In the game

Time crystals, breathers and oscillons can appear from 64 flips into the universe epoch onward, for as long as the universe lives. They are found in the cells' history, not drawn: no marker is placed on the 2D field or the 3D torus for them. scene.setCrystals() receives only the ring meetings of Part 7.8 (app.js:1953).

Each one shows as a find. The Collection panel lists time crystals under "time crystals" and the other two under "states of the field" (app.js:273), with the find's sentence in its "Latest" list: for a breather, "Breather · a 4-flip beat · 20 cells" (finds.js:49). With the notices on, a time crystal would pop as "Time crystal · Rare" with the icon ⏱, a breather with ◉ and an oscillon with ◎ (showToast() app.js:246–247; icons from states.js:45–47), each in its tier's hue. Under QUIET those notices return before they are drawn. At the end of the life the run summary carries the chips "⏱ N time crystals · best Rare" and "◇ N states: Breather, Oscillon" (app.js:2794–2795).

The player has no control that makes a crystal. What they paint into the Pulsecore before Start is the data the rule writes from, and so it sets what the field later settles into.

The scale model

Exact on the drawn field: no scale model.

Where the game and the theory differ

  • BPT reads ⧖ as "time crystal; alone, the Rhythm", and Part 1.1 says every transition creates time crystals. In BPT the plain pulse is itself a time crystal's beat. The game calls a region a time crystal only when it beats at period 3 or more, slower than the pulse, which is period multiplication as physics defines it.
  • components() does not wrap across the torus seam (it skips neighbors with rr < 0 or rr ≥ rows, states.js:184), although the field is a torus. A region that straddles the seam is seen as two regions, each of which must pass the size tests on its own. The oscillon's ring test does not wrap either (states.js:350).
  • STATE_FAMILIES places Information-Driven Perpetuation in "ch 3" (states.js:46). The book states it in Part 1.11, and Part 3.15 cites it there.
  • The game's Finds card says time crystals and strings "are the game's own finds, not laws of the book" (index.php:309). BPT Part 1.1 names both as fundamentals. What the book does not state is the test that finds them.

Fixed numbers

Number Where What it is Kind
3 (per ≥ 3) states.js:341 "Slower than the pulse": the pulse itself is period 2 BPT
8 (minRegion) states.js:118, 343 A region holds one Moore neighborhood's worth of cells METHOD
3 (min side) states.js:345 A region has breadth: at least 3 cells across METHOD
8, 8, 32 states.js:346 Box and cell limits for "localized" (breather or oscillon versus crystal) METHOD
9, 7, 5 states.js:66 Period cut-offs for tiers 5, 4 and 3 DISPLAY
256 states.js:74 Size at which a time crystal goes up one tier DISPLAY
1–5, hues 330, 160, 200, 290, 48 states.js:61 Tier numbers and their colors DISPLAY
2 (in p/2) finds.js:47 Two flips are one Tempo BPT