# Nine formats

A format is a way of unfolding the same model: a story is a sequence of **scenes**. A scene is a
slide, a shot, a panel, a page, a section, a card. Everything else — navigation, pagination, timing,
layout — belongs to the format, never to the source.

## The set, and the reason for each

| Format     | A scene is…        | It exists because                                                                | Today       |
| ---------- | ------------------ | -------------------------------------------------------------------------------- | ----------- |
| `deck`     | a slide            | the most common reason people leave their editor                                 | **shipped** |
| `motion`   | a shot             | a launch video repeats the deck, word for word, in another tool                  | **shipped** |
| `docs`     | a page             | the documentation is already Markdown; it should accept the same blocks          | **shipped** |
| `report`   | a section          | numbers in a report come from data, and should not be retyped                    | specified   |
| `toon`     | a panel            | a vertical scroll episode is a story with scenes, and translations drift fastest | specified   |
| `book`     | a chapter          | long-form print needs pagination, not slides                                     | specified   |
| `roadmap`  | a milestone        | a public roadmap is a story that changes; it should be generated, not maintained | specified   |
| `calendar` | an event           | dates are data, and an `.ics` nobody has to update by hand is worth having       | specified   |
| `stories`  | a full-screen card | social cards are the shortest form of the same content, and the most duplicated  | specified   |

Three are real; six are written down in enough detail to be built, and not built. That distinction
is kept visible everywhere, because a vision that quietly claims shipped features is a sales page.

## Bridges are the point

If a format is a function of a story, two functions can take the same argument. That is what makes
the set worth more than the sum:

- a **deck becomes a film** — the same scenes, timed instead of clicked;
- a **report becomes a deck** — the sections that carry a number become slides;
- an **episode becomes a vertical film**, a **roadmap becomes a calendar**, a **story becomes a set
  of cards**.

A bridge is not an export. An export produces a file you then maintain separately; a bridge
re-renders the same source, so the two outputs cannot disagree.

## What earns a tenth format

Not "it would be nice". A format joins the set when it answers yes to all four:

1. **Its content is already a sequence of scenes.** If it is not, it is a block or a tool, not a
   format — which is how `:::form`, `::map` and the glossary ended up as blocks usable everywhere
   rather than formats of their own.
2. **Someone is currently duplicating content to produce it.** The whole premise is removing a copy;
   a format nobody duplicates into saves nothing.
3. **It shares the model.** No new `kind`, no parallel schema, no second type system.
4. **It can be rendered without the tool being present.** A file you can keep.

Two candidates passed recently and became formats scheduled after 1.0: a **glossary and directory**
format, and an **atlas** — a geographic story where a scene is a view of a map. Three others passed
as blocks instead.

## The one that is not a format

Documentation is rendered by the site framework (`@recit/site`), not by a Récit format package. That
is deliberate: documentation sites are a solved problem, and reimplementing one to own the whole
stack would be the exact kind of duplication this project exists to remove.
