// 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
// 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
-
A-001
2026.04.18
Edge-bundling for citation graphs at corpus scale
graphs
-
A-002
2026.03.22
Verlet integration on the unit torus
simulation
-
A-003
2026.02.07
Quiet hypertext: notes toward Project Xanadu, 2026
hypertext
-
A-004
2026.01.14
Reading as a force field: a quantitative model
cognition
-
A-005
2025.12.30
Generative cartography: maps that re-draw themselves
art
// 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.
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.