A manifest is a block that holds a whole union grid of its own: the lattice a set piece crystallizes on, bounded on every side by the block it lives in. This study makes it an entity rather than a picture — it chooses its own edition by its own width, it carries a genome, it can be cloned into another slot and mutated down its own lineage — and then writes, in the calmer space between the manifests, what that means. From a musing by Dan (2026-09-13), with the thumbnail question from AXI-004 attached.
Four manifests with the same genome — seed 11, three genes — in four block sizes on one stage. Each chooses its pair by its own width, by container query and not by the viewport: 7×5 from 540 pixels, 5×3 from 270, 3×2 below; its rows follow its height so that a row is about one and three-quarter microcolumns tall, the engine's own proportion. The corner of each reports what it chose. The butter block reports the identity check: the manifest whose pair matches the page's own is regenerated by the engine's generator for the same seed and rows, and the two compositions are compared block for block. Resize the window and the four re-edition themselves; the note re-reads.
Six windows and one manifest. Clone seats a copy of the selected manifest in the next empty window — same genome, so in a slot of the same size it is identical to the pixel. Mutate draws the next gene from the genome's own seed and generation and expresses it: a tile recoloured, split or merged into its neighbour, a breakout shifted a column or flipped between glass and opaque. Survivors snick to their new places, births rise, deaths sink. The clone and the parent share every gene up to the branch and none after it, and the lineage below says so. Cull returns a manifest's window to the paper. Select by clicking a manifest, or with the arrow keys. Nothing is stored; reload and the nursery starts again with one.
The plan gives the passage between set pieces one instruction — mode: prose, interstitial, a comfortable measure — and this studio has used it on every page without asking what the boundary is. Below, the writing about manifests is done in that space, with two manifests in it as figures: bounded to the prose measure, four page rows tall, choosing their pair by the measure's width. The readout above measures the measure.
The Snick System has always had two kinds of space and one grid. There is the stage — a box on the union microgrid where blocks assemble, overlap, cast shadows and are counted — and there is the passage between stages, sixty-four characters wide, where the reader is asked to do nothing but read. The plan calls the second an interstitial mode and gives it one instruction: a comfortable measure. Every study in this studio has used both without asking what the boundary between them is.
Dan's musing, from which this study comes, proposed an answer: the intense grid work happens on bounded lattices — manifests — and the calm space between them is where the long-form writing lives. A manifest is not a stage that has been made smaller. It is a block, placed like any other on the page's grid, that holds a whole union grid of its own, edged on every side. Inside it the pair, the rows, the slivers and the planes are its own; outside it the page goes on being the page. The word is Dan's and it is exact: a manifest is what a set piece looks like once it has crystallized out of the writing — a solid with faces, that could be picked up and put down somewhere else.
Being bounded is what makes it an entity. Because a manifest owns its width it can choose its own edition: seven by five when it is wide enough to count thirty-five microcolumns, five by three below that, three by two in the pocket. This is the plan's reframe applied one level down: not one layout squeezed, but the broadsheet, the tabloid and the pocket edition of one publication, chosen by the block rather than by the viewport. It answers the question the grid clock left open. The thumbnail clock failed because a twelve-row face cannot be counted at two rows' height; a thumbnail manifest does not fail, because it stops being a broadsheet before it becomes uncountable.
Being an entity is what makes it cloneable. A manifest's identity is its genome — a seed and the genes that have been expressed on it — not its pixels. Two clones in slots of the same size are identical; the same clone in a narrower slot is a pocket edition of itself; and the first gene applied to either sends it down its own lineage. The nursery above is the whole argument in six windows. The figure below this paragraph is the figure above it, five generations later: the same seed, five genes expressed in order, in the same measure.
And the space between is where this can be said. The prose does not compete with the manifests for the reader's eye because it is not on their lattice; it is on the type's — a measure, a leading, a paragraph. The plan's one instruction for it turns out to be enough. What the manifests give the writing is a reason to stop: a place where the argument becomes a thing, and then the writing resumes.
Third session with the draw. The queue said Manifests; five sentences from the archive, seeded by the date, said the same thing five times over — and then furnished the brief:
- mode: prose # interstitial — comfortable measurethe plan's score, naming the register · answered by construction: Study C is written in it, and its readout measures the comfortable measure
A block can appear in many scores; a score is the sheet music a page plays.answered: a genome appears in many slots (Study B) and at many pairs (Study A); which score a manifest plays is decided by its width
The reframe: think of device classes as editions of a publication — the broadsheet, the tabloid, the pocket edition — not as one layout progressively squeezed.answered as law 2: a manifest chooses its own edition by container query; this made Study A about editions rather than about countability
(Cyan over butter yields a specific green; we decide once whether we like that green.)answered as law 7: the ledger decided once, in AXI-003; every gene that would draw a ghost or a null pane is silent, at every generation
Reduced-motion contract: every figure degrades to a crossfade; the sound is opt-in only, and plausibly an easter egg rather than a default.answered as law 6, the first half: snick, rise and sink all degrade to a crossfade under prefers-reduced-motion; there is no sound here to opt into
draw.js| Constant | Value | Why |
|---|---|---|
| pair | 7×5 ≥ 540px · 5×3 ≥ 270px · 3×2 below | a container query on the manifest's own width; at the threshold a microcolumn is 15–18px, the narrowest the engine's own editions ever draw |
| rows | round(height ÷ (1.75 × microcolumn)) · 3–12 | the engine's row-to-microcolumn proportion at L (56 ÷ 32); rows are equal fractions of the block's height, so the lattice is bounded both ways |
| base phenotype | the engine's generator, verbatim | BSP tiling, colours, breakouts and ledger checks ported from snx.js; Study A's identity check proves it in the browser |
| gene | op · index · k | drawn from hash(seed:generation), so a lineage is reproducible from its genome string alone; k seeds the gene's own rng |
| ops | recolor .35 · split .25 · merge .15 · shift .15 · flip .10 | colour is the cheapest change and the most legible; structure changes rarer; glass rarest, and ledger-checked |
| target | first legal tile at or after index mod count, reading order | expressed at the current pair; the same gene finds a different tile in a different edition, or none — a recolour always lands, a split needs two columns or four rows, a merge needs a neighbour sharing a whole edge |
| silent | a gene with no legal effect here | recorded in the genome regardless — it may express in a clone of another size |
| one signal | one signal tile, one ink tile | the engine's rule survives every recolour: a new signal demotes the old to sky |
| ledger | ghost · null → silent | glass breakouts checked against window.LEDGER at every expression, as the generator does since v0.1.4 |
| motion | FLIP 400ms snick · rise 400ms · sink 400ms ease-in | on the snick curve; births stagger 45ms in reading order, as assembly does |
| reduced motion | 300ms crossfade, all figures | the plan's contract; no transform is ever applied |
| hidden tab | no animation | a mutation in a hidden tab lands instantly; nothing catches up on return |
| nursery | 6 slots · equal size per edition | so a clone is identical until it diverges; on the phone the slots are one column wide and the manifests are pocket editions |
ch unit is the zero's advance, which is wider than the average letter. The classic comfortable measure is 45–75 characters, so the studio's prose runs long on the desktop and is fine on the phone. Recommended upstream: set the prose measure in characters measured, not in ch — about 56ch for 72 characters. Not changed here; it is the engine's law, and a utility run if Dan agrees.