Export catalogue
Every export is generated from the saved project by a pure, dependency-free
transform, so the same input always yields the same bytes. _editor is
stripped from all interchange formats; AI provider keys are never included
in anything.
| Export | File | Group | Contents | Warnings |
|---|---|---|---|---|
| ChatMapper JSON | .json | Project | The canonical document, _editor stripped, custom fields intact. Spec. | — |
| CMPKG + media | .cmpkg (zip) | Project | XML + JSON + every attached media file under media/, references rewritten. Details. | — |
| ChatMapper XML | .xml | Game engines | Desktop serialisation; opens in the Windows app; imports into Unity. Details. | — |
| Unity — Dialogue System XML | .xml | Game engines | Byte-identical to ChatMapper XML. Details. | Lua key collisions (error), missing names, missing Is Item, | inside tags, cross-project links, unparsed conditions, nodes without Sequence. |
| Yarn Spinner | .yarn | Game engines | One file; nodes, options, jumps, declarations, translated Lua. Details. | Untranslatable conditions and scripts (also left as // UNTRANSLATED: comments), undeclared variables, dangling links. |
| Standalone HTML player | .html | Web | Self-contained player, text only. Details. | Scripts outside the Lua subset. |
| SCORM 1.2 package | .zip | LMS / training | index.html (player + SCO wrapper) and imsmanifest.xml. Details. | As HTML player. |
| xAPI (Tin Can) package | .zip | LMS / training | The SCORM package plus an xAPI emitter. | As HTML player. |
| Voiceover Script CSV | .csv | Production | One row per spoken line: conversation, node, line number, actor, parenthetical, text with markup stripped and [var=…] as {Name}. | segments are separate rows. Reading order (depth-first from each root). | — |
| Proofreading Text | .txt | Production | All display text in reading order, one section per conversation, speakers in capitals, choices as > lines. | — |
| Screenplay RTF | .rtf | Production | The same reading order as an editable screenplay. | — |
| Assets CSV | .csv | Production | Actors, items, locations and variables with their fields. | — |
| Dialogue CSV | .csv | Production | One row per dialogue node across every conversation. | — |
| Everything CSV | .csv | Production | Assets, dialogue and reviewer notes in one sectioned file. | — |
| Reviewer Notes CSV | .csv | Review | Conversation, node, status, author, resolved, note. | — |
| Conversation SVG | .svg | Review | Vector snapshot of the current conversation’s graph with node colours. | — |
One further project format, LearnBrite JSON, appears when LearnBrite mode is enabled for a project; it is documented in the LearnBrite authors manual.
Reading order
Section titled “Reading order”The production exports walk each conversation depth-first from its root, in link order, visiting each node once — the order a player meets the lines on a first pass, and the same order the editor’s Screenplay view uses. Group nodes contribute their children; the root contributes nothing.
Determinism
Section titled “Determinism”Exports are pure functions of the project document (plus, for the HTML family, the chosen start conversation and language). The ChatMapper repository pins the bytes of every export for a set of fixtures, so an upgrade that changes an export’s output is a deliberate, tested change.