Outputs, the Content renderer (None · Layout · Partial), and delegation.
An output is a serialization of the content, not a file extension. One type may declare many; today the common ones are:
A page renders through a chain the output owns, chosen outside-in:
document template (the shell)
└─ Content renderer: None | Layout | Partial
└─ the asset's fields / authored body
data-accent-content region receives the page body inside it; without
one it renders as-is (static output). Nothing warns and nothing blocks.If a content type's HTML output binds no template, each page of that type chooses its own shell: the page configure panel grows a Template picker (same chooser, same no-slot warning). The effective shell is:
type's template ?? page's own template ?? default shell
Binding a template on the type hides — and stops honoring — the page-level choice; there is no per-page override of a bound type.
This is the import pattern: bring N static templates in, make one type with no template bound, and each page picks its import. Slot-less templates render as-is, so a scraped site becomes: one type, N pages, N templates.
On the content type (Manage Site → Content Types → the type → Outputs): the template select, then the Content renderer radio. On the page (only when the type abstains): the configure panel's Template picker. The document map shows the result — template-shell pages root their body under a Page content — Template header, the same reading a layout page gives.
The content model — design record — rev 4 ("the template inversion: views choose outside-in"), the Content renderer naming, the warn-don't-block binding amendment, and delegation, in order.