ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

StorySlide — presenter-led graph slide contract

StorySlide type, DataViewGraphStory config, StorySlideTransition, and StoryPlaybackMode for presenter-led graph sequences (M3 P6/W6.7).

field.key.label
StorySlide — presenter-led graph slide contract
field.version.label
field.type.label
field.title.label
StorySlide — presenter-led graph slide contract
field.description.label

StorySlide type, DataViewGraphStory config, StorySlideTransition, and StoryPlaybackMode for presenter-led graph sequences (M3 P6/W6.7).

field.tags.label
graph,story,slide,presenter,contract,m3,p6
field.owners.label
field.stability.label
public

Story mode is a presentation overlay — it does **not** mutate graph structure.

Key types

| Type | Purpose | |---|---| | `StorySlide` | One step in the sequence: viewport, highlights, transition, speaker notes | | `DataViewGraphStory` | Top-level config stored in `DataViewGraphSpec.story` | | `StorySlideTransition` | `viewport-pan \| fade \| zoom-to-node \| zoom-out \| instant` | | `StoryPlaybackMode` | `PRESENTER_LED` (default) or `PER_USER` | | `ViewportState` | `{ centerX, centerY, zoom }` in graph-space |

Playback state

Ephemeral Yjs Awareness — not persisted in the Y.Doc. `DataViewGraphStory.slides` is static config.

Reduced motion

All transitions skip-to-end-state when `prefers-reduced-motion` is active.

Voice narration

When `voiceNarrationEnabled: true`, transcripts become annotations on `highlightedNodeIds[0]`.