AXI-020 · Exploration · shipped 2026-10-16

Chrome

The question has been open since the persistence study: is the chrome — the header, the navigation, the footer that every page shares — named site-wide, and can the hand-read census be its instrument? This page answers by wearing the answer. The header above is a hand-placed manifest on the page's grid, read by the shore's census; the mark stands on the base grid and the links on the overlay grid, so the chrome is itself an interference figure; it carries no signal; it is sticky, and when the page scrolls under it the sheet lifts to plane +1 with the engine's hard shadow; its parts are named once in a stylesheet so they hold across a navigation; at the phone's edition the links fold into a menu that opens as a second row of the same stage; and the footer counts the page it stands under.

Study A · The chrome, read

The header is a shore: .sh[data-hand] around an open stage, which the peninsulas study's reader takes as the union of its blocks and gives the same census as any coast. At 7×5 the mark is a base block in column 1 (microcolumns 0–5) and the three links are overlay blocks in overlay columns 2, 3 and 4 (microcolumns 7–28), the census block the fifth; the gap between the mark's right edge and the first link's left edge — two microcolumns — is the two grids disagreeing, which is the system's signature, on the one block every page shows. At 5×3 the overlay has three columns and the links step down to the base grid; at 3×2 they fold into the menu. chart hatches the sea cells of the chrome's row, grids draws both grids over it.

show
reading…
Two charts. The shore's chart is in base cells and cannot see a block on the overlay grid — at 7×5 it reads one cell of land, the mark — so the chrome keeps a second chart at microcolumn resolution, where the links appear and the gaps between the two grids are counted. A chart at the union's resolution is the upstream note from this study.edition · the chrome is one row

Study B · Stuck is a plane

The header is position: sticky. At the top of the page it is plane 0, a row of blocks on the paper like any other. The moment the page scrolls under it, it is hovering over content, and the system has a word for a block that hovers: plane +1, with the hard shadow one microcolumn right and three-eighths of a row down. So the sheet the chrome stands on — the paper under its blocks, which lifts with them — gets the engine's shadow when and only when the chrome is stuck, by @container scroll-state(stuck: top) where the browser has it and by a sentinel and a class everywhere; the readout says which. The draw's fourth sentence is the doctrine: motion may only communicate structure — depth is structure, and a shadow that appears because the page moved is depth communicating. gaps lets the page show between the blocks instead of the sheet, to see why the sheet is there.

gaps

Scroll. The chrome lifts a plane and says so.

This set piece is here to be scrolled under. The header above it is the same row of blocks it was at the top of the page; only its plane has changed, and the shadow is the engine's own, not a drop shadow.

Why the sheet. The chrome is blocks with paper between them, and when it floats the paper between would show the page scrolling through the gaps. The sheet is the paper lifted with the blocks: the chrome hovers as one piece, which is what a header is.stuck by —

Study C · Named site-wide

The persistence study asked whether the chrome is named site-wide. It is now: the mark, the three links, the census block and the footer each carry a view-transition-name declared once in chrome.css, and @view-transition { navigation: auto } is in the same file, so any two pages that load the stylesheet cross with the chrome held — its groups have no animation, so they neither fade nor move unless the score moved them — while the page's content fades. The listener is in the head, as AXI-006 found it had to be. Page B is a second page with the same chrome and different content; the readout below says how this page was arrived at, and the button leaves for B two seconds after it is pressed, which is the only fair test under automation (AXI-006, finding 3): a hand on the link is better still.

or by hand
reading the arrival…
What should hold. Across a navigation between this page and B, the chrome's six groups exist and do not animate; the content's one root group cross-fades. A hidden tab gets no transition and says so.edition

Study D · The client's seven

The live site's menu is Home · About · Build it · Lead it · Solve it · How we work · Book a meeting: seven items, and the base grid has seven columns. Set on the base grid, one item a column, with the three pillars carrying the glyphs AXI-015 drew for them. The call to action is the one place a client header wants a signal, and the law says no: Book a meeting rests in navy and lights in the signal on hover, because a header that opened every page with a signal moment would be two signals on every viewport that starts at the top. At 5×3 the three pillars fold into one Services block that carries all three glyphs; at 3×2 the seven become three rows of the same stage — a header that is a small manifest rather than a hamburger. Read by the same census.

Seven on seven. The coincidence is only a coincidence, but it means the client's navigation is a composition on the base grid with no cut: one item, one column. The fork can keep it or not; the census will say what it costs.edition

Study E · The footer is the page's census

The footer at the bottom of this page is a stage of three blocks: who made it, the page's census, and the links. The census is read live — every stage on the page, its rows, its blocks and breakouts, how many carry words, how many are images or glyphs, how many are in the signal colour, and whether any stage is over the one-signal law — and written into the footer by the script. The footer's numbers are the page's own, and a page that broke the law would say so at the bottom. The compact form of the same count is the butter block in the header.

counting…
The chrome is the only block that may read the whole page. Everything else reads its own stage. The header's short form and the footer's long form are the same count.edition
Interstitial · comfortable measure

What the chrome is

Every page of this site has had a header and a footer since the shell, and neither was on the grid: a row of monospace links, a rule, a line of attribution. They were furniture. The question the persistence study left open was whether that furniture is a part of the system — named, so that it can hold while a page changes under it — or a frame the system sits in. The honest answer required building it as the system would, and the first thing that happened is that the chrome stopped being furniture and became a manifest: a row of blocks the shore's reader can chart, with a census, a coast and a heart, like the day's composition. The second thing is that it became the strictest set piece on the site. It is the one that recurs, so it may carry no signal, or every page would open with two; it is the one that floats, so it must say which plane it is on, and the engine's shadow is the only way it can; it is the one that persists, so its parts are named once and hold.

The two grids earned their place in it. The mark stands on the base grid and the links on the overlay grid, and the two-microcolumn gap between them is the signature of the whole system on the one block every visitor sees first — a site that shows its grid, in the draw's words, and breaks it precisely. Below 7×5 the overlay has too few columns and the links step down; at 3×2 they fold into a menu that opens as a second row of the same stage, because a drawer sliding over the page would be a block from another system. And the footer, which was a line of small type, is now the page's census: the chrome is the only block allowed to read the whole page, and it reads it aloud. Is the chrome named site-wide? Yes. Can the hand-read census be its instrument? It already was; the shore just had not been asked.

The draw

seed 2241946847 · from the date ·3 · pool 191

Third study of the night; the draw taken with the date suffixed. Five sentences:

  1. 1 · 17Keep: the palette family (navy / cyan / cream / mint), the first-person punch of the copy ("You have the idea.considered: the plan's list of what the rebuild keeps from the live site; the seven-item menu is on that list by implication and Study D keeps it
  2. 2 · 15A site that shows its grid, names its rules, and then breaks them precisely — one plane up, one plane down, exactly one thirty-fifth off — reads as a practitioner who knows why the defaults exist and where they end.answered as law 2: the chrome is where the site shows its grid — the mark on the base, the links on the overlay, the near-miss between them on every page — and as law 4, one plane up when stuck
  3. 3 · 27Principle 04 The page alternates set pieces and prose.answered as law 3: the chrome is a set piece that recurs on every page, so it is held to the strictest reading — no signal at rest — or the alternation would begin with two set pieces on every page
  4. 4 · 125The doctrine: motion may only communicate structure — assembly, membership, depth — never garnish.answered as laws 4 and 5: the shadow that appears when the chrome is stuck is depth, and the chrome holding across a navigation is membership; nothing in the chrome moves for any other reason
  5. 5 · 183The breakout shapes — the ones hovering with hard, grid-snapped shadows, or sunk behind a cut window — live on the overlay grid of 5 .considered and half-answered: the links live on the overlay grid of 5, and the whole chrome hovers with the hard shadow when stuck — but as a sheet at plane +1, not as five breakouts
Effect. The second sentence put the two grids into the chrome; the fourth gave stuck its plane and persistence its reason.charter §5 · draw.js

The rules, published

argue with the numbers, not the pictures
ConstantValueWhy
the chrome.sh[data-hand] · one row · read by shore.jslaw 1: a hand-placed manifest with a census, like the header on the home page
placementmark base c1 · links overlay c2–4 of 5 (≥ 1024) · base c2–4 (5×3) · menu (3×2)law 2: two grids in the chrome; the overlay has too few columns below 7×5
signalnone at rest · aria-current lit · CTA navy, signal on hoverlaw 3: the chrome begins every viewport
stuckposition: sticky · scroll-state(stuck: top) or a sentinel · the sheet's shadow 1 microcolumn right, ⅜ row downlaw 4: a block that hovers is plane +1 and says so with the engine's shadow
namesch-mark · ch-link-1..3 · ch-census · ch-footer · @view-transition navigation: auto · groups 420 ms, old/new animation: nonelaw 5: declared once; the chrome holds, the content crosses
menu3×2: links display none until .is-open · then --r:2 on the same stage · aria-expandedlaw 6: the menu is a second row, not a drawer
censusstages · rows · blocks · breakouts · with words · images · glyphs · signal blocks · stages over the lawlaw 7: the footer reads the page; the header's butter block is the short form
feed/scorescript: data-stuck, data-stuck-by, data-open, data-arrival, the shore's attributes, body[data-chrome-tally] · stylesheet: the sheet, the shadow, the lit link, the menu, the nameslaw 8

Findings

For the LXD fork