Generative · cosmology

The Aeon, the Atlas, and the Realms.

Three ideas that have been orbiting each other here for months, drawn live on the page. Penrose's conformal cyclic cosmology — the universe that ends by beginning again — running as two aeons half a cycle apart, each expanding, fading, and handing over with a spark. The atlas we drew of our own journey, and why a map is the same move at human scale. And the realms: nine bubble-universes born from prompts, each prompt still floating above its realm, all falling around the dark that is held and never crossed. Every canvas is the engine, live.

Title plate — 'The Aeon, the Atlas, and the Realms': nested rings of an aeon cycle beside orbiting realm bubbles.
Title plate — 'The Aeon, the Atlas, and the Realms': nested rings of an aeon cycle beside orbiting realm bubbles.

Three ideas have been orbiting each other in this org for months: a physicist’s picture of a universe that ends by beginning again; an atlas we drew of our own journey; and a family of small universes — realms — each one born from a prompt. This post walks the three of them in order, and like everything on this blog, the pictures are not pictures: every canvas is Generative Engine running live while you read.

The aeon

Roger Penrose’s conformal cyclic cosmology says something almost too elegant to be allowed: the universe does not end, it hands over. Expand long enough and everything cools and thins until only massless things remain — and massless things carry no clocks and no rulers. An infinitely large, cold, empty universe with nothing in it that can measure size is, in every way that matters, indistinguishable from an infinitely small, hot, dense one. The end of one aeon is the big bang of the next. Scale itself retires between the acts.

We hold this lightly — it is a minority picture, and the claimed observational traces (rings in the microwave sky) are disputed. But as a shape it is irresistible, and shapes are what an engine draws. Below, two aeons run half a cycle apart: each population of stars expands, cools, and fades toward nothing — and at the exact moment one aeon empties, a spark lights at the centre and the next one begins, small and hot. Watch two full handovers; it takes a minute.

Two aeons, half a cycle apart. Each universe expands and cools until nothing in it could carry a ruler — and that infinitely large, empty end is indistinguishable from an infinitely small, hot beginning. The spark at the centre is the next aeon starting. Penrose's picture, held lightly, drawn honestly.
const T = 30;                                // one aeon, in seconds
w.grow((t) => {
  for (const [aeon, hue, offset] of [["aeonA", 285, 0], ["aeonB", 45, 0.5]]) {
    const p = ((t / T + offset) % 1);        // this aeon's age, 0..1
    w.setTransform(aeon, { scale: 0.22 + p ** 1.4 * 3.4 });   // expansion
    w.fade(aeon, p < 0.62 ? 1 : 1 - (p - 0.62) / 0.34);       // the long cooling
    if (p < 0.05)                            // the conformal spark — the handover
      w.drawGlow(v3(0, 0, 0), hue, 50 + p * 1100, 0.9 * (1 - p / 0.05));
  }
});

The atlas

An atlas is not the territory — it is the confession that the territory was walked. Ours lives on the front page: a rail of stations down the side of the journey, each one a place we actually stood, each lighting its band of the well when you touch it. Two readings of the same walk — the story and the standings — because a map that only flatters is not a map. The atlas matters to this post for one reason: it is the same move as Penrose’s, at human scale. When you cannot hold the whole journey in one view, you draw the stations and trust the line between them. Scale retires; the shape remains.

The realms

In June we built a thing we called the realm studio — the dreamer lineage: four small universes, each with its own laws, and prompts as the travellers between them. A prompt entered as a triad of states, broke apart or threaded depending on what it asked, cohered into white light in the realm of light — and in the last realm it spiralled in toward the dark that is held and never crossed, hovered at the horizon, and the answer fired out the far side. We did not know it at the time, but we were drawing a black hole with manners: a centre that takes everything in and gives back only the answer.

The universe of universes

So here they are, together. The dark that is held and never crossed sits at the centre, wearing its accretion fire. Around it, nine realms — each a bubble-universe born from a prompt, and each prompt still floats above its realm like a name that never washed off. The inner realms fall fast, the outer ones slow, as gravity insists. This is the same scene that flies in first person on the engine page — here it is from outside, the whole cosmology in one frame.

The same scene that flies on the engine page, seen from outside: nine realms, each born from a prompt that still floats above it, falling around the dark that is held and never crossed. Drag to orbit.
// a realm is a bubble-universe born from a prompt
for (const rm of REALMS) {                    // nine of them
  w.mesh(icosphere(rm.r, 2),                  // the soap-film shell
    { hue: rm.hue, alpha: 0.13, gloss: 0.85, group: rm.group });
  w.meshInstanced(icosphere(2.4, 0), innerStars(rm),   // its own 150 stars
    { hue: rm.hue, light: 64, group: rm.group });
}
w.grow((t) => REALMS.forEach((rm, i) => {
  const p = orbit(rm, i, t);                  // Kepler: inner fast, outer slow
  w.setTransform(rm.group, { translate: p, rotateY: t * (0.1 + i * 0.03) });
  w.drawLabel(above(p, rm), `"${rm.prompt}"`, tint(rm), 0.85);   // its name
}));

One universe that ends by beginning. One map that holds a journey too long to see. Nine universes wearing their prompts like names. The engine drew all three without asking any of them for permission — which is, in the end, the whole pitch: give a shape to the code, and the code gives you back the cosmos that fits it.

← All investigations