Skip to content

Caption modes: verbatim vs. key-term (redundancy vs. accessibility) #38

Description

@jbrecht

Source: instructional-designer pedagogy review, docs/reviews/2026-06-13-pedagogy-review.md (Part 2, item #5 — Medium impact / High feasibility, "Next").

User story

As a tutorial author, I want a key-term caption mode in addition to verbatim captions, so I can reduce redundancy load for sound-on learners while still teaching vocabulary — keeping full verbatim captions as the accessible default.

Context / correction to the review

The review proposes captions: 'full' | 'keyterms' | 'off'. The actual config field today is subtitles: 'burn' | 'sidecar' | 'off' (packages/core/src/types.ts:130), generated in packages/core/src/post/subtitles.ts (SRT) and packages/core/src/post/captions.ts (burned pills). This issue should map the new mode onto the existing subtitles option rather than introduce a parallel captions field — decide whether key-term-vs-verbatim is an orthogonal axis (a new option, e.g. captionText: 'verbatim' | 'keyterms') or folded into the existing enum. Recommend an orthogonal option so burn/sidecar/off (delivery) stays separate from verbatim/keyterm (content).

Scope

  1. Add a content mode that emits only signaled labels / key vocabulary per step instead of the full narration sentence.
  2. Author surface for declaring key terms per step (e.g. an opts.keyTerms?: string[], or derive from signaled callout labels). Define how terms are sourced.
  3. verbatim remains the default (accessibility-correct).

Acceptance criteria

  • An author can select key-term captions; verbatim remains default.
  • Key-term captions render in both burn and sidecar delivery.
  • A documented way to specify key terms per step.
  • Localizable via translations.
  • Documented in docs/getting-started.md (currently describes captions at :83-85).

Open decision (for maintainer)

Where key terms come from — explicit per-step authoring vs. auto-derived from callout/signal labels. Recommend explicit author field for v1 (predictable), auto-derivation later.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions