Skip to content

The concept map — Function · Form · Substance · Finish

z0 canvas
z1 atmosphere
z2 content → component
$2.4Brevenue
42%margin
$1.1Bcash
z3 chrome
Q3 RESULTSRevenue ahead of plan
SlideWright● ● ● ○ ○04 / 12
z4 annotation

Scroll — the concept lattice drills into Form, which becomes the slide.

drag to orbit

Lattice has concepts on two levels, and they are one system at two scales. The four axes say how a slide is decided; the structural nouns say how Form is built; the Component is where they meet.

A slide is composed along four orthogonal axes — Function, Form, Substance, Finish. Form is the structural axis, and it resolves into a containment tree: a Frame divides the slide into Cells; each Cell holds a Tile.

Drag to orbit the model, or pull the Drill control to push into the Form node — the other axes fall away and Frame · Cell · Tile fan into depth, the same move the hero plays on scroll. The four axes are mutually orthogonal — swap one and the others hold. The structural spine is containment and selection: a Frame carves the slide into Cells, and each Cell holds a Tile — the seam between a slicer and what fills it is what makes this a lattice rather than a flat list.

Four independently-swappable decisions, each owned by a different audience and enforced in a different place. That separation is the point: each audience owns exactly one axis without reaching into another’s.

AxisHuman wordThe questionOwned by
FunctionPurposewhat’s the point of this slide?deck authors
FormLayouthow is it composed?layout designers
SubstanceContentwhat fills it?engine maintainers
FinishStylewhat should it feel like?theme designers

The one word the model legislates against is “look” — it collides between Layout (Form) and Style (Finish), so “make it look different” is resolved into one or the other before acting.

Form is the only axis that decomposes into structural nouns — because it is the only one whose answer is itself a composed structure: a Frame carves the slide into Cells, and each Cell holds a Tile. Function only classifies, Substance fills the Cells, and Finish styles the whole tree — none of those has a structure of its own, so none needs a noun set. Their “level 2” is a flat vocabulary: the four Substance sources, the Finish variant tiers.

NounIsChanges when…
Framea slicer — carves a box into sub-boxesa composition pattern is added (a new layout)
Cella typed slot — sized, positioned, resolution-blindthe layout/geometry changes (a slot moves)
Tilea filler — a leaf sized to fill one Cella data source changes

The full structural model — z-planes, the resolution-blind Cell contract, the manifest — is the Form model.

A Component fills the content Tile and owns its own internal layout there. It selects a Frame for the slide and binds Substance into the Cells that Frame produces; it carries a Function and receives Finish — the join, on one slide. A Bucket is orthogonal bookkeeping: the disk grouping of components (mostly one-to-one with Function; a few — chart, diagram, math, code, legal — diverge to colocate a shared renderer or authoring vocabulary).

The same concept appears at three levels of concreteness, and the jumps are the whole pipeline: a slide is built by realizing abstract types as catalog data, then interpreting that data into pixels.

RungWhat it isExample
1 — abstracta type / axis / kind — vocabulary and schemathe Form axis; the Frame slicer kind
2 — concrete-as-dataa catalog entry — manifest / CSS on disk, validatedthe split-panel Frame manifest; the cards-grid component
3 — concrete-at-renderthe realized instance — pixels in the PDFthis slide’s carved boxes, resolved Cells, populated Tiles

The four axes live entirely at rung 1 — they are dimensions of decision, not things. Form’s three nouns each span all three rungs. The catch: rung 2 only looks concrete — the data is inert until render; the only rung that is truly instantiated is the slide itself.

This map isn’t only prose. The vocabulary of every concept and the structural relationships between them are encoded as machine-readable catalogs the engine reads, and a drift gate keeps them in step with what Lattice actually ships — so the map can’t claim a concept, count, or relationship the engine doesn’t have. How each piece is encoded and enforced — the field, catalog, and gate behind it — is the engine’s concern, and lives in the concept model in code (engineering/architecture.md).