// node_00 N: 0   E: 0

A living network of
scientific knowledge.

xanadu.science is a continuous laboratory -- an experimental cartography of interconnected research, rendered as a generative particle field that reorganizes with attention. Move the cursor; the network responds.

112 active nodes
348 edges /s
5 clusters
60 fps
enter the network // drag the cursor to attract nodes
// research / 01 DOI: 10.4321/x.0001

Hypertext as living substrate

Following Ted Nelson's original Xanadu vision, we treat every citation as a bidirectional thread. Each node in the network maps a paper, a dataset, or a question; each edge marks a transclusion -- a piece of one document quietly held inside another.

  • Two-way links across the corpus
  • Versioned, time-addressable text
  • Micropayment-free open transclusion
// research / 02 f = 0.02

Particle simulations of attention

The background you are watching is not decoration. It is a Verlet-damped field of 112 agents whose target positions are recomputed each time you scroll. The system models reading itself as a force.

// research / 03 r < 150 px

Cursor-reactive proximity fields

Within a 150 px radius the nearest agents brighten and curve toward the pointer. This is local-illumination: a tiny pocket of bright nodes travels with you across the field as you read.

// research / 04 cluster: scroll-driven

Scroll-driven topology

As you descend the page, the particle field re-seeds its cluster centers around the section currently in view. The knowledge network literally reorganizes around your attention -- an animated, embodied table of contents.

01 hero
02 research
03 archive
04 methods
05 contact
// archive / index entries: 5 / 248

Selected archive

// method / a dt = 16.6 ms

Continuous-time field

A single requestAnimationFrame loop integrates the particle field. Velocity is damped to 0.92 each tick; targets drift smoothly with eased interpolation toward cluster centroids.

// per-frame integration
p.vx += (target.x - p.x) * 0.012;
p.vy += (target.y - p.y) * 0.012;
p.vx *= 0.92;
p.vy *= 0.92;
p.x  += p.vx; p.y += p.vy;
// method / b k = 5

k-nearest illumination

On every frame the five particles closest to the cursor are scored and their glow radii are interpolated up to 15 px. Their connection edges rise to full opacity in 300 ms.

  • O(n) scan, n = 112
  • Glow drawn as radial gradient
  • Edge alpha ~ 1 / (1 + d²)
// method / c grid = 60 px

Coordinate grid

A barely-visible grid (rgba 100, 200, 255 / 0.03) is drawn first each frame. It is the only static element in the canvas -- a quiet spatial reference for the otherwise flowing field.

// transmit 02:14:08 UTC

Open the channel

The laboratory is open at all hours. Submit a question, a citation, or a dataset. Replies arrive in plain text, by light.

cursor x: 0   y: 0 cluster: hero