Slide types
Deckyard ships 35 built-in slide types: 35 offered when you add a slide, and 0 retired ones that still render, because a deck that stops opening is a deck you have lost.
This page is the exhaustive field list, generated from the same registry that builds the editor form, runs validation and generates the JSON Schemas. For the same types as a visual catalogue with layout diagrams, see the slide-type spec; for a guided tour of what each one is for, see Slide Types.
Reading the tables
Section titled “Reading the tables”- Key is the property name inside a slide’s
contentobject. - Required means the importer will not blank it; an absent or empty value falls back to the type default.
- Limit is the maximum length in characters, where the type declares one.
- Options lists the accepted values of an enumerated field.
- Every type also accepts the global fields below.
The line under each heading carries what the type declares about itself, none of which is part of its JSON Schema - the schema describes a slide’s content, and these are statements about the type:
- Tier is how far our promise goes. Tier 1 is the normative core profile a conforming implementation renders; tier 2 we ship and publish, but it versions with the app.
- Structure is the shape of the primary content, and it is the axis worth building a reader against: six values cover every type.
- Runtime is what the presenting session has to do beyond serving the slide
(
static- nothing,timed- a presenter-driven clock,live- the audience answers and the session aggregates), with the kind of answer alivetype collects in brackets. - Falls back to is the tier-1 contract to degrade to when you have not implemented the type. Every tier-2 type declares one, which is why a reader that knows only the nine still renders every deck without dropping content.
All four are readable from GET /api/slide-types on any instance, and the
argument behind them is on the conformance page.
Each type’s JSON Schema is served at
https://deckyard.eu/schema/v15/slide-types/<type>.schema.json — see
JSON Schemas for how to fetch it.
Fields every type carries
Section titled “Fields every type carries”The 9 accessibility, background and logo fields below are added to every slide type rather than declared on each one. They are listed here once instead of 35 times.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
a11yTitle | Accessibility title | string | No | 140 | — |
a11ySummary | Accessibility summary | string | No | 280 | — |
slideBgImage | Background image | image | No | — | — |
slideBgFit | Background fit | enum | No | — | cover, contain |
slideBgFocusX | Background focus X | number | No | — | — |
slideBgFocusY | Background focus Y | number | No | — | — |
slideBgOverlay | Background overlay | enum | No | — | auto, none, light, dark, gradient-top, gradient-bottom |
slideBgText | Text colour | enum | No | — | auto, light, dark |
slideLogo | Theme logo | enum | No | — | none, top-right |
Basics
Section titled “Basics”Title slide — title-slide
Section titled “Title slide — title-slide”Identity eu.deckyard.slide.title · tier 1 · structure singleton · runtime static.
Big title and subtitle to open with.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subtitle | string | No | 160 | — |
meta | Meta | string | No | 160 | — |
background | Background | enum | No | — | lime, mist |
logoCorner | Logo corner | enum | No | — | left, right |
titleBlockAlign | Title block alignment | enum | No | — | left, center |
Layout variants: block-left (Left), block-center (Centred).
Section title — chapter-title-slide
Section titled “Section title — chapter-title-slide”Identity eu.deckyard.slide.chapter-title · tier 1 · structure singleton · runtime static.
Section divider between topics.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
titleBlockAlign | Title block alignment | enum | No | — | left, center |
title | Title | string | Yes | 140 | — |
subheading | Subheading | string | No | 160 | — |
layout | Layout | enum | No | — | top, center, bottom |
Layout variants: block-left (Left), block-center (Centred).
Text slide — content-slide
Section titled “Text slide — content-slide”Identity eu.deckyard.slide.content · tier 1 · structure singleton · runtime static.
A heading with body text.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
layout | Text columns | enum | No | — | two-column, one-column |
density | Text size | enum | No | — | auto, compact |
body | Body (Markdown) | markdown | Yes | 3000 | — |
asideVariant | Aside | enum | No | — | none, note, tip, warning |
asideText | Aside text | markdown | No | 300 | — |
background | Background | enum | No | — | lime, mist |
actions | Action buttons | items | No | — | — |
Each item in actions:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Button label | string | Yes | 40 | — |
url | URL | url | Yes | 500 | — |
style | Style | enum | No | — | primary, secondary, outline |
Layout variants: one-column (One column), two-column (Text in two columns), split-narrow (Image 1/3), split-half (Image 1/2), split-wide (Image 2/3), top (Row above), bottom (Row below), beside (Beside text), corner (Corner image).
List — list-slide
Section titled “List — list-slide”Identity eu.deckyard.slide.list · tier 1 · structure collection · runtime static.
A bulleted or numbered list.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 160 | — |
variant | Style | enum | No | — | bullets, numbers |
layout | Layout | enum | No | — | auto, one-column, two-column |
density | Text size | enum | No | — | auto, comfortable, compact |
asideVariant | Aside | enum | No | — | none, note, tip, warning |
asideText | Aside text | markdown | No | 300 | — |
background | Background | enum | No | — | lime, mist |
items | Items | items | Yes | — | — |
headerAlign | Header alignment | enum | No | — | left, center |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 80 | — |
text | Text (single line) | string | No | 120 | — |
Layout variants: block-left (Left), block-center (Centred).
Quote — quote-slide
Section titled “Quote — quote-slide”Identity eu.deckyard.slide.quote · tier 1 · structure singleton · runtime static.
A pull quote with attribution.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
quoteAlign | Quote block alignment | enum | No | — | left, center |
quote | Quote | string | Yes | 400 | — |
authorName | Name | string | Yes | 80 | — |
authorTitle | Role / title | string | Yes | 120 | — |
authorImage1 | Portrait photo 1 (optional) | image | No | — | — |
authorImage1Alt | Portrait 1 alt text (optional) | string | No | 180 | — |
authorImage2 | Portrait photo 2 (optional) | image | No | — | — |
authorImage2Alt | Portrait 2 alt text (optional) | string | No | 180 | — |
quotes | Extra quotes (optional, max 2) | items | No | — | — |
Each item in quotes:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
quote | Quote | string | Yes | 400 | — |
authorName | Name | string | No | 80 | — |
authorTitle | Role / title | string | No | 120 | — |
authorImage | Portrait photo 1 (optional) | image | No | — | — |
authorImageAlt | Portrait 1 alt text (optional) | string | No | 180 | — |
authorImage2 | Portrait photo 2 (optional) | image | No | — | — |
authorImage2Alt | Portrait 2 alt text (optional) | string | No | 180 | — |
Layout variants: block-left (Left), block-center (Centred).
Image + text — image-text-slide
Section titled “Image + text — image-text-slide”Identity eu.deckyard.slide.image-text · tier 1 · structure singleton · runtime static.
An image beside text.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
body | Body (Markdown) | markdown | Yes | 3000 | — |
image | Image | image | No | — | — |
imageRole | Image role | enum | No | — | content, decorative |
alt | Alt text | string | No | 180 | — |
caption | Caption | string | No | 160 | — |
focusX | Focus X | number | No | — | — |
focusY | Focus Y | number | No | — | — |
fit | Image fit | enum | No | — | cover, contain |
imageSide | Image position | enum | No | — | left, right |
imageWidth | Image width | enum | No | — | half, narrow, wide |
layout | Layout | enum | No | — | split, corner |
imageBackground | Image background | enum | No | — | white, match |
density | Text size | enum | No | — | auto, compact |
asideVariant | Aside | enum | No | — | none, note, tip, warning |
asideText | Aside text | markdown | No | 300 | — |
background | Background | enum | No | — | lime, mist |
actions | Action buttons | items | No | — | — |
Each item in actions:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Button label | string | Yes | 40 | — |
url | URL | url | Yes | 500 | — |
style | Style | enum | No | — | primary, secondary, outline |
Layout variants: text (Text only), split-narrow (Image 1/3), split-half (Image 1/2), split-wide (Image 2/3), corner (Corner image), beside (Beside text), top (Row above), bottom (Row below).
Images + text — image-set-slide
Section titled “Images + text — image-set-slide”Identity eu.deckyard.slide.image-set · tier 2 · structure collection · runtime static · falls back to image-text-slide.
Two or three images with text.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
body | Body (Markdown) | markdown | Yes | 3000 | — |
images | Images | items | Yes | — | — |
caption | Caption | string | No | 160 | — |
imageRole | Image role | enum | No | — | content, decorative |
layout | Layout | enum | No | — | beside, top, bottom |
imageSide | Image position | enum | No | — | left, right |
imageWidth | Image width | enum | No | — | half, narrow, wide |
textColumns | Text columns | enum | No | — | 1, 2 |
imageBackground | Image background | enum | No | — | white, match |
density | Text size | enum | No | — | auto, compact |
asideVariant | Aside | enum | No | — | none, note, tip, warning |
asideText | Aside text | markdown | No | 300 | — |
background | Background | enum | No | — | lime, mist |
actions | Action buttons | items | No | — | — |
Each item in images:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
src | Image URL | image | No | — | — |
alt | Alt text | string | No | 180 | — |
fit | Image fit | enum | No | — | cover, contain |
focusX | Focus X | number | No | — | — |
focusY | Focus Y | number | No | — | — |
Each item in actions:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Button label | string | Yes | 40 | — |
url | URL | url | Yes | 500 | — |
style | Style | enum | No | — | primary, secondary, outline |
Layout variants: beside (Beside text), top (Row above), bottom (Row below), split-half (Image 1/2), text (Text only).
Video — video-slide
Section titled “Video — video-slide”Identity eu.deckyard.slide.video · tier 2 · structure singleton · runtime static · falls back to content-slide.
An embedded video.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 100 | — |
source | Video URL or Bunny ID (YouTube/Vimeo URL, Bunny embed URL, or Bunny video UUID) | string | Yes | 400 | — |
background | Background | enum | No | — | lime, mist |
autoplay | Autoplay | enum | No | — | off, on |
watchUrl | Watch link for the PDF export | string | No | 400 | — |
bunnyLibraryId | Bunny library ID | string | No | 20 | — |
Image blocks — team-cards-slide
Section titled “Image blocks — team-cards-slide”Identity eu.deckyard.slide.team-cards · tier 2 · structure collection · runtime static · falls back to list-slide.
Image blocks in a grid.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 220 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
subheading2 | Right group subheading | string | No | 220 | — |
members | Members | items | No | — | — |
background | Background | enum | No | — | lime, mist |
textPosition | Text position | enum | No | — | below, split |
imageShape | Image shape | enum | No | — | rounded, square, circle |
imageAspect | Image aspect | enum | No | — | square, original |
showPhotoFrame | Show photo frame | enum | No | — | off, on |
columnSplit | Column split | enum | No | — | “, 1, 2, 3, 4, 5 |
Each item in members:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
image | Photo | image | No | — | — |
alt | Photo alt text | string | No | 180 | — |
imageFocusX | Focus X | number | No | — | — |
imageFocusY | Focus Y | number | No | — | — |
name | Title | string | No | 80 | — |
byline | Caption | string | No | 120 | — |
linkedin | LinkedIn URL | url | No | 300 | — |
Logo wall — logo-wall-slide
Section titled “Logo wall — logo-wall-slide”Identity eu.deckyard.slide.logo-wall · tier 2 · structure collection · runtime static · falls back to image-slide.
A wall of logos.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
headerAlign | Header alignment | enum | No | — | left, center |
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 220 | — |
background | Background | enum | No | — | lime, mist |
logos | Logos | items | No | — | — |
Each item in logos:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
image | Logo image | image | No | — | — |
name | Name | string | No | 80 | — |
alt | Alt text | string | No | 180 | — |
link | Link URL | url | No | 500 | — |
Layout variants: block-left (Left), block-center (Centred).
Image slide — image-slide
Section titled “Image slide — image-slide”Identity eu.deckyard.slide.image · tier 1 · structure singleton · runtime static.
A single full-bleed image.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 80 | — |
subheading | Subheading | string | No | 140 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
image | Image | image | No | — | — |
imageRole | Image role | enum | No | — | content, decorative |
alt | Alt text | string | No | 180 | — |
caption | Caption | string | No | 160 | — |
focusX | Focus X | number | No | — | — |
focusY | Focus Y | number | No | — | — |
fit | Image fit | enum | No | — | cover, contain |
bleed | Edge-to-edge | boolean | No | — | — |
layout | Layout | enum | No | — | full, bleed, centered |
background | Background | enum | No | — | lime, mist |
zoomSteps | Zoom steps | enum | No | — | “, corners, horizontal, vertical, quadrants, custom |
zoomLevel | Zoom level | number | No | — | — |
zoomPositions | Custom zoom positions | string | No | 500 | — |
Embed — embed-slide
Section titled “Embed — embed-slide”Identity eu.deckyard.slide.embed · tier 2 · structure singleton · runtime static · falls back to content-slide.
Embed an external page or iframe.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
embedUrl | Embed URL (HTTPS only) | string | Yes | 500 | — |
aspectRatio | Aspect ratio | enum | No | — | 16:9, 4:3, 1:1, auto |
sandbox | Sandbox mode | enum | No | — | restricted, permissive |
background | Background | enum | No | — | lime, mist |
Gallery — gallery-slide
Section titled “Gallery — gallery-slide”Identity eu.deckyard.slide.gallery · tier 2 · structure collection · runtime static · falls back to image-slide.
A grid of images.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
layout | Layout | enum | No | — | grid, masonry, featured |
images | Images | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in images:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
src | Image URL | image | Yes | — | — |
focusX | Focus X | number | No | — | — |
focusY | Focus Y | number | No | — | — |
caption | Caption | string | No | 100 | — |
alt | Alt text | string | No | 200 | — |
Layouts
Section titled “Layouts”Icon cards — icon-card-grid-slide
Section titled “Icon cards — icon-card-grid-slide”Identity eu.deckyard.slide.icon-card-grid · tier 2 · structure collection · runtime static · falls back to list-slide.
Cards with an icon and label.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
layout | Layout | enum | No | — | cards, tiles |
bottomSubheading | Bottom subheading | string | No | 200 | — |
items | Cards | items | No | — | — |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
icon | Icon | string | No | 40 | — |
title | Title | string | No | 80 | — |
body | Body | markdown | No | 700 | — |
link | Link URL | url | No | 500 | — |
Text blocks — text-blocks-slide
Section titled “Text blocks — text-blocks-slide”Identity eu.deckyard.slide.text-blocks · tier 2 · structure collection · runtime static · falls back to list-slide.
Several labelled text blocks.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
rows | Rows | items | No | — | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
row1Count | Row 1 blocks | enum | No | — | 1, 2, 3, 4, 5, 6 |
row1Color | Row 1 color | enum | No | — | yellow, black |
row1Block1Title | Row 1 Block 1 title | string | No | 80 | — |
row1Block1Body | Row 1 Block 1 body | markdown | No | 500 | — |
row1Block2Title | Row 1 Block 2 title | string | No | 80 | — |
row1Block2Body | Row 1 Block 2 body | markdown | No | 500 | — |
row1Block3Title | Row 1 Block 3 title | string | No | 80 | — |
row1Block3Body | Row 1 Block 3 body | markdown | No | 500 | — |
row1Block4Title | Row 1 Block 4 title | string | No | 80 | — |
row1Block4Body | Row 1 Block 4 body | markdown | No | 500 | — |
row1Block5Title | Row 1 Block 5 title | string | No | 80 | — |
row1Block5Body | Row 1 Block 5 body | markdown | No | 500 | — |
row1Block6Title | Row 1 Block 6 title | string | No | 80 | — |
row1Block6Body | Row 1 Block 6 body | markdown | No | 500 | — |
arrow1 | Arrow after row 1 | enum | No | — | none, down, up |
row2Enabled | Row 2 | enum | No | — | no, yes |
row2Title | Row 2 heading | string | No | 120 | — |
row2Count | Row 2 blocks | enum | No | — | 1, 2, 3, 4, 5, 6 |
row2Color | Row 2 color | enum | No | — | yellow, black |
row2Block1Title | Row 2 Block 1 title | string | No | 80 | — |
row2Block1Body | Row 2 Block 1 body | markdown | No | 500 | — |
row2Block2Title | Row 2 Block 2 title | string | No | 80 | — |
row2Block2Body | Row 2 Block 2 body | markdown | No | 500 | — |
row2Block3Title | Row 2 Block 3 title | string | No | 80 | — |
row2Block3Body | Row 2 Block 3 body | markdown | No | 500 | — |
row2Block4Title | Row 2 Block 4 title | string | No | 80 | — |
row2Block4Body | Row 2 Block 4 body | markdown | No | 500 | — |
row2Block5Title | Row 2 Block 5 title | string | No | 80 | — |
row2Block5Body | Row 2 Block 5 body | markdown | No | 500 | — |
row2Block6Title | Row 2 Block 6 title | string | No | 80 | — |
row2Block6Body | Row 2 Block 6 body | markdown | No | 500 | — |
arrow2 | Arrow after row 2 | enum | No | — | none, down, up |
row3Enabled | Row 3 | enum | No | — | no, yes |
row3Title | Row 3 heading | string | No | 120 | — |
row3Count | Row 3 blocks | enum | No | — | 1, 2, 3, 4, 5, 6 |
row3Color | Row 3 color | enum | No | — | yellow, black |
row3Block1Title | Row 3 Block 1 title | string | No | 80 | — |
row3Block1Body | Row 3 Block 1 body | markdown | No | 500 | — |
row3Block2Title | Row 3 Block 2 title | string | No | 80 | — |
row3Block2Body | Row 3 Block 2 body | markdown | No | 500 | — |
row3Block3Title | Row 3 Block 3 title | string | No | 80 | — |
row3Block3Body | Row 3 Block 3 body | markdown | No | 500 | — |
row3Block4Title | Row 3 Block 4 title | string | No | 80 | — |
row3Block4Body | Row 3 Block 4 body | markdown | No | 500 | — |
row3Block5Title | Row 3 Block 5 title | string | No | 80 | — |
row3Block5Body | Row 3 Block 5 body | markdown | No | 500 | — |
row3Block6Title | Row 3 Block 6 title | string | No | 80 | — |
row3Block6Body | Row 3 Block 6 body | markdown | No | 500 | — |
headerAlign | Header alignment | enum | No | — | center, left |
Each item in rows:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Row heading | string | No | 120 | — |
color | Color | enum | No | — | yellow, black |
blocks | Blocks | items | No | — | — |
arrow | Arrow after row | enum | No | — | none, down, up |
Each item in blocks:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 80 | — |
body | Body | markdown | No | 500 | — |
Layout variants: block-center (Centred), block-left (Left).
Process — process-slide
Section titled “Process — process-slide”Identity eu.deckyard.slide.process · tier 2 · structure collection · runtime static · falls back to list-slide.
Sequential steps with arrows.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
direction | Direction | enum | No | — | horizontal, vertical |
items | Steps | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Step title | string | Yes | 60 | — |
text | Step description | string | No | 200 | — |
Timeline — timeline-slide
Section titled “Timeline — timeline-slide”Identity eu.deckyard.slide.timeline · tier 2 · structure collection · runtime static · falls back to list-slide.
Events along a timeline.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
items | Timeline items | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
date | Date / label | string | Yes | 30 | — |
title | Title | string | Yes | 60 | — |
text | Description | string | No | 200 | — |
Table — table-slide
Section titled “Table — table-slide”Identity eu.deckyard.slide.table · tier 1 · structure tabular · runtime static.
A data table.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
caption | Caption | string | No | 240 | — |
headerRow | Header row | enum | No | — | on, off |
tableStyle | Table style | enum | No | — | plain, panel, soft |
cornerCell | Top-left cell | enum | No | — | label, header |
animateByCell | Animate by cell | enum | No | — | off, on |
rows | Rows | items | No | — | — |
colCount | Columns | enum | No | — | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
background | Background | enum | No | — | lime, mist |
Each item in rows:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
c1 | C1 | string | No | 400 | — |
c2 | C2 | string | No | 400 | — |
c3 | C3 | string | No | 400 | — |
c4 | C4 | string | No | 400 | — |
c5 | C5 | string | No | 400 | — |
c6 | C6 | string | No | 400 | — |
c7 | C7 | string | No | 400 | — |
c8 | C8 | string | No | 400 | — |
c9 | C9 | string | No | 400 | — |
c10 | C10 | string | No | 400 | — |
KPI — kpi-metrics-slide
Section titled “KPI — kpi-metrics-slide”Identity eu.deckyard.slide.kpi-metrics · tier 2 · structure collection · runtime static · falls back to list-slide.
Big numbers with deltas.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
background | Background | enum | No | — | lime, mist |
accent | Accent | enum | No | — | none, highlight-best, highlight-risk |
countUp | Count-up animation | enum | No | — | off, on |
metrics | Metrics | items | No | — | — |
headerAlign | Header alignment | enum | No | — | left, center |
Each item in metrics:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
value | Value | string | No | 30 | — |
unit | Unit | string | No | 12 | — |
label | Label | string | No | 60 | — |
note | Note | string | No | 100 | — |
Layout variants: block-left (Left), block-center (Centred).
Chart — chart-slide
Section titled “Chart — chart-slide”Identity eu.deckyard.slide.chart · tier 2 · structure dataset · runtime static · falls back to table-slide.
A bar, line or pie chart.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 220 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
chartType | Chart type | enum | Yes | — | bar, line, pie |
data | Data (CSV/TSV) | csv | Yes | 20000 | — |
pieLabelMode | Pie labels | enum | No | — | none, value, %, both |
showLegend | Legend | enum | No | — | yes, no |
showValues | Show values | enum | No | — | yes, no |
xLabel | X label | string | No | 80 | — |
yLabel | Y label | string | No | 80 | — |
series1Label | Series 1 label (legend) | string | No | 80 | — |
series2Label | Series 2 label (legend) | string | No | 80 | — |
background | Background | enum | No | — | lime, mist |
headerAlign | Header alignment | enum | No | — | left, center |
Layout variants: block-left (Left), block-center (Centred).
Comparison — comparison-slide
Section titled “Comparison — comparison-slide”Identity eu.deckyard.slide.comparison · tier 2 · structure singleton · runtime static · falls back to table-slide.
Two options side by side.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
leftTitle | Left title | string | Yes | 100 | — |
leftBody | Left content | markdown | Yes | 2000 | — |
rightTitle | Right title | string | Yes | 100 | — |
rightBody | Right content | markdown | Yes | 2000 | — |
verdict | Verdict | string | No | 100 | — |
variant | Treatment | enum | No | — | versus, before-after, pros-cons, tradeoff |
background | Background | enum | No | — | lime, mist |
Matrix — matrix-slide
Section titled “Matrix — matrix-slide”Identity eu.deckyard.slide.matrix · tier 2 · structure fixed-collection · runtime static · falls back to table-slide.
A 2×2 quadrant matrix.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
cells | Cells | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in cells:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Cell title | string | Yes | 40 | — |
body | Cell content | markdown | Yes | 1000 | — |
tone | Tone | enum | No | — | default, positive, negative, neutral |
Funnel — funnel-slide
Section titled “Funnel — funnel-slide”Identity eu.deckyard.slide.funnel · tier 2 · structure collection · runtime static · falls back to list-slide.
Stages narrowing to a goal.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
items | Stages | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Stage label | string | Yes | 60 | — |
value | Value/metric | string | No | 30 | — |
text | Description | string | No | 120 | — |
Pyramid — pyramid-slide
Section titled “Pyramid — pyramid-slide”Identity eu.deckyard.slide.pyramid · tier 2 · structure collection · runtime static · falls back to list-slide.
A layered hierarchy pyramid.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
levels | Levels | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in levels:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Level label | string | Yes | 60 | — |
text | Description | string | No | 120 | — |
Cycle — cycle-slide
Section titled “Cycle — cycle-slide”Identity eu.deckyard.slide.cycle · tier 2 · structure collection · runtime static · falls back to list-slide.
A repeating cycle of stages.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
subheading | Subheading | string | No | 200 | — |
bottomSubheading | Bottom subheading | string | No | 200 | — |
centerLabel | Center label | string | No | 60 | — |
items | Stages | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
Each item in items:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
label | Stage label | string | Yes | 40 | — |
text | Description | string | No | 80 | — |
Interaction
Section titled “Interaction”Countdown timer — countdown-slide
Section titled “Countdown timer — countdown-slide”Identity eu.deckyard.slide.countdown · tier 2 · structure singleton · runtime timed · falls back to content-slide · the audience takes part.
A countdown timer.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | No | 120 | — |
durationMinutes | Minutes | number | No | — | — |
durationSeconds | Seconds | number | No | — | — |
autoStart | Auto-start | enum | No | — | off, on |
flashOnZero | Flash red at zero | enum | No | — | on, off |
soundOnZero | Beep at zero | enum | No | — | off, on |
zeroText | Text at zero | string | No | 60 | — |
background | Background | enum | No | — | lime, mist, dark, accent, brand-1, brand-2, custom |
Poll — poll-slide
Section titled “Poll — poll-slide”Identity eu.deckyard.slide.poll · tier 2 · structure collection · runtime live (poll) · falls back to list-slide · the audience takes part.
A live audience poll.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
question | Question | string | Yes | 200 | — |
options | Answers | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
onClose | When closed | enum | No | — | stay, next, goto |
onCloseTarget | Target slide ID | string | No | 100 | — |
Each item in options:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
text | Answer | string | Yes | 120 | — |
Likert (agree/disagree) — likert-slide
Section titled “Likert (agree/disagree) — likert-slide”Identity eu.deckyard.slide.likert · tier 2 · structure collection · runtime live (likert) · falls back to list-slide · the audience takes part.
An agree/disagree rating.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
question | Vraag / Question | string | Yes | 200 | — |
options | Scale labels | items | Yes | — | — |
background | Background | enum | No | — | lime, mist |
onClose | When closed | enum | No | — | stay, next, goto |
onCloseTarget | Target slide ID | string | No | 100 | — |
Each item in options:
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
text | Label | string | Yes | 120 | — |
Likert slider (1–10) — likert-slider-slide
Section titled “Likert slider (1–10) — likert-slider-slide”Identity eu.deckyard.slide.likert-slider · tier 2 · structure singleton · runtime live (likert) · falls back to content-slide · the audience takes part.
A 1–10 slider rating.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
question | Stelling / Statement | string | Yes | 200 | — |
minLabel | Label links (1) | string | No | 120 | — |
maxLabel | Label rechts (10) | string | No | 120 | — |
background | Background | enum | No | — | lime, mist |
Feedback — feedback-slide
Section titled “Feedback — feedback-slide”Identity eu.deckyard.slide.feedback · tier 2 · structure singleton · runtime live (feedback) · falls back to content-slide · the audience takes part.
Collect open text feedback.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
question | Question | string | Yes | 200 | — |
placeholder | Placeholder | string | No | 120 | — |
background | Background | enum | No | — | lime, mist |
Follow-along invite — follow-invite-slide
Section titled “Follow-along invite — follow-invite-slide”Identity eu.deckyard.slide.follow-invite · tier 2 · structure chrome · runtime static · falls back to content-slide · the audience takes part.
A QR code to follow along.
No type-specific fields; it carries the global fields only.
Callout — callout-slide
Section titled “Callout — callout-slide”Identity eu.deckyard.slide.callout · tier 2 · structure singleton · runtime static · falls back to content-slide.
One insight, warning or definition on its own slide.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
variant | Kind | enum | Yes | — | insight, warning, definition, note, tip |
label | Label / term | string | No | 80 | — |
body | Body | markdown | Yes | 600 | — |
source | Source | string | No | 160 | — |
background | Background | enum | No | — | lime, mist |
Payoff — payoff-slide
Section titled “Payoff — payoff-slide”Identity eu.deckyard.slide.payoff · tier 2 · structure chrome · runtime static · falls back to end-slide.
A closing payoff statement.
No type-specific fields; it carries the global fields only.
Custom HTML — custom-html-slide
Section titled “Custom HTML — custom-html-slide”Identity eu.deckyard.slide.custom-html · tier 2 · structure singleton · runtime static · falls back to content-slide.
Your own HTML and CSS, for anything else.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
html | HTML | code | No | 20000 | — |
css | CSS | code | No | 10000 | — |
background | Background | enum | No | — | lime, mist |
End / Contact — end-slide
Section titled “End / Contact — end-slide”Identity eu.deckyard.slide.end · tier 1 · structure singleton · runtime static.
A closing slide with contact details.
| Key | Label | Type | Required | Limit | Options |
|---|---|---|---|---|---|
title | Title | string | Yes | 120 | — |
body | Body (Markdown) | markdown | No | 500 | — |
contactName | Contact name | string | No | 80 | — |
contactEmail | email | No | 120 | — | |
contactPhone | Phone | string | No | 40 | — |
contactUrl | Website | url | No | 200 | — |
social1Label | Social link 1 label | string | No | 40 | — |
social1Url | Social link 1 URL | url | No | 200 | — |
social2Label | Social link 2 label | string | No | 40 | — |
social2Url | Social link 2 URL | url | No | 200 | — |
background | Background | enum | No | — | lime, mist |