Module

Presentation

Slides

Presentation describes a deck: masters, slides, the order of the story, speaker notes, and the timeline of a single slide. A slide is not a screenshot of a slide tool. It is the contract for that frame.

Use this module when The artifact is a deck, including a deck that is also narrated or filmed.

Keep in mind. Notes for the speaker are not content for the audience. Keep them in the field meant for notes.

Raw schema:/schema/1.0/modules/presentation.schema.json · https://visualspec.dev/schema/1.0/modules/presentation.schema.json

How to read a definition.The paragraphs say what to write and why. “Exact constraints” opens the schema keywords (type, pattern, bounds) for people checking a validator. A sample at the bottom of each definition is the smallest JSON that shows the required shape. Values such as $ref inside a sample point at another definition. They are not fields you copy into a document.

master

Write an object. Only the fields named below are allowed. Unknown fields are rejected so a typo cannot hide inside the document.

You must include id.

You may omit name, sceneRef, layout, background, slots, headerNodeRef, footerNodeRef, and extensions. Leave a field out when you have nothing to say. Do not invent a placeholder.

Exact constraints
type
object
additional properties
forbidden
idrequiredid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

namestring

Write a text value.

An empty string is not allowed.

Exact constraints
type
string
min length
1
sceneRefid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

layoutlayout

This is not a new shape. It reuses layout from the layout module. Open that definition for the fields you can write.

backgroundpaint

This is not a new shape. It reuses paint from the appearance module. Open that definition for the fields you can write.

slotsobject
Exact constraints
type
object
additional properties
slot
additionalPropertiesslot

This is not a new shape. It reuses slot from the components module. Open that definition for the fields you can write.

headerNodeRefid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

footerNodeRefid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

extensionsextensions

This is not a new shape. It reuses extensions from the common module. Open that definition for the fields you can write.

Smallest example

Required fields only, with placeholder values. Replace them with the real intent.

masterJSON
{  "id": {    "$ref": "common#id"  }}

slide

Write an object. Only the fields named below are allowed. Unknown fields are rejected so a typo cannot hide inside the document.

You must include id and sceneRef.

You may omit title, masterRef, layout, notes, transition, timelineRef, duration, hidden, mediaAssetRefs, narrativeRole, and extensions. Leave a field out when you have nothing to say. Do not invent a placeholder.

Exact constraints
type
object
additional properties
forbidden
idrequiredid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

titlestring

Write a text value.

An empty string is not allowed.

Exact constraints
type
string
min length
1
sceneRefrequiredid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

masterRefid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

layoutstring

Write a text value.

An empty string is not allowed.

Exact constraints
type
string
min length
1
notesstring

Write a text value.

Exact constraints
type
string
transitiontransition

This is not a new shape. It reuses transition from the timeline module. Open that definition for the fields you can write.

timelineRefid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

durationduration

This is not a new shape. It reuses duration from the common module. Open that definition for the fields you can write.

hiddenboolean

Write true or false.

Exact constraints
type
boolean
mediaAssetRefsarray<id>

Write a list. Each item follows the shape described under items.

Each item in the list must be different. Duplicates are invalid.

Exact constraints
type
array
unique items
true
itemsid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

narrativeRoletaxonomy

This is not a new shape. It reuses taxonomy from the common module. Open that definition for the fields you can write.

extensionsextensions

This is not a new shape. It reuses extensions from the common module. Open that definition for the fields you can write.

Smallest example

Required fields only, with placeholder values. Replace them with the real intent.

slideJSON
{  "id": {    "$ref": "common#id"  },  "sceneRef": {    "$ref": "common#id"  }}

presentation

Write an object. Only the fields named below are allowed. Unknown fields are rejected so a typo cannot hide inside the document.

You must include id and slides.

You may omit title, size, masters, sequence, loop, and extensions. Leave a field out when you have nothing to say. Do not invent a placeholder.

Exact constraints
type
object
additional properties
forbidden
idrequiredid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

titlestring

Write a text value.

An empty string is not allowed.

Exact constraints
type
string
min length
1
sizeviewport

This is not a new shape. It reuses viewport from the common module. Open that definition for the fields you can write.

mastersarray<master>

Write a list. Each item follows the shape described under items.

Exact constraints
type
array
itemsmaster

This is not a new shape. It reuses master from the presentation module. Open that definition for the fields you can write.

slidesrequiredarray<slide>

Write a list. Each item follows the shape described under items.

The list needs at least 1 item.

Exact constraints
type
array
min items
1
itemsslide

This is not a new shape. It reuses slide from the presentation module. Open that definition for the fields you can write.

sequencearray<id>

Write a list. Each item follows the shape described under items.

Each item in the list must be different. Duplicates are invalid.

Exact constraints
type
array
unique items
true
itemsid

This is not a new shape. It reuses id from the common module. Open that definition for the fields you can write.

loopboolean

Write true or false.

Exact constraints
type
boolean
extensionsextensions

This is not a new shape. It reuses extensions from the common module. Open that definition for the fields you can write.

Smallest example

Required fields only, with placeholder values. Replace them with the real intent.

presentationJSON
{  "id": {    "$ref": "common#id"  },  "slides": [    {      "$ref": "presentation#slide"    }  ]}