Files
jellybit/tasks/items/external-subtitles.md
av 3bce73fc34 раскладка av-dev повышена с канона 12 до версии 5
- три плагина слились в один `av-dev`: служебные `docs/.docs.json` и
  `tasks/.tasks.json` заменены на `.av-dev.toml` в корне, в гейте переехали пути
  трёх скриптов, вызовы скиллов переименованы по всему репозиторию
- тип задачи `goal` и `ROADMAP.md` упразднены: семь целей закрыты с причинами,
  теги сняты, объявлена стадия `support`
- метка `small`/`medium`/`large` снята из процесса — вместо «Триггеров метки» в
  review.md подраздел «Когда звать глубокое ревью»; следом разобран урожай
  doc-consistency: девять фактов сведены к одному дому
2026-09-02 09:55:28 +03:00

1.6 KiB
Raw Permalink Blame History

Спаривать VobSub .idx+.sub и проставлять языковой суффикс субтитра

  • Тип: feature
  • Категория: Ядро продукта
  • Зачем: Привязка субтитр→серия уже работает; остались пары VobSub .idx+.sub и потеря Lang/Flags

Базовая привязка субтитр→серия для сериала уже работает: layout.PlanFile несёт Season/Episode, а seriesDst именует субтитр по стему эпизода (internal/layout/layout.go, код старше аудита 2026-07-03). Для фильма тоже — субтитр именуется по базе видеофайла.

Реальные пробелы, оставшиеся от аудита:

  • Пары VobSub .idx+.sub не спариваются — их надо переносить вместе как одну дорожку.
  • Языковой суффикс теряется: у recognize.PlanFile нет полей Lang/Flags, и toLayoutPlan (internal/httpapi/review.go) не проставляет язык — субтитр ляжет без *.ru.srt-суффикса, который ждёт Jellyfin.

Смоделировать язык/флаги субтитра сквозь recognize→layout и спаривание .idx+.sub; спека recognition уже требует «внешние субтитры SHALL привязываться к видео».

Связано: openspec/specs/recognition, specs/jellyfin-layout.md, пакеты recognize, layout.