Block is an object with optional fields for each block type. Each block in a slide’s blocks array typically has exactly one type field set. All block types are defined in packages/core/src/schema/blocks.ts.
Text & Code
explainer
explainer
A rich-text content block for narrative or explanatory prose.
codeBlock
codeBlock
A syntax-highlighted code snippet anchored to a file range.
Diagrams & Charts
diagram
diagram
A Mermaid diagram rendered from a content string.
gantt
gantt
A Gantt chart rendered from Mermaid gantt syntax.
chart
chart
A data chart (line, bar, area, or scatter) built from inline CSV rows.
Metrics
kpi
kpi
A single key performance indicator with an optional trend indicator.
kpiGrid
kpiGrid
A grid of KPI items displayed together in a configurable layout.Layout options:
"uniform"— all items the same size"grid"— flexible grid"hero"— first item larger than the rest"spotlight"— one item prominently featured
radialMetric
radialMetric
A circular progress indicator showing a value relative to a total.
metricsGrid
metricsGrid
A structured grid of metrics, each with a title, one or two values, a description, and an optional rank.
Layout
layers
layers
A visual hierarchy block rendered as a pyramid or stacked layout. Each layer can have optional sub-segments.
The
layers array must contain between 3 and 5 items. Segments within a layer must contain between 2 and 5 items.objectivesDisplay
objectivesDisplay
A structured list of objectives, each with a title, description, and key results.
Media
image
image
An image block with alt text, optional caption, and display options.
Table
table
table
A data table defined as an array of pipe-delimited Markdown table rows.Each string in
rows is one row of a Markdown table, including the header separator row.