The lead · rank 01
Obsession (2025 film)- readsWikipedia's most-read pages
- becomespageviews → mass (placement + weight); day-over-day → polarity
- writes
--w--cat - you seethe lead earns its slot; risers run warm, fallers cool, new entries gray
No canvas is drawn here — the field is invisible; these variables are its only output. Without it you would build: an editor reordering the page every morning.
field-ui · invisible fields · newsroom
Attention, measured — not claimed.
A trending list asserts importance; a pageview count records it. These are the articles English Wikipedia readers actually read on June 8, 2026 — the Wikimedia pageviews API's most-read ranking, run as a field and laid out like a front page. Pageviews become gravitational mass, and mass buys column inches: the most-read article takes the lead slot, the next six fill the deck, the rest settle into the index — with heavier type, darker ink, a stronger left rule the more the world read.
The day-over-day change polarizes each body: rising attention warms,
falling attention cools, and the magnitude sets the intensity — a 3% drift barely
registers, a 200% surge burns. Articles that weren't in the prior day's list at all read
as new, in neutral gray — no fake direction. The placement is fixed —
a front page is set in type — but the ink is alive: the engine writes
its live local density back as --d, so holding a story makes the field
gather around it, and the index item nearest the center of your view sharpens as you
scroll. Toggle the field off and the ink flattens and the live channels
go dark: the placement stays (it is the day's ranking), but the field's weighting lets go.
size & placement = pageviews — the most-read story leads the page · color = the day-over-day move — warm rising, cool falling, gray new
edition: June 8, 2026 (UTC)
- Aa size & placement = pageviews — lead, deck, then the index
- color = the cycle's direction — warm rising · cool falling
- new = absent from the prior day's list
- ink = alive — hold a story and the field gathers (
--d); placement never moves
- 05 2026 Peruvian general election
- 06 2026 FIFA World Cup
- 07 Backrooms (film)
- 08 Alexander Zverev
- 09 Masters of the Universe (2026 film)
- 10 Christian Eriksen
- 11 Deaths in 2026
- 12 Peddi
- 13 79th Tony Awards
- 14 Killing of Rachel Nickell
- 15 Spencer Pratt
- 16 Scary Movie (2026 film)
- 17 Stacey King
- 18 Inde Navarrette
- 19 ChatGPT
- 20 Ford Creek Patrol Cabin
- 21 Nelly Korda
- 22 Nithya Raman
- 23 Michael Jackson
- 24 2026 Armenian parliamentary election
- 25 .xxx
- 26 Jalen Brunson
- 27 Béla Pap
- 28 Robert Napper
- 29 Manav Suthar
- 30 Teach You a Lesson
- 31 FIFA World Cup
- 32 Lewis Hamilton
- 33 2026 Gilgit Baltistan Assembly election
How it's built
Every article is an ordinary <li> with its raw counts in data
attributes. field-ui reads them, runs an invisible field over the front page, and the type
carries the measurement — pageviews as weight and placement, the day's swing as color. No
canvas, no chart library. Four channels do the work: --w is the server-computed
weight, --cat the lens color, --d the engine's live local density
(hold a story and the field gathers), and --field-attention the recipe's eased
attention metric, which sharpens the index item nearest the viewport center. Placement is
fixed; only the ink is alive. In the browser the page also checks for a newer edition —
once per visit, on purpose: the pageviews API publishes each finished day
exactly once, so a polling loop would be theater. If a newer day exists, the front page is
rebuilt from it — same shaping rules, same markup, same field — and the dateline moves.
1 — each article is a field body
<li
data-body="attract"
data-strength="1.87"
data-feedback
data-hot
data-views="291972"
data-prior="303010"
style="--w: 0.920; --cat: hsl(212 38% 59%);"
>
<!-- rank · title · views -->
</li> data-strength— gravitational mass from log-normalized pageviewsdata-views/data-prior— the raw counts the lens reads--cat— the polarity color the CSS mixes indata-hot— the engine's live density (--d) gathers toward 1 while held
2 — CSS reads the field's output
.nw-row {
/* --w = log-normalized views (0..1).
--d = the engine's LIVE local density —
data-hot gathers it toward 1 on hold. */
--live: var(--d, 0);
opacity: calc(0.58 + var(--w) * 0.42);
border-left: 3px solid
color-mix(in srgb,
var(--cat) calc(18% + var(--w) * 82%),
var(--line));
}
/* the index item nearest the viewport
center sharpens — the recipe's eased
attention metric, written per record */
.nw-index-item .nw-title {
letter-spacing: calc(-0.01em
+ var(--field-attention, 0) * 0.01em);
}
Weight, ink, font heft, and border intensity all read from one normalized attention
score; the lead's headline ink and rule breathe with the live --d — the
field drives the measurement; CSS drives the presentation.
3 — the polarity ramp
// day-over-day move → --cat:
// direction is hue, magnitude is
// intensity; no prior count = new.
const pct = prior
? ((views - prior) / prior) * 100
: null;
if (pct === null) return "#8a93a6";
const t = Math.min(1, Math.abs(pct) / 60);
return pct >= 0
? `hsl(${32 - t * 10} …)` // warm
: `hsl(${208 + t * 12} …)`; // cool