The concept plan promises that navigating between pages, shared blocks morph to their new position via the View Transitions API — the portfolio teaser on the home page becomes the portfolio hero. The message: same system, rearranged.
This study builds it: nine named blocks, four pages that score them differently, real cross-document transitions between the pages, a rehearsal that runs the same morph in place, a hold that stops time at the midpoint so the morph can be looked at, and an instrument that reads what the browser actually animated. Tonight's draw said motion is where the whole proposition either lands or curdles
; this is the page where it has to land.
Nine identities on one stage. Choose a post and the stage re-scores itself in place inside a same-document view transition: blocks the post keeps morph to their new place and size, a block the post lacks leaves (it sinks), a block the post adds arrives (it rises). Turn on the hold and the next transition stops at its midpoint — every snapshot half-way — so you can see what a morph is made of; turn it off, or press release, and time resumes. The readout is not a description of what should have happened: it lists the browser's own animations, one per block, and times the transition to its finished promise.
Blocks that survive navigation.
PLANE +1
PERSISTS
persist.js, written as --c --s --r --rs per edition; the names are classes in persist.css.edition · time is stopped at the midpoint · 400 ms · the snick curveThree posts, each a page of its own, each scoring the same identities for itself. Every page that loads persist.css opts into cross-document transitions with one declaration, and the browser does the rest: it photographs this page, lays out the next, matches the names, and morphs the difference. Go to a post and watch; go and hold, and the post arrives with time stopped at the midpoint, a release button waiting. Come back here and the readout beside the heading will tell you what travelled — from post C, say, to this page's own rehearsal stage, whatever it is showing. The site nav is named too, so the chrome stays put while the content moves.
| Law | Says | Why |
|---|---|---|
| identity | a block persists only if it carries the same name on both pages; names are roles, never positions | the plan's "same system, rearranged" is a claim about identity; a page that lacks a name lets that block leave, and that is the whole grammar of exits |
| score | each post places the same identities by --c --s --r --rs per edition, written before first paint; DOM order is identity order on every page | the new page must be laid out before the browser photographs it, and reading order must not depend on the score |
| type | a block that carries words keeps its span and rows on every post; empty fields may change size | a scaled snapshot of type is a smear; a scaled snapshot of a colour is a colour. Type travels, never stretches |
| motion | a morph is membership; an entrance rises, an exit sinks, as in assembly and the nursery; the page crossfades; 400 ms, the snick curve; the chrome holds still | motion may only communicate structure — and these are the three structural events a composition has |
| depth | the plane +1 shadow travels with its block, offset one microcolumn as ever; a window keeps its inset shade | the plan's figure two: depth cues obey the grid. The snapshot includes the block's ink, so the cue is captured, not re-drawn |
| degrade | no cross-document transitions → ordinary navigation and the same page; reduced motion → nothing travels, everything crossfades | the plan's contract, verbatim: no View Transitions → normal navigation. The composition never depends on the garnish |
| measure | the readouts list the browser's own animations during the transition (one per pseudo-element) and time it to finished; #hold pauses them all at their midpoint | an instrument that inferred what should have moved would be a caption. This one reads what did |
node axi/draw.js 2026-09-27·3A third session on the same day, so a third draw with the date suffixed. Two of the five are this study's; one was answered an hour earlier by AXI-008; two considered.
The quiet innovation is kind inference : the markdown is the schema.considered; not answered — the authoring pipeline is the client build's, not the studio's
Motion is where "breaks with conventional commercial web design" either lands or curdles.answered: this is the study — persistence is the plan's least-seen motion, and the page is built so that it lands or is seen to curdle, at the midpoint, held
Curation, not placement, is the workflow for those zones: generate fifty, keep three, hand-tune one — the AI-first pipeline in miniature.answered an hour earlier, by AXI-008; considered here and left alone
Two to watch, not lean on yet: anchor positioning for annotation callouts, text-box-trim for optically perfect block typography.considered; text-box-trim was leaned on in AXI-007 and AXI-013 — the plan's caution is out of date, and the log has said so
FIG 2 · depth cues obey the grid: hard shadows offset by exactly one microcolumn, recession shown through cut windows with inset shade, parallax reserved for structure.answered as a law and a test: the plane +1 pop travels with its shadow in the snapshot, the window arrives with its inset shade; hold the midpoint and look
finished. The teaser became the hero; the sky sank on the way to post A and rose again on the way to B; the claim travelled at its own size with its words crossfading; the pop carried its shadow. Nothing was re-rendered by a script during any of it.pagereveal fires at the first render opportunity, which can come before a script at the end of the body has run; the first version of the instrument missed the event on most arrivals. The record is now taken by an inline script in the head and handed to the extension, and a render-blocking link rel=expect holds the first frame until the score has been written onto the blocks, so the browser captures the page laid out, not the page arriving.pageswap reports no transition, and the arrival reads "ordinary navigation". The readout says so rather than guessing. The plan's fallback is exercised more often than it expected — by tabs opened in the background.--c --s --r --rs per edition from one table, hidden where a post lacks them; an exit is nothing more than a page without the name. The whole extension is a table, a class list and seven pseudo-element rules; the engine's stylesheet did not change.