The composition of structured content from modular blocks, balancing the fluidity of prose with the precision of structured data.
Adding blocks
Whichever way it’s triggered, the menu opens right where the current actor’s focus is. There’s no need to say where, so picking a block and placing it are one gesture.
Floating menu
…
Slash commands
…
Passing to LLM
…
References
…
Contextual actions
Select block(s) or text spans and invoke LLM from contextual menu.
Co-editing & attribution
…
Consequences
- each block carries only as much structure as currently serves it, gained or shed in place, so formalising is local and reversible instead of a commitment made before the work starts
- the block is now the unit of everything the surface does — selecting, referencing, moving, commenting — so anything that addresses content addresses blocks, whether or not that matches how the actor thinks of what they wrote
- every position in the document is a place where anything could go next, which puts the weight on saying what without having to say where
Appears in
Making changes
- Selecting what to change and where to change it, step 2 — within Let the actor change the item where it is shown: the same blocks are used for reading and editing, with no separate mode for either
Related patterns
Enables
- Selection — the surface in which content selection happens
Hosts
- AI completion — the block editor is a natural container for AI completion
Enacts
- Formality — incremental formalisation — content carries only as much structure as currently serves, gained or shed in place, optional and reversible
Related to
- Editing in place — the block editor assumes this move — reading and changing happen on the same blocks, with no separate state for either
Enabled by
- Command menu — picking a block and placing it; summoned at the current position