skald/migrations
Kayos 575749b774 web: audiobook player — stitched-file playback with chapter seek
Adds GET /stories/{id}/listen: one <audio> element over a story's
stitched audiobook file plus a clickable chapter list. Clicking a
chapter seeks; the chapter under the playhead highlights as it
plays. Chapter offsets are summed from each chapter's latest
succeeded narration_run duration — the same order the file was
stitched. One small inline script, the web UI's first JS.

New stories.audiobook_path column (migration 0009) holds the
served path; the story page shows a "listen" action when set.
2026-05-15 07:30:56 -07:00
..
0001_init.sql scaffold v0.1: postgres+pgvector inside-container, schema, markdown ingest, CLI 2026-05-13 09:04:28 -07:00
0002_voices_and_pronunciation.sql schema: voices + pronunciation_overrides + narration_runs (v0.2 prep) 2026-05-13 10:07:32 -07:00
0003_narration_findings.sql schema: narration_findings — audio-layer audit table 2026-05-13 10:10:04 -07:00
0004_authors.sql v0.3 step 1: migration 0004 + authors module + web form panels 2026-05-13 12:01:29 -07:00
0005_chapter_body_md_tts.sql migration 0005: idempotent ADD COLUMN IF NOT EXISTS 2026-05-13 20:32:41 -07:00
0006_generation_runs_narrate_prep.sql migration 0006: extend generation_runs.kind to allow narrate_prep 2026-05-13 20:28:59 -07:00
0007_characters_voice.sql multi-voice: per-character dialogue rendering 2026-05-14 08:35:33 -07:00
0008_chapter_rewrite.sql forge: rewrite pass — re-author prose in an author's voice 2026-05-14 21:35:20 -07:00
0009_story_audiobook.sql web: audiobook player — stitched-file playback with chapter seek 2026-05-15 07:30:56 -07:00