1. readsLaunch Library's T−0 times
  2. becomesimminence → mass, recomputed every second
  3. writes--w
  4. you seethe next launch literally gains weight as T−0 approaches — time itself drives the field

No canvas is drawn here — the field is invisible; these variables are its only output. Without it you would build: a countdown per row and a cron that re-sorts.

field-ui · invisible fields · calendar

The next launch pulls hardest.

A launch schedule lists every mission at the same weight: a rocket lifting off in nineteen hours sits in the same row style as one penciled in for the end of the month. This is the same schedule from Launch Library 2 run as a field: imminence is gravitational mass, and the weight ramps as T−0 approaches — heavier type, darker ink, a stronger left anchor.

This is the one page where the field's input is time itself. The soonest launch is the biggest thing on the wall — a featured "next up" card with the countdown as its centerpiece — and the rest lay out as a day agenda, a seven-column week, or a month grid: three calendar geometries over the same thirty launches. A 1-second clock recomputes every weight and re-picks the featured launch in whichever view is mounted, so when a window passes the wall advances on its own; passed and undated launches drift to a dimmed "unscheduled" cluster. Toggle the field off and the wall flattens — but the countdowns keep ticking, because they're data, not field.

Field
Layout
Color by

size = imminence — weight ramps as T−0 approaches, recomputed every second · color = launch status — Go is confirmed, TBC awaits confirmation

Next up

HASTE | Curveball

Rocket Lab · Electron

Rocket Lab Launch Complex 2 (Launch Area 0 C) · Wallops Flight Facility, Virginia, USA

T− 1d 03:21:43 Go

Thursday, June 11UTC

  1. HASTE | Curveball Rocket Lab · Electron Rocket Lab Launch Complex 2 (Launch Area 0 C) · Wallops Flight Facility, Virginia, USA
    T− 1d 03:21:43 Go Sub
  2. Long March 5 | Unknown Payload China Aerospace Science and Technology Corporation · Long March 5 101 · Wenchang Space Launch Site, People's Republic of China
    T− 1d 06:51:43 Go
  3. Falcon 9 Block 5 | Starlink Group 17-44 SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    T− 1d 13:21:43 Go LEO

Friday, June 12UTC

  1. H3-30 | H3-30 Test Flight Mitsubishi Heavy Industries · H3-30 Yoshinobu Launch Complex LP-2 · Tanegashima Space Center, Japan
    T− 2d 00:15:42 Go SSO
  2. Falcon 9 Block 5 | Starlink Group 10-54 SpaceX · Falcon 9 Block 5 Space Launch Complex 40 · Cape Canaveral SFS, FL, USA
    T− 2d 11:48:43 Go LEO

Monday, June 15UTC

  1. Kinetica 1 | Unknown Payload CAS Space · Kinetica 1 Launch Area 130 · Jiuquan Satellite Launch Center, People's Republic of China
    T− 5d 03:01:43 Go
  2. Falcon 9 Block 5 | Starlink Group 17-54 SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    T− 5d 13:21:43 Go LEO
  3. Spectrum | Onward and Upward Isar Aerospace · Spectrum Orbital Launch Pad · Andøya Spaceport
    T− 5d 19:21:43 TBC SSO

Tuesday, June 16UTC

  1. Long March 3B/E | Unknown Payload China Aerospace Science and Technology Corporation · Long March 3B/E Launch Complex 2 (LC-2) · Xichang Satellite Launch Center, People's Republic of China
    T− 6d 09:06:43 Go

Wednesday, June 17UTC

  1. Long March 12 | Unknown Payload China Aerospace Science and Technology Corporation · Long March 12 Commercial LC-2 · Wenchang Space Launch Site, People's Republic of China
    T− 7d 01:21:43 TBC
  2. Falcon 9 Block 5 | BlueBird Block 2 #3-5 SpaceX · Falcon 9 Block 5 Space Launch Complex 40 · Cape Canaveral SFS, FL, USA
    T− 7d 06:00:43 Go LEO
  3. Falcon 9 Block 5 | NROL-179 SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    T− 7d 08:29:43 TBC
  4. Ariane 64 Block 2 | Amazon Leo (LE-03) Arianespace · Ariane 64 Block 2 Ariane Launch Area 4 · Guiana Space Centre, French Guiana
    T− 7d 11:14:43 Go LEO
  5. Electron | Ten Owl Of Ten (StriX Launch 10) Rocket Lab · Electron Unknown Pad · Rocket Lab Launch Complex 1, Mahia Peninsula, New Zealand
    T− 7d 20:01:43 Go SSO

Saturday, June 20UTC

  1. Falcon 9 Block 5 | Globalstar 2-R Mission 1 (x 9) SpaceX · Falcon 9 Block 5 Space Launch Complex 40 · Cape Canaveral SFS, FL, USA
    T− 10d 06:00:43 TBC LEO

Tuesday, June 23UTC

  1. Long March 7A | Unknown Payload China Aerospace Science and Technology Corporation · Long March 7A 201 · Wenchang Space Launch Site, People's Republic of China
    T− 13d 01:21:43 TBC

Unscheduledwindow passed · date TBD

  1. Zhuque-2E Block 2 | 2 x SatNet DTC test satellites LandSpace · Zhuque-2E Block 2 Launch Area 96A · Jiuquan Satellite Launch Center, People's Republic of China
    window passed · snapshot Success LEO
  2. Electron | The Grain Goddess Provides (iQPS Launch 7) Rocket Lab · Electron Unknown Pad · Rocket Lab Launch Complex 1, Mahia Peninsula, New Zealand
    TBD TBD LEO
  3. GSLV Mk II | GISAT-1A (EOS-05) Indian Space Research Organization · GSLV Mk. II Satish Dhawan Space Centre Second Launch Pad · Satish Dhawan Space Centre, India
    TBD TBD GTO
  4. Pegasus XL | Swift Rescue Mission Northrop Grumman Space Systems · Pegasus XL Kwajalein Atoll · Air launch to orbit
    TBD TBD LEO
  5. Smart Dragon 3 | Unknown Payload China Rocket Co. Ltd. · Smart Dragon 3 Haiyang offshore launch location · Haiyang Oriental Spaceport
    TBD TBD
  6. South Korean ADD Solid-Fuel SLV | Demo Flight Agency for Defense Development · South Korean ADD Solid-Fuel SLV ADD Offshore launch platform · Sea Launch
    TBD TBD LEO
  7. Falcon 9 Block 5 | SDA Tranche 1 Tracking Layer A SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  8. Falcon 9 Block 5 | SDA Tranche 1 Tracking Layer C SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  9. Falcon 9 Block 5 | SDA Tranche 1 Tracking Layer E SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  10. Falcon 9 Block 5 | SDA Tranche 1 Transport Layer A SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  11. Falcon 9 Block 5 | SDA Tranche 1 Transport Layer D SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  12. Falcon 9 Block 5 | SDA Tranche 1 Transport Layer E SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  13. Falcon 9 Block 5 | SDA Tranche 1 Transport Layer F SpaceX · Falcon 9 Block 5 Space Launch Complex 4E · Vandenberg SFB, CA, USA
    TBD TBD PO
  14. Falcon 9 Block 5 | Sirius SXM-11 SpaceX · Falcon 9 Block 5 Space Launch Complex 40 · Cape Canaveral SFS, FL, USA
    TBD TBD GTO

How it's built

Every launch is an ordinary <li> with its NET timestamp in a data attribute. A 1-second clock turns distance-to-T−0 into a weight, writes it back as a CSS custom property, and the type carries the measurement. No canvas, no chart library — the only moving part is time. On top of the clock sit two live channels the engine writes back every frame — --d (local density, gathered by data-hot on hover) and --field-attention (the recipe's eased attention) — which touch only ink; the 1 Hz weight ramp is untouched. The day / week / month toggle re-renders the records zone from the same launch list and re-applies the scoped field over the new bodies — full cards in day, compact cards in week, chips in month — and every channel keeps working.

1 — each launch is a field body

HTML
<!-- each launch is a body. data-feedback: the engine writes
     --d (live local density) back every frame. data-hot:
     hover/focus a card and the field gathers toward it —
     hold the hero and its countdown burns brighter. -->
<li
  data-body="attract"
  data-strength="1.43"
  data-feedback
  data-hot
  data-net="2026-06-11T04:00:00Z"
  data-status="Go"
  style="--w: 0.646; --cat: #2dd4bf;"
>
  <!-- name · provider · countdown -->
</li>
  • data-net — the no-earlier-than instant the clock measures against
  • data-strength — gravitational mass, re-set every second
  • --cat — the status color the CSS mixes in
  • data-feedback — opt in to --field-* writebacks (--d)
  • data-hot — hover/focus gathers the field toward this card

2 — one clock, three geometries

// the world-time kernel — 1 at T−0,
// log-ramping from 0 across the horizon:
import { imminence, weightToStrength }
  from "@fundamental-engine/core";

// every second, for every launch:
const netMs = Date.parse(row.dataset.net);
const w = netMs > Date.now()
  ? Math.max(0.08, // the page's floor
      imminence(netMs, Date.now(),
        30 * 24 * 36e5)) // 30-day horizon
  : 0.08; // window passed · snapshot

row.style.setProperty("--w", w);
row.dataset.strength =
  weightToStrength(w).toFixed(2);
// the 0.4..2.0 attract-body contract

// the scoped field runs invisible (renderless)
// and asks for the attention metric lane —
// the pipeline writes --field-attention per
// card (eased 0..1):
field = applyRecipe(zone, base, {
  renderless: true,
  extraMetrics: ["attention"],
  /* …bodies below */
});

The soonest launch is the heaviest; as its T−0 approaches the ramp steepens, so the page's center of gravity slides toward the pad. The day / week / month toggle swaps the entire geometry under the same bodies — the field doesn't care about the layout; it measures whatever geometry you give it. That's the lesson of this page.

3 — CSS reads the field's output

CSS
.cal-row {
  /* --w = imminence (1 Hz clock) · --d = live engine
     density, data-hot gathers it · --field-attention =
     the recipe's eased attention */
  --live: var(--d, 0);
  opacity: calc(0.58 + var(--w) * 0.42);
  box-shadow: 0 0 calc(var(--live) * 16px) -6px
    color-mix(in srgb,
      var(--cat) calc(var(--live) * 55%), transparent);
}
/* the rail dot charges with the density */
.cal-row::before {
  transform: translateY(-50%)
    scale(calc(1 + var(--live) * 0.35));
}
/* hold the hero — the T-minus digits burn brighter */
.cal-hero-count {
  text-shadow: 0 0 calc(var(--live) * 18px)
    color-mix(in srgb,
      var(--cat) calc(var(--live) * 65%), transparent);
}