The graph format

A storyboard as a semantic graph, storyboards.sgit.ai/graph/v1: the node types, the edge verbs, and what each carries.

StoryboardFormats.toGraph(storyboard, cast, { url, seriesTitle }) returns { what, format, storyboard, nodes, edges }. Every storyboard on storyboards.sgit.ai has one at graph.json. Nodes are things; edges are verbs a reader can say aloud, "panel 3 features Noor", "Noor says 'Two ways'", in the spirit of graphs.sgit.ai.

Nodes

TypeIdCarries
storyboardstoryboard:<slug>label (the title), subtitle, status, url
panelpanel:<slug>/<n>label (caption, punchline or title), n, kind, text (the panel as one paragraph)
character, agentcharacter:<id>label (the name)
propprop:<kind>label
sourcesource:<text>label
settingsetting:<name>label
series, shelf, authorseries:<slug>, shelf:<title>, author:<name>label

A character, prop, source or setting is one node however many panels use it: that is what makes the graph worth having across storyboards.

Edges

FromVerbToCarries
storyboardhas_panelpaneln
panelnextpanel
panelfeaturescharacterpose, mood
charactersays, thinkspaneltext
panelshowsprop
panelquotessource(the panel quotes it)
paneldrawn_fromsource(the panel is not_a_quote)
panelcitessource(an evidence card's source)
panelset_insetting
storyboardpart_of, on_shelf, made_byseries, shelf, author

The format is versioned in its format field. A change that removes or renames anything is a new format version, shipped in a new release.