Specificatie

Slidetypes

De woordenschat waarin een deck geschreven is. Elk type declareert zijn eigen velden, en die declaratie is wat je hieronder ziet.

Een slidetype is een klein contract: een naam, een set velden en een vorm. Het is geen sjabloon dat je invult en daarna verschuift, en juist daarom kan hetzelfde deck op elk formaat renderen, op elk thema, naar HTML of PDF, en gelezen worden door iets dat geen mens is. Core levert er 33, allemaal gedeclareerd in één registry; de tekening op elke kaart hieronder is hetzelfde abstracte diagram dat de editor in zijn eigen slidekiezer tekent, uit dezelfde beschrijving van de layout.

De grid is gegroepeerd op de structure die elk type declareert: de vorm van zijn primaire inhoud, los van waar de slide over gaat en hoe hij eruitziet. Zes waarden dekken ze allemaal, zonder restcategorie, en dit is de as waar een tweede implementatie tegenaan bouwt - ondersteun je een structuur, dan ondersteun je elk type erin.

Een type declareert ook een runtime: wat de presenterende sessie ervoor moet doen, bovenop het serveren van de slide. Voor bijna de hele catalogus is dat niets - een static type rendert zonder server in beeld. De 4 live types zijn de uitzondering: de zaal antwoordt, en de sessie verzamelt en aggregeert die antwoorden als toestand die de presentator opent en sluit. Eén type, de countdown, is timed - zijn klok loopt in het presentatievenster en vraagt niets van de sessie.

Singleton 14 types

A fixed set of scalar slots.

Een vaste set losse velden. Lees de sleutels die het type declareert; er valt niets te herhalen.

  • Title slide title-slide Big title and subtitle to open with Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 160
    meta string Nee 160
    background enum Nee lime, mist
    logoCorner enum Nee left, right
    titleBlockAlign enum Nee left, center

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • Opening/first slide of any deck

    Pak iets anders als

    • Anything other than the deck opening

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.title Tier: 1 Runtime: static JSON Schema

  • Section title chapter-title-slide Section divider between topics Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    titleBlockAlign enum Nee left, center
    title string Ja 140
    subheading string Nee 160
    layout enum Nee top, center, bottom

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • Introducing a new major section or topic
    • Creating visual breaks between different parts of the presentation
    • Helping audience understand the structure

    Pak iets anders als

    • Content that needs explanation (use content slides after this)
    • Minor sub-topics within a section

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.chapter-title Tier: 1 Runtime: static JSON Schema

  • Text slide content-slide A heading with body text Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    layout enum Nee two-column, one-column
    density enum Nee auto, comfortable, compact
    body markdown Ja 3000
    background enum Nee lime, mist
    actions items Nee Herhaalt, elk item met: label, url, style

    Layoutvarianten

    • One column
    • Text in two columns
    • Image 1/3
    • Image 1/2
    • Image 2/3
    • Row above
    • Row below
    • Two beside text
    • Corner image

    Pak dit als

    • General explanatory text that does not fit other slide types
    • Mixed content (some bullets + some paragraphs)
    • Content that is truly freeform

    Pak iets anders als

    • 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)

    Itemvorm: actions[] Identiteit: eu.deckyard.slide.content Tier: 1 Runtime: static JSON Schema

  • Image + text image-text-slide An image beside text Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    body markdown Ja 3000
    image image Nee
    images items Nee Herhaalt, elk item met: src, alt, fit, focusX, focusY
    caption string Nee 160
    alt string Nee 180
    imageRole enum Nee content, decorative
    imageSide enum Nee left, right
    imageWidth enum Nee half, narrow, wide
    layout enum Nee split, corner, duo, row-top, row-bottom
    textColumns enum Nee 1, 2
    imageFit enum Nee cover, contain
    imageBackground enum Nee white, match
    focusX number Nee
    focusY number Nee
    density enum Nee auto, comfortable, compact
    background enum Nee lime, mist
    actions items Nee Herhaalt, elk item met: label, url, style

    Layoutvarianten

    • Text only
    • Image 1/3
    • Image 1/2
    • Image 2/3
    • Row above
    • Row below
    • Two beside text
    • Corner image

    Pak dit als

    • Content where a photo/image adds value
    • Product or feature showcases
    • Person introductions with photo
    • Location or event context
    • A small set of 2-3 related images with one shared story (rows/duo)

    Pak iets anders als

    • 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)
    • Many images without text (use gallery-slide)

    Itemvorm: images[]actions[] Identiteit: eu.deckyard.slide.image-text Tier: 1 Runtime: static JSON Schema

  • Video video-slide An embedded video Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 100
    source string Ja 400
    background enum Nee lime, mist
    autoplay enum Nee off, on
    watchUrl string Nee 400
    bunnyLibraryId string Nee 20

    Pak dit als

    • Embedded video content

    Pak iets anders als

    • Content without a video URL

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.video Tier: 2 Runtime: static Valt terug op: content-slide JSON Schema

  • Quote quote-slide A pull quote with attribution Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    quoteAlign enum Nee left, center
    quote string Ja 400
    authorName string Ja 80
    authorTitle string Ja 120
    authorImage1 image Nee
    authorImage1Alt string Nee 180
    authorImage2 image Nee
    authorImage2Alt string Nee 180
    quotes items Nee Herhaalt, elk item met: quote, authorName, authorTitle, authorImage, authorImageAlt, authorImage2, authorImage2Alt

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • Direct quotes from interviews
    • Memorable one-liners or punchy statements
    • Testimonials or endorsements
    • Key takeaways phrased as quotes

    Pak iets anders als

    • 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)

    Itemvorm: quotes[] Identiteit: eu.deckyard.slide.quote Tier: 1 Runtime: static JSON Schema

  • Image slide image-slide A single full-bleed image Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 80
    subheading string Nee 140
    bottomSubheading string Nee 200
    image image Nee
    imageRole enum Nee content, decorative
    alt string Nee 180
    caption string Nee 160
    focusX number Nee
    focusY number Nee
    fit enum Nee cover, contain
    bleed boolean Nee
    layout enum Nee full, bleed, centered
    background enum Nee lime, mist
    zoomSteps enum Nee , corners, horizontal, vertical, quadrants, custom
    zoomLevel number Nee
    zoomPositions string Nee 500

    Pak dit als

    • Powerful standalone visuals
    • Full-bleed photos or screenshots
    • Visual breaks in the presentation

    Pak iets anders als

    • Content that needs text explanation (use image-text-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.image Tier: 1 Runtime: static JSON Schema

  • Embed embed-slide Embed an external page or iframe Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    embedUrl string Ja 500
    aspectRatio enum Nee 16:9, 4:3, 1:1, auto
    sandbox enum Nee restricted, permissive
    background enum Nee lime, mist

    Pak dit als

    • Showing a live prototype, board, or dashboard during the talk
    • Content that must stay current between rehearsal and delivery

    Pak iets anders als

    • A video (use video-slide)
    • A static picture of a tool (use image-slide)
    • Any case where you would have to invent the URL

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.embed Tier: 2 Runtime: static Valt terug op: content-slide JSON Schema

  • Countdown timer Zaal countdown-slide A countdown timer Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    durationMinutes number Nee
    durationSeconds number Nee
    autoStart enum Nee off, on
    flashOnZero enum Nee on, off
    soundOnZero enum Nee off, on
    zeroText string Nee 60
    background enum Nee lime, mist, dark, accent, brand-1, brand-2, custom

    Pak dit als

    • Breaks with a stated length ("15 minutes")
    • Timeboxed exercises in a workshop deck

    Pak iets anders als

    • Marking a section boundary (use chapter-title-slide)
    • A deck that is presented straight through without pauses

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.countdown Tier: 2 Runtime: timed Valt terug op: content-slide JSON Schema

  • Likert slider (1–10) Zaal likert-slider-slide A 1–10 slider rating Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    question string Ja 200
    minLabel string Nee 120
    maxLabel string Nee 120
    background enum Nee lime, mist

    Pak dit als

    • "Rate from 1 to 10" questions
    • "How likely are you to..." questions
    • Confidence or intensity ratings

    Pak iets anders als

    • Labeled categories (use likert-slide)
    • Multiple choice (use poll-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.likert-slider Tier: 2 Runtime: live (likert) Valt terug op: content-slide JSON Schema

  • Feedback Zaal feedback-slide Collect open text feedback Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    question string Ja 200
    placeholder string Nee 120
    background enum Nee lime, mist

    Pak dit als

    • Open feedback prompts
    • "What should we improve?" questions
    • Collecting ideas or suggestions

    Pak iets anders als

    • Structured questions (use poll or likert slides)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.feedback Tier: 2 Runtime: live (feedback) Valt terug op: content-slide JSON Schema

  • Comparison comparison-slide Two options side by side Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    leftTitle string Ja 100
    leftBody markdown Ja 2000
    rightTitle string Ja 100
    rightBody markdown Ja 2000
    verdict string Nee 100
    background enum Nee lime, mist

    Pak dit als

    • A vs B comparisons (products, approaches)
    • Pros and cons analysis
    • Before vs after transformations
    • Option evaluation and decision support

    Pak iets anders als

    • More than 2 options (use table-slide or icon-card-grid-slide)
    • 2x2 matrices like SWOT (use matrix-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.comparison Tier: 2 Runtime: static Valt terug op: table-slide JSON Schema

  • Custom HTML custom-html-slide Your own HTML and CSS, for anything else Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    html code Nee 20000
    css code Nee 10000
    background enum Nee lime, mist

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.custom-html Tier: 2 Runtime: static Valt terug op: content-slide JSON Schema

  • End / Contact end-slide A closing slide with contact details Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    body markdown Nee 500
    contactName string Nee 80
    contactEmail string Nee 120
    contactPhone string Nee 40
    contactUrl string Nee 200
    social1Label string Nee 40
    social1Url string Nee 200
    social2Label string Nee 40
    social2Url string Nee 200
    background enum Nee lime, mist

    Pak dit als

    • Final slide with contact information
    • Thank you / closing slide
    • Slides where the audience needs follow-up details

    Pak iets anders als

    • Brand-only closing without contact info (use payoff-slide)
    • Content slides mid-deck

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.end Tier: 1 Runtime: static JSON Schema

Collection 12 types

n items of one repeated shape.

Eén array met items die allemaal dezelfde vorm hebben. Loop de array af, render het item, herhaal.

  • List list-slide A bulleted or numbered list Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 160
    variant enum Nee bullets, numbers
    layout enum Nee auto, one-column, two-column
    density enum Nee auto, comfortable, compact
    background enum Nee lime, mist
    items items Ja Herhaalt, elk item met: title, text
    headerAlign enum Nee left, center

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: items[] Identiteit: eu.deckyard.slide.list Tier: 1 Runtime: static JSON Schema

  • KPI kpi-metrics-slide Big numbers with deltas Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    background enum Nee lime, mist
    accent enum Nee none, highlight-best, highlight-risk
    countUp enum Nee off, on
    metrics items Nee Herhaalt, elk item met: value, unit, label, note
    headerAlign enum Nee left, center

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: metrics[] Identiteit: eu.deckyard.slide.kpi-metrics Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Image blocks team-cards-slide Image blocks in a grid Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 220
    bottomSubheading string Nee 200
    subheading2 string Nee 220
    members items Nee Herhaalt, elk item met: image, alt, name, byline, linkedin
    background enum Nee mist, lime, calm
    textPosition enum Nee below, split
    imageShape enum Nee rounded, square, circle
    imageAspect enum Nee square, original
    showPhotoFrame enum Nee off, on
    columnSplit enum Nee , 1, 2, 3, 4, 5
    cardCount enum Nee 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
    card1Image image Nee
    card1Alt string Nee 180
    card1ImageFocusX number Nee
    card1ImageFocusY number Nee
    card1Name string Nee 80
    card1Byline string Nee 120
    card1Linkedin string Nee 300
    card2Image image Nee
    card2Alt string Nee 180
    card2ImageFocusX number Nee
    card2ImageFocusY number Nee
    card2Name string Nee 80
    card2Byline string Nee 120
    card2Linkedin string Nee 300
    card3Image image Nee
    card3Alt string Nee 180
    card3ImageFocusX number Nee
    card3ImageFocusY number Nee
    card3Name string Nee 80
    card3Byline string Nee 120
    card3Linkedin string Nee 300
    card4Image image Nee
    card4Alt string Nee 180
    card4ImageFocusX number Nee
    card4ImageFocusY number Nee
    card4Name string Nee 80
    card4Byline string Nee 120
    card4Linkedin string Nee 300
    card5Image image Nee
    card5Alt string Nee 180
    card5ImageFocusX number Nee
    card5ImageFocusY number Nee
    card5Name string Nee 80
    card5Byline string Nee 120
    card5Linkedin string Nee 300
    card6Image image Nee
    card6Alt string Nee 180
    card6ImageFocusX number Nee
    card6ImageFocusY number Nee
    card6Name string Nee 80
    card6Byline string Nee 120
    card6Linkedin string Nee 300
    card7Image image Nee
    card7Alt string Nee 180
    card7ImageFocusX number Nee
    card7ImageFocusY number Nee
    card7Name string Nee 80
    card7Byline string Nee 120
    card7Linkedin string Nee 300
    card8Image image Nee
    card8Alt string Nee 180
    card8ImageFocusX number Nee
    card8ImageFocusY number Nee
    card8Name string Nee 80
    card8Byline string Nee 120
    card8Linkedin string Nee 300
    card9Image image Nee
    card9Alt string Nee 180
    card9ImageFocusX number Nee
    card9ImageFocusY number Nee
    card9Name string Nee 80
    card9Byline string Nee 120
    card9Linkedin string Nee 300
    card10Image image Nee
    card10Alt string Nee 180
    card10ImageFocusX number Nee
    card10ImageFocusY number Nee
    card10Name string Nee 80
    card10Byline string Nee 120
    card10Linkedin string Nee 300
    card11Image image Nee
    card11Alt string Nee 180
    card11ImageFocusX number Nee
    card11ImageFocusY number Nee
    card11Name string Nee 80
    card11Byline string Nee 120
    card11Linkedin string Nee 300
    card12Image image Nee
    card12Alt string Nee 180
    card12ImageFocusX number Nee
    card12ImageFocusY number Nee
    card12Name string Nee 80
    card12Byline string Nee 120
    card12Linkedin string Nee 300
    card13Image image Nee
    card13Alt string Nee 180
    card13ImageFocusX number Nee
    card13ImageFocusY number Nee
    card13Name string Nee 80
    card13Byline string Nee 120
    card13Linkedin string Nee 300
    card14Image image Nee
    card14Alt string Nee 180
    card14ImageFocusX number Nee
    card14ImageFocusY number Nee
    card14Name string Nee 80
    card14Byline string Nee 120
    card14Linkedin string Nee 300
    card15Image image Nee
    card15Alt string Nee 180
    card15ImageFocusX number Nee
    card15ImageFocusY number Nee
    card15Name string Nee 80
    card15Byline string Nee 120
    card15Linkedin string Nee 300
    card16Image image Nee
    card16Alt string Nee 180
    card16ImageFocusX number Nee
    card16ImageFocusY number Nee
    card16Name string Nee 80
    card16Byline string Nee 120
    card16Linkedin string Nee 300
    card17Image image Nee
    card17Alt string Nee 180
    card17ImageFocusX number Nee
    card17ImageFocusY number Nee
    card17Name string Nee 80
    card17Byline string Nee 120
    card17Linkedin string Nee 300
    card18Image image Nee
    card18Alt string Nee 180
    card18ImageFocusX number Nee
    card18ImageFocusY number Nee
    card18Name string Nee 80
    card18Byline string Nee 120
    card18Linkedin string Nee 300
    card19Image image Nee
    card19Alt string Nee 180
    card19ImageFocusX number Nee
    card19ImageFocusY number Nee
    card19Name string Nee 80
    card19Byline string Nee 120
    card19Linkedin string Nee 300
    card20Image image Nee
    card20Alt string Nee 180
    card20ImageFocusX number Nee
    card20ImageFocusY number Nee
    card20Name string Nee 80
    card20Byline string Nee 120
    card20Linkedin string Nee 300
    card21Image image Nee
    card21Alt string Nee 180
    card21ImageFocusX number Nee
    card21ImageFocusY number Nee
    card21Name string Nee 80
    card21Byline string Nee 120
    card21Linkedin string Nee 300
    card22Image image Nee
    card22Alt string Nee 180
    card22ImageFocusX number Nee
    card22ImageFocusY number Nee
    card22Name string Nee 80
    card22Byline string Nee 120
    card22Linkedin string Nee 300
    card23Image image Nee
    card23Alt string Nee 180
    card23ImageFocusX number Nee
    card23ImageFocusY number Nee
    card23Name string Nee 80
    card23Byline string Nee 120
    card23Linkedin string Nee 300
    card24Image image Nee
    card24Alt string Nee 180
    card24ImageFocusX number Nee
    card24ImageFocusY number Nee
    card24Name string Nee 80
    card24Byline string Nee 120
    card24Linkedin string Nee 300
    card25Image image Nee
    card25Alt string Nee 180
    card25ImageFocusX number Nee
    card25ImageFocusY number Nee
    card25Name string Nee 80
    card25Byline string Nee 120
    card25Linkedin string Nee 300

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: members[] Identiteit: eu.deckyard.slide.team-cards Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Logo wall logo-wall-slide A wall of logos Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    headerAlign enum Nee left, center
    title string Nee 120
    subheading string Nee 220
    background enum Nee lime, mist
    logoCount enum Nee 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
    logos items Nee Herhaalt, elk item met: image, name, alt, link
    logo1Image image Nee
    logo1Name string Nee 80
    logo1Alt string Nee 180
    logo1Link string Nee 500
    logo2Image image Nee
    logo2Name string Nee 80
    logo2Alt string Nee 180
    logo2Link string Nee 500
    logo3Image image Nee
    logo3Name string Nee 80
    logo3Alt string Nee 180
    logo3Link string Nee 500
    logo4Image image Nee
    logo4Name string Nee 80
    logo4Alt string Nee 180
    logo4Link string Nee 500
    logo5Image image Nee
    logo5Name string Nee 80
    logo5Alt string Nee 180
    logo5Link string Nee 500
    logo6Image image Nee
    logo6Name string Nee 80
    logo6Alt string Nee 180
    logo6Link string Nee 500
    logo7Image image Nee
    logo7Name string Nee 80
    logo7Alt string Nee 180
    logo7Link string Nee 500
    logo8Image image Nee
    logo8Name string Nee 80
    logo8Alt string Nee 180
    logo8Link string Nee 500
    logo9Image image Nee
    logo9Name string Nee 80
    logo9Alt string Nee 180
    logo9Link string Nee 500
    logo10Image image Nee
    logo10Name string Nee 80
    logo10Alt string Nee 180
    logo10Link string Nee 500
    logo11Image image Nee
    logo11Name string Nee 80
    logo11Alt string Nee 180
    logo11Link string Nee 500
    logo12Image image Nee
    logo12Name string Nee 80
    logo12Alt string Nee 180
    logo12Link string Nee 500

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • Partner organizations
    • Sponsors and funding bodies
    • Client logos
    • Supporter acknowledgments
    • Consortium or coalition members

    Pak iets anders als

    • 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)

    Itemvorm: logos[] Identiteit: eu.deckyard.slide.logo-wall Tier: 2 Runtime: static Valt terug op: image-slide JSON Schema

  • Icon cards icon-card-grid-slide Cards with an icon and label Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    layout enum Nee cards, tiles
    bottomSubheading string Nee 200
    cardCount enum Nee 1, 2, 3, 4, 5, 6
    items items Nee Herhaalt, elk item met: icon, title, body, link
    card1Icon string Nee 40
    card1Title string Nee 80
    card1Body markdown Nee 700
    card1Link string Nee 500
    card2Icon string Nee 40
    card2Title string Nee 80
    card2Body markdown Nee 700
    card2Link string Nee 500
    card3Icon string Nee 40
    card3Title string Nee 80
    card3Body markdown Nee 700
    card3Link string Nee 500
    card4Icon string Nee 40
    card4Title string Nee 80
    card4Body markdown Nee 700
    card4Link string Nee 500
    card5Icon string Nee 40
    card5Title string Nee 80
    card5Body markdown Nee 700
    card5Link string Nee 500
    card6Icon string Nee 40
    card6Title string Nee 80
    card6Body markdown Nee 700
    card6Link string Nee 500

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: items[] Identiteit: eu.deckyard.slide.icon-card-grid Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Text blocks text-blocks-slide Several labelled text blocks Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    rows items Nee Herhaalt, elk item met: title, color, arrow, blocks
    row1Count enum Nee 1, 2, 3, 4, 5, 6
    row1Color enum Nee yellow, black
    row1Block1Title string Nee 80
    row1Block1Body markdown Nee 500
    row1Block2Title string Nee 80
    row1Block2Body markdown Nee 500
    row1Block3Title string Nee 80
    row1Block3Body markdown Nee 500
    row1Block4Title string Nee 80
    row1Block4Body markdown Nee 500
    row1Block5Title string Nee 80
    row1Block5Body markdown Nee 500
    row1Block6Title string Nee 80
    row1Block6Body markdown Nee 500
    arrow1 enum Nee none, down, up
    row2Enabled enum Nee no, yes
    row2Title string Nee 120
    row2Count enum Nee 1, 2, 3, 4, 5, 6
    row2Color enum Nee yellow, black
    row2Block1Title string Nee 80
    row2Block1Body markdown Nee 500
    row2Block2Title string Nee 80
    row2Block2Body markdown Nee 500
    row2Block3Title string Nee 80
    row2Block3Body markdown Nee 500
    row2Block4Title string Nee 80
    row2Block4Body markdown Nee 500
    row2Block5Title string Nee 80
    row2Block5Body markdown Nee 500
    row2Block6Title string Nee 80
    row2Block6Body markdown Nee 500
    arrow2 enum Nee none, down, up
    row3Enabled enum Nee no, yes
    row3Title string Nee 120
    row3Count enum Nee 1, 2, 3, 4, 5, 6
    row3Color enum Nee yellow, black
    row3Block1Title string Nee 80
    row3Block1Body markdown Nee 500
    row3Block2Title string Nee 80
    row3Block2Body markdown Nee 500
    row3Block3Title string Nee 80
    row3Block3Body markdown Nee 500
    row3Block4Title string Nee 80
    row3Block4Body markdown Nee 500
    row3Block5Title string Nee 80
    row3Block5Body markdown Nee 500
    row3Block6Title string Nee 80
    row3Block6Body markdown Nee 500

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: rows[] Identiteit: eu.deckyard.slide.text-blocks Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Process process-slide Sequential steps with arrows Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    direction enum Nee horizontal, vertical
    items items Ja Herhaalt, elk item met: title, text
    steps items Nee Herhaalt, elk item met: title, text
    background enum Nee lime, mist

    Pak dit als

    • Step-by-step procedures
    • Onboarding processes
    • Implementation methodologies
    • How-to guides with sequential steps
    • Project phases

    Pak iets anders als

    • 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

    Itemvorm: items[]steps[] Identiteit: eu.deckyard.slide.process Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Timeline timeline-slide Events along a timeline Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    items items Ja Herhaalt, elk item met: date, title, text
    background enum Nee lime, mist

    Pak dit als

    • 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

    Pak iets anders als

    • 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)

    Itemvorm: items[] Identiteit: eu.deckyard.slide.timeline Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Funnel funnel-slide Stages narrowing to a goal Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    items items Ja Herhaalt, elk item met: label, value, text
    stages items Nee Herhaalt, elk item met: label, value, text
    background enum Nee lime, mist

    Pak dit als

    • Sales funnels (Leads > Qualified > Closed)
    • Marketing funnels (Awareness > Interest > Conversion)
    • Recruitment funnels
    • Any narrowing process with decreasing numbers

    Pak iets anders als

    • Hierarchies without quantity reduction (use pyramid)
    • Processes that don't narrow (use process-slide)
    • Circular processes (use cycle-slide)

    Itemvorm: items[]stages[] Identiteit: eu.deckyard.slide.funnel Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Pyramid pyramid-slide A layered hierarchy pyramid Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    levels items Ja Herhaalt, elk item met: label, text
    background enum Nee lime, mist

    Pak dit als

    • Maslow-style need pyramids
    • Priority levels (Critical > High > Medium > Low)
    • Organizational hierarchies
    • Skill progression pyramids

    Pak iets anders als

    • Narrowing funnels with metrics (use funnel-slide)
    • Linear processes (use process-slide)
    • Circular processes (use cycle-slide)

    Itemvorm: levels[] Identiteit: eu.deckyard.slide.pyramid Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Cycle cycle-slide A repeating cycle of stages Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    centerLabel string Nee 60
    items items Ja Herhaalt, elk item met: label, text
    stages items Nee Herhaalt, elk item met: label, text
    background enum Nee lime, mist

    Pak dit als

    • PDCA (Plan-Do-Check-Act) cycles
    • Agile/Scrum sprint cycles
    • Continuous improvement processes
    • Feedback loops
    • Any process that repeats indefinitely

    Pak iets anders als

    • Linear one-time processes (use process-slide)
    • Timelines with dates (use timeline-slide)
    • Narrowing funnels (use funnel-slide)

    Itemvorm: items[]stages[] Identiteit: eu.deckyard.slide.cycle Tier: 2 Runtime: static Valt terug op: list-slide JSON Schema

  • Gallery gallery-slide A grid of images Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    layout enum Nee grid, masonry, featured
    images items Ja Herhaalt, elk item met: src, focusX, focusY, caption, alt
    background enum Nee lime, mist

    Pak dit als

    • 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)

    Pak iets anders als

    • 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)

    Itemvorm: images[] Identiteit: eu.deckyard.slide.gallery Tier: 2 Runtime: static Valt terug op: image-slide JSON Schema

Fixed collection 3 types

Exactly n items; the count carries meaning.

Hetzelfde itemcontract als een collection, met een vast aantal, omdat dat aantal betekenis draagt: vier kwadranten is wat een matrix een matrix maakt.

Twee hiervan houden zich er nog niet aan: poll-slide en likert-slide dragen option1..optionN als losse velden in plaats van een array, omdat ze de migratie die de andere collections kregen nooit gehad hebben. Ze staan hier genoemd in plaats van stilletjes naar boven afgerond.

  • Poll Zaal poll-slide A live audience poll Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    question string Ja 200
    option1 string Ja 120
    option2 string Ja 120
    option3 string Nee 120
    option4 string Nee 120
    background enum Nee lime, mist
    onClose enum Nee stay, next, goto
    onCloseTarget string Nee 100

    Pak dit als

    • Audience questions with discrete options
    • "Which do you prefer?" style questions
    • Quick pulse checks

    Pak iets anders als

    • Open-ended questions (use feedback-slide)
    • Scale ratings (use likert slides)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.poll Tier: 2 Runtime: live (poll) Valt terug op: list-slide JSON Schema

  • Likert (agree/disagree) Zaal likert-slide An agree/disagree rating Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    question string Ja 200
    option1 string Ja 120
    option2 string Ja 120
    option3 string Nee 120
    option4 string Nee 120
    option5 string Nee 120
    option6 string Nee 120
    option7 string Nee 120
    option8 string Nee 120
    option9 string Nee 120
    option10 string Nee 120
    background enum Nee lime, mist
    onClose enum Nee stay, next, goto
    onCloseTarget string Nee 100

    Pak dit als

    • Agreement/disagreement questions
    • Satisfaction ratings
    • Any question with a labeled scale

    Pak iets anders als

    • Multiple choice (use poll-slide)
    • Numeric 1-10 rating (use likert-slider-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.likert Tier: 2 Runtime: live (likert) Valt terug op: list-slide JSON Schema

  • Matrix matrix-slide A 2×2 quadrant matrix Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Nee 120
    subheading string Nee 200
    bottomSubheading string Nee 200
    cells items Ja Herhaalt, elk item met: title, body, tone
    background enum Nee lime, mist

    Pak dit als

    • SWOT analysis
    • Risk vs Impact matrices
    • Urgent vs Important (Eisenhower)
    • Any 2x2 framework or quadrant analysis

    Pak iets anders als

    • Simple A vs B (use comparison-slide)
    • More than 4 categories (use text-blocks or table)

    Itemvorm: cells[] Identiteit: eu.deckyard.slide.matrix Tier: 2 Runtime: static Valt terug op: table-slide JSON Schema

Tabular 1 type

Rows and columns.

Rijen met cellen. De rij is het item; de kolommen zijn posities daarbinnen.

  • Table table-slide A data table Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    caption string Nee 240
    headerRow enum Nee on, off
    tableStyle enum Nee plain, panel, soft
    cornerCell enum Nee label, header
    animateByCell enum Nee off, on
    rows items Nee Herhaalt, elk item met: c1, c2, c3, c4, c5, c6, c7, c8, c9, c10
    colCount enum Nee 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    background enum Nee lime, mist

    Pak dit als

    • Comparison tables
    • Feature matrices
    • Schedules or structured data
    • Country/region benchmarks
    • Side-by-side metrics

    Pak iets anders als

    • Numeric data that would visualize better (use chart-slide)
    • Large datasets (summarize or link externally)
    • More than 10 columns (simplify or split)

    Itemvorm: rows[] Identiteit: eu.deckyard.slide.table Tier: 1 Runtime: static JSON Schema

Dataset 1 type

Data points plus an encoding.

Datapunten plus een codering. De payload is een gecodeerd blok in plaats van benoemde velden, dus dit is de enige vorm die een renderer niet generiek kan aflopen.

  • Chart chart-slide A bar, line or pie chart Velden en detail

    Velden

    Sleutel Type Verplicht Limiet Opties
    title string Ja 120
    subheading string Nee 220
    bottomSubheading string Nee 200
    chartType enum Ja bar, line, pie
    data csv Ja 20000
    pieLabelMode enum Nee none, value, %, both
    showLegend enum Nee yes, no
    showValues enum Nee yes, no
    xLabel string Nee 80
    yLabel string Nee 80
    series1Label string Nee 80
    series2Label string Nee 80
    background enum Nee lime, mist
    headerAlign enum Nee left, center

    Layoutvarianten

    • Left
    • Centred

    Pak dit als

    • Trends over time (line chart)
    • Category comparisons (bar chart)
    • Parts of a whole (pie chart)
    • Any numeric data that benefits from visualization

    Pak iets anders als

    • Non-numeric comparisons (use table-slide)
    • Complex multi-dimensional data
    • Data that needs exact values shown (use table-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.chart Tier: 2 Runtime: static Valt terug op: table-slide JSON Schema

Chrome 2 types

No content fields at all.

Helemaal geen inhoudsvelden. De slide is zijn eigen meubilair, dus er valt niets uit te lezen.

  • Payoff payoff-slide A closing payoff statement Velden en detail

    Pak dit als

    • Final slide of a presentation
    • Brand reinforcement

    Pak iets anders als

    • Content that needs explanation
    • Anything mid-deck
    • Slides that need contact details (use end-slide)

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.payoff Tier: 2 Runtime: static Valt terug op: end-slide JSON Schema

  • Follow-along invite Zaal follow-invite-slide A QR code to follow along Velden en detail

    Itemvorm: Alleen losse velden Identiteit: eu.deckyard.slide.follow-invite Tier: 2 Runtime: static Valt terug op: content-slide JSON Schema

De velden die elk type meedraagt

Negen velden worden aan elk slidetype toegevoegd in plaats van per type gedeclareerd: twee voor wat een schermlezer aankondigt, zes voor een achtergrondbeeld per slide en hoe dat behandeld wordt, en één voor het themalogo.

Sleutel Type Opties
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

Uitgefaseerde types

Deze worden niet meer aangeboden als je een slide toevoegt, maar ze renderen nog wel, want decks die ze gebruiken bestaan nog steeds en een deck dat niet meer opengaat is een deck dat je kwijt bent. Ze hebben met opzet geen layouttekening: niets hoort je uit te nodigen er nog een te gebruiken.

  • lead-capture-slide Lead Capture Uitgefaseerd

Het schema van elk type wordt ook live geserveerd, door elke draaiende installatie:

https://sandbox.deckyard.eu/api/v1/schema/slide-types/<type>.json

Niets op deze pagina is met de hand ingetikt: de lijst, de aantallen, de veldtabellen en de tekeningen worden uit de core-registry gegenereerd. Dezelfde registry als één platte, doorzoekbare tabel staat in de documentatie. Volledige referentie