Spec
Slide types
The vocabulary a deck is written in. Each type declares its own fields, and that declaration is what you see below.
A slide type is a small contract: a name, a set of fields, and a shape. It is not a template you fill in and then push around, which is why the same deck can render at any size, on any theme, into HTML or PDF, and be read by something that is not a person. Core ships 35 of them, all declared in one registry; the glyph on each card below is the abstract diagram the editor draws in its own slide picker, from the same description of the layout.
The grid is grouped by the structure each type declares: the shape of its primary content, independent of what the slide is about and how it looks. Six values cover all of them, with no "other" bucket, and this is the axis a second implementation builds against - support a structure and you support every type in it.
A type also declares a runtime: what the presenting session has to do for it beyond serving the slide. For nearly the whole catalogue the answer is nothing - a static type renders with no server in the picture. The 4 live types are the exception: the audience answers, and the session collects and aggregates those answers as state the presenter opens and closes. One type, the countdown, is timed - its clock runs in the presenting window and asks nothing of the session.
Singleton 15 types
A fixed set of scalar slots.
A fixed set of scalar slots. Read the keys the type declares; there is no repetition to walk.
-
Title slide
title-slideBig title and subtitle to open with Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 160 — meta string No 160 — background enum No — lime, mist logoCorner enum No — left, right titleBlockAlign enum No — left, center Layout variants
- Left
- Centred
Reach for it when
- Opening/first slide of any deck
Reach for something else when
- Anything other than the deck opening
-
Section title
chapter-title-slideSection divider between topics Fields and detailFields
Key Type Required Limit Options titleBlockAlign enum No — left, center title string Yes 140 — subheading string No 160 — layout enum No — top, center, bottom Layout variants
- Left
- Centred
Reach for it when
- Introducing a new major section or topic
- Creating visual breaks between different parts of the presentation
- Helping audience understand the structure
Reach for something else when
- Content that needs explanation (use content slides after this)
- Minor sub-topics within a section
-
Text slide
content-slideA heading with body text Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — layout enum No — two-column, one-column density enum No — auto, compact body markdown Yes 3000 — asideVariant enum No — none, note, tip, warning asideText markdown No 300 — background enum No — lime, mist actions items No — Repeats, each item with: label, url, style Layout variants
- One column
- Text in two columns
- Image 1/3
- Image 1/2
- Image 2/3
- Row above
- Row below
- Beside text
- Corner image
Reach for it when
- General explanatory text that does not fit other slide types
- Mixed content (some bullets + some paragraphs)
- Content that is truly freeform
Reach for something else when
- Lists with title+description pairs (use list-slide)
- Parallel items/categories with no causal relationship (use list-slide, or icon-card-grid-slide if each needs an icon)
- Timelines or sequences (use timeline-slide)
- Tables (use table-slide or chart-slide)
- Genuine cause→effect / input→output flows between groups (use text-blocks-slide)
-
Callout
callout-slideOne insight, warning or definition on its own slide Fields and detailFields
Key Type Required Limit Options variant enum Yes — insight, warning, definition, note, tip label string No 80 — body markdown Yes 600 — source string No 160 — background enum No — lime, mist Reach for it when
- A single key takeaway you want to land on its own slide
- A warning or gotcha the audience must not miss
- Defining one term before you use it (variant: definition)
- A short aside or tip that would clutter a content slide
Reach for something else when
- A full argument or several points (use content-slide or list-slide)
- A pull quote with a named speaker (use quote-slide)
- Two options weighed against each other (use comparison-slide)
- A section divider between chapters (use chapter-title-slide)
-
Image + text
image-text-slideAn image beside text Fields and detailFields
Key Type Required Limit Options title string Yes 120 — body markdown Yes 3000 — image image No — — imageRole enum No — content, decorative alt string No 180 — caption string No 160 — focusX number No — — focusY number No — — fit enum No — cover, contain imageSide enum No — left, right imageWidth enum No — half, narrow, wide layout enum No — split, corner imageBackground enum No — white, match density enum No — auto, compact asideVariant enum No — none, note, tip, warning asideText markdown No 300 — background enum No — lime, mist actions items No — Repeats, each item with: label, url, style Layout variants
- Text only
- Image 1/3
- Image 1/2
- Image 2/3
- Corner image
- Beside text
- Row above
- Row below
Reach for it when
- Content where a photo/image adds value
- Product or feature showcases
- Person introductions with photo
- Location or event context
Reach for something else when
- Content without a meaningful image to pair
- Heavy text content (use content-slide or split into multiple)
- Long bodies on the "wide" or "corner" layouts (little text room)
- Two or three images with one shared story (use image-set-slide)
- Many images without text (use gallery-slide)
-
Video
video-slideAn embedded video Fields and detailFields
Key Type Required Limit Options title string No 100 — source string Yes 400 — background enum No — lime, mist autoplay enum No — off, on watchUrl string No 400 — bunnyLibraryId string No 20 — Reach for it when
- Embedded video content
Reach for something else when
- Content without a video URL
-
Quote
quote-slideA pull quote with attribution Fields and detailFields
Key Type Required Limit Options quoteAlign enum No — left, center quote string Yes 400 — authorName string Yes 80 — authorTitle string Yes 120 — authorImage1 image No — — authorImage1Alt string No 180 — authorImage2 image No — — authorImage2Alt string No 180 — quotes items No — Repeats, each item with: quote, authorName, authorTitle, authorImage, authorImageAlt, authorImage2, authorImage2Alt Layout variants
- Left
- Centred
Reach for it when
- Direct quotes from interviews
- Memorable one-liners or punchy statements
- Testimonials or endorsements
- Key takeaways phrased as quotes
Reach for something else when
- Long passages (summarize or use content-slide)
- Multiple quotes (use one quote-slide per quote, spaced apart)
- Back-to-back placement (space them out in the deck)
-
Image slide
image-slideA single full-bleed image Fields and detailFields
Key Type Required Limit Options title string No 80 — subheading string No 140 — bottomSubheading string No 200 — image image No — — imageRole enum No — content, decorative alt string No 180 — caption string No 160 — focusX number No — — focusY number No — — fit enum No — cover, contain bleed boolean No — — layout enum No — full, bleed, centered background enum No — lime, mist zoomSteps enum No — , corners, horizontal, vertical, quadrants, custom zoomLevel number No — — zoomPositions string No 500 — Reach for it when
- Powerful standalone visuals
- Full-bleed photos or screenshots
- Visual breaks in the presentation
Reach for something else when
- Content that needs text explanation (use image-text-slide)
-
Embed
embed-slideEmbed an external page or iframe Fields and detailFields
Key Type Required Limit Options title string No 120 — embedUrl string Yes 500 — aspectRatio enum No — 16:9, 4:3, 1:1, auto sandbox enum No — restricted, permissive background enum No — lime, mist Reach for it when
- Showing a live prototype, board, or dashboard during the talk
- Content that must stay current between rehearsal and delivery
Reach for something else when
- A video (use video-slide)
- A static picture of a tool (use image-slide)
- Any case where you would have to invent the URL
-
Countdown timer Audience
countdown-slideA countdown timer Fields and detailFields
Key Type Required Limit Options title string No 120 — durationMinutes number No — — durationSeconds number No — — autoStart enum No — off, on flashOnZero enum No — on, off soundOnZero enum No — off, on zeroText string No 60 — background enum No — lime, mist, dark, accent, brand-1, brand-2, custom Reach for it when
- Breaks with a stated length ("15 minutes")
- Timeboxed exercises in a workshop deck
Reach for something else when
- Marking a section boundary (use chapter-title-slide)
- A deck that is presented straight through without pauses
-
Likert slider (1–10) Audience
likert-slider-slideA 1–10 slider rating Fields and detailFields
Key Type Required Limit Options question string Yes 200 — minLabel string No 120 — maxLabel string No 120 — background enum No — lime, mist Reach for it when
- "Rate from 1 to 10" questions
- "How likely are you to..." questions
- Confidence or intensity ratings
Reach for something else when
- Labeled categories (use likert-slide)
- Multiple choice (use poll-slide)
-
Feedback Audience
feedback-slideCollect open text feedback Fields and detailFields
Key Type Required Limit Options question string Yes 200 — placeholder string No 120 — background enum No — lime, mist Reach for it when
- Open feedback prompts
- "What should we improve?" questions
- Collecting ideas or suggestions
Reach for something else when
- Structured questions (use poll or likert slides)
-
Comparison
comparison-slideTwo options side by side Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 200 — bottomSubheading string No 200 — leftTitle string Yes 100 — leftBody markdown Yes 2000 — rightTitle string Yes 100 — rightBody markdown Yes 2000 — verdict string No 100 — variant enum No — versus, before-after, pros-cons, tradeoff background enum No — lime, mist Reach for it when
- A vs B comparisons (products, approaches)
- Pros and cons analysis (variant: pros-cons, pros on the left)
- Before vs after transformations (variant: before-after, before on the left)
- Option evaluation and decision support (variant: tradeoff)
Reach for something else when
- More than 2 options (use table-slide or icon-card-grid-slide)
- 2x2 matrices like SWOT (use matrix-slide)
-
Custom HTML
custom-html-slideYour own HTML and CSS, for anything else Fields and detailFields
Key Type Required Limit Options html code No 20000 — css code No 10000 — background enum No — lime, mist -
End / Contact
end-slideA closing slide with contact details Fields and detailFields
Key Type Required Limit Options title string Yes 120 — body markdown No 500 — contactName string No 80 — contactEmail email No 120 — contactPhone string No 40 — contactUrl url No 200 — social1Label string No 40 — social1Url url No 200 — social2Label string No 40 — social2Url url No 200 — background enum No — lime, mist Reach for it when
- Final slide with contact information
- Thank you / closing slide
- Slides where the audience needs follow-up details
Reach for something else when
- Brand-only closing without contact info (use payoff-slide)
- Content slides mid-deck
Collection 15 types
n items of one repeated shape.
One array of items that all share a shape. Walk the array, render the item, repeat.
-
List
list-slideA bulleted or numbered list Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 160 — variant enum No — bullets, numbers layout enum No — auto, one-column, two-column density enum No — auto, comfortable, compact asideVariant enum No — none, note, tip, warning asideText markdown No 300 — background enum No — lime, mist items items Yes — Repeats, each item with: title, text headerAlign enum No — left, center Layout variants
- Left
- Centred
Reach for it when
- Tips, recommendations, or best practices
- Meeting agendas (not roadmaps - those are timeline)
- Steps with short explanations
- Do/don't lists
- Key takeaways or highlights
- Any list where items have both a title AND a brief explanation
Reach for something else when
- NUMERIC HIGHLIGHTS like "220 trajectories" or "10,000 professionals" (use kpi-metrics-slide!)
- Output targets or deliverables with specific numbers (use kpi-metrics-slide)
- Parallel categories that should be compared side-by-side (use card slides)
- Timeline/roadmap with phases over time (use timeline-slide)
- Simple bullets without title+text structure (use content-slide)
-
KPI
kpi-metrics-slideBig numbers with deltas Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 200 — bottomSubheading string No 200 — background enum No — lime, mist accent enum No — none, highlight-best, highlight-risk countUp enum No — off, on metrics items No — Repeats, each item with: value, unit, label, note headerAlign enum No — left, center Layout variants
- Left
- Centred
Reach for it when
- NUMERIC OUTPUT TARGETS: "220 research trajectories", "10,000 professionals"
- Programme deliverables with specific numbers
- Key performance indicators and goals
- Budget figures or funding amounts
- Statistics and metrics that should STAND OUT
- Before/after comparisons with change indicators
- Any 1-4 numbers that are the KEY POINT of the slide
Reach for something else when
- More than 4 metrics (split into multiple slides or use table/chart)
- Qualitative descriptions without clear numeric values
- Lists of activities or processes (use list-slide or text-blocks-slide)
-
Images + text
image-set-slideTwo or three images with text Fields and detailFields
Key Type Required Limit Options title string Yes 120 — body markdown Yes 3000 — images items Yes — Repeats, each item with: src, alt, fit, focusX, focusY caption string No 160 — imageRole enum No — content, decorative layout enum No — beside, top, bottom imageSide enum No — left, right imageWidth enum No — half, narrow, wide textColumns enum No — 1, 2 imageBackground enum No — white, match density enum No — auto, compact asideVariant enum No — none, note, tip, warning asideText markdown No 300 — background enum No — lime, mist actions items No — Repeats, each item with: label, url, style Layout variants
- Beside text
- Row above
- Row below
- Image 1/2
- Text only
Reach for it when
- A small set of 2-3 related images with one shared story
- Before/after or step-by-step visuals that belong on one slide
- A product or location shown from a few angles
Reach for something else when
- One image beside text (use image-text-slide)
- Many images without text (use gallery-slide)
- Heavy text content (use content-slide or split into multiple)
-
Image blocks
team-cards-slideImage blocks in a grid Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 220 — bottomSubheading string No 200 — subheading2 string No 220 — members items No — Repeats, each item with: image, alt, imageFocusX, imageFocusY, name, byline, linkedin background enum No — lime, mist textPosition enum No — below, split imageShape enum No — rounded, square, circle imageAspect enum No — square, original showPhotoFrame enum No — off, on columnSplit enum No — , 1, 2, 3, 4, 5 Reach for it when
- Multiple screenshots / UI captures in one slide (imageAspect: original)
- Testimonials or mixed image grids with short labels
- Team introductions and speaker panels (name + role)
- Advisory boards or committees (up to 25, imageShape: circle)
- Any set of separate images that each want a small Title/Caption
Reach for something else when
- A single hero image (use image-slide)
- One image beside a paragraph of text (use image-text-slide)
- A curated photo gallery with masonry/featured layout (use gallery-slide)
- More than 25 blocks (split into multiple slides)
-
Logo wall
logo-wall-slideA wall of logos Fields and detailFields
Key Type Required Limit Options headerAlign enum No — left, center title string No 120 — subheading string No 220 — background enum No — lime, mist logos items No — Repeats, each item with: image, name, alt, link Layout variants
- Left
- Centred
Reach for it when
- Partner organizations
- Sponsors and funding bodies
- Client logos
- Supporter acknowledgments
- Consortium or coalition members
Reach for something else when
- Detailed partner descriptions (use content-slide or icon-card-grid-slide)
- People (use team-cards-slide)
- Screenshots or photos that want captions (use team-cards-slide or gallery-slide)
-
Icon cards
icon-card-grid-slideCards with an icon and label Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — layout enum No — cards, tiles bottomSubheading string No 200 — items items No — Repeats, each item with: icon, title, body, link Reach for it when
- 4-6 parallel categories or pillars
- Focus areas or strategic priorities
- Company values or principles
- Product features or capabilities
- Workstreams, departments, or teams
- Service offerings
- Benefits or advantages
- Any set of 4-6 things that can each have a meaningful icon
Reach for something else when
- Time-based sequences (use timeline-slide)
- Items that need very long descriptions or bullets (use text-blocks-slide)
- Cause-effect relationships (use text-blocks-slide)
- Simple lists without icons (use list-slide)
-
Poll Audience
poll-slideA live audience poll Fields and detailFields
Key Type Required Limit Options question string Yes 200 — options items Yes — Repeats, each item with: text background enum No — lime, mist onClose enum No — stay, next, goto onCloseTarget string No 100 — Reach for it when
- Audience questions with discrete options
- "Which do you prefer?" style questions
- Quick pulse checks
Reach for something else when
- Open-ended questions (use feedback-slide)
- Scale ratings (use likert slides)
-
Likert (agree/disagree) Audience
likert-slideAn agree/disagree rating Fields and detailFields
Key Type Required Limit Options question string Yes 200 — options items Yes — Repeats, each item with: text background enum No — lime, mist onClose enum No — stay, next, goto onCloseTarget string No 100 — Reach for it when
- Agreement/disagreement questions
- Satisfaction ratings
- Any question with a labeled scale
Reach for something else when
- Multiple choice (use poll-slide)
- Numeric 1-10 rating (use likert-slider-slide)
-
Text blocks
text-blocks-slideSeveral labelled text blocks Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — rows items No — Repeats, each item with: title, color, blocks, arrow bottomSubheading string No 200 — row1Count enum No — 1, 2, 3, 4, 5, 6 row1Color enum No — yellow, black row1Block1Title string No 80 — row1Block1Body markdown No 500 — row1Block2Title string No 80 — row1Block2Body markdown No 500 — row1Block3Title string No 80 — row1Block3Body markdown No 500 — row1Block4Title string No 80 — row1Block4Body markdown No 500 — row1Block5Title string No 80 — row1Block5Body markdown No 500 — row1Block6Title string No 80 — row1Block6Body markdown No 500 — arrow1 enum No — none, down, up row2Enabled enum No — no, yes row2Title string No 120 — row2Count enum No — 1, 2, 3, 4, 5, 6 row2Color enum No — yellow, black row2Block1Title string No 80 — row2Block1Body markdown No 500 — row2Block2Title string No 80 — row2Block2Body markdown No 500 — row2Block3Title string No 80 — row2Block3Body markdown No 500 — row2Block4Title string No 80 — row2Block4Body markdown No 500 — row2Block5Title string No 80 — row2Block5Body markdown No 500 — row2Block6Title string No 80 — row2Block6Body markdown No 500 — arrow2 enum No — none, down, up row3Enabled enum No — no, yes row3Title string No 120 — row3Count enum No — 1, 2, 3, 4, 5, 6 row3Color enum No — yellow, black row3Block1Title string No 80 — row3Block1Body markdown No 500 — row3Block2Title string No 80 — row3Block2Body markdown No 500 — row3Block3Title string No 80 — row3Block3Body markdown No 500 — row3Block4Title string No 80 — row3Block4Body markdown No 500 — row3Block5Title string No 80 — row3Block5Body markdown No 500 — row3Block6Title string No 80 — row3Block6Body markdown No 500 — headerAlign enum No — center, left Layout variants
- Centred
- Left
Reach for it when
- Cause→effect: activities/programmes (A, B, C) that PRODUCE specific outputs
- Input→processing→output flows
- Problem→solution or challenge→response structures
- Before→after transformations
- Strategy→tactics→results chains
- Any 2-3 row structure where each row LEADS TO the next
- Consequence chains: X causes Y, which causes Z. Prefer this over process-slide when nobody performs the steps -- the items are outcomes, not actions
Reach for something else when
- Plain enumerations or lists of points (use list-slide or content-slide)
- Parallel items/categories with NO causal or sequential relationship — use list-slide, or icon-card-grid-slide if each needs an icon
- A single row of blocks used just to group text (use list-slide)
- Single items without grouping (use content-slide)
- Sequential timelines with dates (use timeline-slide)
- Items that each need an icon (use icon-card-grid-slide)
-
Process
process-slideSequential steps with arrows Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — bottomSubheading string No 200 — direction enum No — horizontal, vertical items items Yes — Repeats, each item with: title, text background enum No — lime, mist Reach for it when
- Step-by-step procedures
- Onboarding processes
- Implementation methodologies
- How-to guides with sequential steps
- Project phases
Reach for something else when
- Recurring/cyclical processes (use cycle-slide)
- Timelines with specific dates (use timeline-slide)
- Narrowing conversions (use funnel-slide)
- Chains where each item CAUSES the next rather than being carried out in order (use text-blocks-slide). Test: can you name who performs each step? If yes it is a process; if the items are consequences nobody performs, it is a causal chain
-
Timeline
timeline-slideEvents along a timeline Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 200 — bottomSubheading string No 200 — items items Yes — Repeats, each item with: date, title, text background enum No — lime, mist Reach for it when
- Roadmaps with phases (Q1/Q2/Q3, Year 1/2/3, Phase 1/2/3)
- Company history and milestones
- Project retrospectives and future plans
- Historical event sequences
- Product evolution timelines
- Future development plans
- Now/Next/Later timelines
Reach for something else when
- Meeting agendas (use list-slide)
- Non-sequential items (use icon-card-grid-slide or list-slide)
- More than 10 items (split into multiple slides)
- Processes without dates/phases (use process-slide)
- Undated summary/total lines as items (put them in bottomSubheading)
-
Funnel
funnel-slideStages narrowing to a goal Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — bottomSubheading string No 200 — items items Yes — Repeats, each item with: label, value, text background enum No — lime, mist Reach for it when
- Sales funnels (Leads > Qualified > Closed)
- Marketing funnels (Awareness > Interest > Conversion)
- Recruitment funnels
- Any narrowing process with decreasing numbers
Reach for something else when
- Hierarchies without quantity reduction (use pyramid)
- Processes that don't narrow (use process-slide)
- Circular processes (use cycle-slide)
-
Pyramid
pyramid-slideA layered hierarchy pyramid Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — bottomSubheading string No 200 — levels items Yes — Repeats, each item with: label, text background enum No — lime, mist Reach for it when
- Maslow-style need pyramids
- Priority levels (Critical > High > Medium > Low)
- Organizational hierarchies
- Skill progression pyramids
Reach for something else when
- Narrowing funnels with metrics (use funnel-slide)
- Linear processes (use process-slide)
- Circular processes (use cycle-slide)
-
Cycle
cycle-slideA repeating cycle of stages Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 200 — bottomSubheading string No 200 — centerLabel string No 60 — items items Yes — Repeats, each item with: label, text background enum No — lime, mist Reach for it when
- PDCA (Plan-Do-Check-Act) cycles
- Agile/Scrum sprint cycles
- Continuous improvement processes
- Feedback loops
- Any process that repeats indefinitely
Reach for something else when
- Linear one-time processes (use process-slide)
- Timelines with dates (use timeline-slide)
- Narrowing funnels (use funnel-slide)
-
Gallery
gallery-slideA grid of images Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 200 — bottomSubheading string No 200 — layout enum No — grid, masonry, featured images items Yes — Repeats, each item with: src, focusX, focusY, caption, alt background enum No — lime, mist Reach for it when
- Several screenshots or UI captures in one slide (use layout: masonry)
- A photo gallery or set of related images
- 2-6 images shown together where the images tell the story
- Mixed aspect-ratio images that must not be cropped (masonry)
Reach for something else when
- A single hero image (use image-slide)
- One image beside a paragraph of text (use image-text-slide)
- More than 6 images, or images each needing a Title + Caption (use team-cards-slide)
- Partner/sponsor logos (use logo-wall-slide)
Fixed collection 1 type
Exactly n items; the count carries meaning.
The same item contract as a collection, with the count fixed because the count carries meaning: four quadrants is what makes a matrix a matrix.
-
Matrix
matrix-slideA 2×2 quadrant matrix Fields and detailFields
Key Type Required Limit Options title string No 120 — subheading string No 200 — bottomSubheading string No 200 — cells items Yes — Repeats, each item with: title, body, tone background enum No — lime, mist Reach for it when
- SWOT analysis
- Risk vs Impact matrices
- Urgent vs Important (Eisenhower)
- Any 2x2 framework or quadrant analysis
Reach for something else when
- Simple A vs B (use comparison-slide)
- More than 4 categories (use text-blocks or table)
Tabular 1 type
Rows and columns.
Rows of cells. The row is the item; the columns are positions inside it.
-
Table
table-slideA data table Fields and detailFields
Key Type Required Limit Options title string Yes 120 — caption string No 240 — headerRow enum No — on, off tableStyle enum No — plain, panel, soft cornerCell enum No — label, header animateByCell enum No — off, on rows items No — Repeats, each item with: c1, c2, c3, c4, c5, c6, c7, c8, c9, c10 colCount enum No — 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 background enum No — lime, mist Reach for it when
- Comparison tables
- Feature matrices
- Schedules or structured data
- Country/region benchmarks
- Side-by-side metrics
Reach for something else when
- Numeric data that would visualize better (use chart-slide)
- Large datasets (summarize or link externally)
- More than 10 columns (simplify or split)
Dataset 1 type
Data points plus an encoding.
Data points plus an encoding. The payload is an encoded blob rather than named fields, so this is the one shape a renderer cannot walk generically.
-
Chart
chart-slideA bar, line or pie chart Fields and detailFields
Key Type Required Limit Options title string Yes 120 — subheading string No 220 — bottomSubheading string No 200 — chartType enum Yes — bar, line, pie data csv Yes 20000 — pieLabelMode enum No — none, value, %, both showLegend enum No — yes, no showValues enum No — yes, no xLabel string No 80 — yLabel string No 80 — series1Label string No 80 — series2Label string No 80 — background enum No — lime, mist headerAlign enum No — left, center Layout variants
- Left
- Centred
Reach for it when
- Trends over time (line chart)
- Category comparisons (bar chart)
- Parts of a whole (pie chart)
- Any numeric data that benefits from visualization
Reach for something else when
- Non-numeric comparisons (use table-slide)
- Complex multi-dimensional data
- Data that needs exact values shown (use table-slide)
Chrome 2 types
No content fields at all.
No content fields at all. The slide is its own furniture, so there is nothing to read out of it.
-
Payoff
payoff-slideA closing payoff statement Fields and detailReach for it when
- Final slide of a presentation
- Brand reinforcement
Reach for something else when
- Content that needs explanation
- Anything mid-deck
- Slides that need contact details (use end-slide)
-
Follow-along invite Audience
follow-invite-slideA QR code to follow along Fields and detail
No types match those filters.
The fields every type carries
Nine fields are added to every slide type rather than declared on each one: two for what a screen reader announces, six for a per-slide background image and how it is treated, and one for the theme logo.
| Key | Type | Options |
|---|---|---|
| a11yTitle | string | — |
| a11ySummary | string | — |
| slideBgImage | image | — |
| slideBgFit | enum | cover, contain |
| slideBgFocusX | number | — |
| slideBgFocusY | number | — |
| slideBgOverlay | enum | auto, none, light, dark, gradient-top, gradient-bottom |
| slideBgText | enum | auto, light, dark |
| slideLogo | enum | none, top-right |
A running instance serves schemas for its installed version, which may differ from this catalogue. For example, the sandbox exposes:
https://sandbox.deckyard.eu/api/v1/schema/slide-types/<type>.json
Nothing on this page is typed by hand: the list, the counts, the field tables and the glyphs are generated from the core registry. The same registry as one flat, searchable table is in the documentation. Full reference