beats.json, and
your own scripts may read any of them. Every JSON file is written atomically, so a reader
never sees a partial file. Field names in the JSON match the dataclasses in
decktalk.artifacts.
build/audio/NN-slug.words.json
A list of words with absolute times within that section’s mp3.
build/audio/manifest.json
One entry per narrated section. The hash is what the cache compares.
build/audio/timeline.json
Section and word times, absolute within narration.mp3.
build/audio/beats.json
The resolved cues per section, as the string the page receives in ?beats=. The seconds
are relative to the section’s start.