表示状態・発話ID・進捗契約を実コードへ固定する
カテゴリ: design
正規ID: streaming-subtitle-display/t00-contract
登録済みの前提工程はありません。図だけではdispatch可否を判定しません。
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
docs/plan_streaming_subtitle_display_20260829.mdを正本に、現在のKyutaiイベント、SentenceProcessor、TTS分割、Playback取消、SubtitleOverlay描画を突合する。発話ID、逐次英語event、話者未確定、訳文範囲、再生進捗、scroll anchorの型と責務境界を決め、characterization/focused testを先行させる。要件を縮小せず、追加AIや翻訳/TTS品質変更を混ぜない。
後続工程
作業記録
現行宣言境界の逸脱: ui/subtitle_overlay.py(t02範囲)へ最小変更を入れた。SpeakerMemoryがSPEAKER_UNCONFIRMED(-1)を返すようになった時点で、現行オーバーレイが未確定を実話者の色で塗るため、_speaker_colorの追加とパレットからの白除去まで同じ変更で閉じた。ブロック構造・スクロール基準・太字折り返しはt02のまま未着手。
来歴: v1/t00-contract・記録者 FOX/hikari
note head: 8179dc37a8ba0b0ffc6758c190db3c5a8bd3971ec57dce255c77128c3b7fee26
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t00-contract- anchor
- anchor_missing
Kyutai逐次英文と発話IDを確定文経路へ追加する
カテゴリ: implementation
正規ID: streaming-subtitle-display/t01-live-source
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
KyutaiSentenceAssembler/KyutaiStreamSession/KyutaiSTTThreadと対応models/testsを所有する。Word/EndWordごとに現在英文をUI専用callbackへ出し、確定時に同一発話IDをConfirmedSentenceへ載せる。確定文queue、一文完成、ring保持、停止flushを変えずfocused testで重複・世代混入なしを証明する。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t01-live-source- anchor
- anchor_missing
発話ブロック描画・話者色・英語基準スクロールを実装する
カテゴリ: implementation
正規ID: streaming-subtitle-display/t02-overlay
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
ui/subtitle_overlay.pyとUI focused testsを所有する。発話IDで英語/日本語/話者/太字進捗を更新する状態モデルへ置換し、未確定白と分類済み色を分離する。翻訳・着色・太字ではscroll anchorと改行を動かさず、英語更新だけで履歴を進める。透過、クリック透過、手動geometry、redraw cycleを維持する。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t02-overlay- anchor
- anchor_missing
✅ 完了工程 t03-playback-progressTTS分割範囲とPlayback再生進捗を発話IDへ結合する
カテゴリ: implementation
正規ID: streaming-subtitle-display/t03-playback-progress
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
core/tts.py、core/playback.py、TTSAudioItemとfocused testsを所有する。訳文全体内の担当範囲と発話IDを各音声itemへ載せ、実再生進度を単調なUI callbackとして通知する。複数itemを累積し、完了時全文、取消時実位置、旧generation/epoch拒否を証明する。既存sd.play、duck、backlog、速度制御、認可線形化を変えない。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t03-playback-progress- anchor
- anchor_missing
AppControllerとQt Signalを接続し関連契約を通す
カテゴリ: integration
正規ID: streaming-subtitle-display/t04-integration
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
main.py、ui/control_panel.py、STTResult/ConfirmedSentence配線と統合testsを所有する。逐次英語、確定/翻訳、話者色、再生progressを発話IDでSubtitleOverlayへ渡し、同文誤更新と旧世代通知を拒否する。t01-t03の公開契約だけを結合し、関連testを一度通す。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t04-integration- anchor
- anchor_missing
✅ 完了工程 t05-debug-acceptanceDebug実字幕で表示と読み上げ同期を受け入れる
カテゴリ: acceptance
正規ID: streaming-subtitle-display/t05-debug-acceptance
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
開発実行で実音声を使い、英語逐次表示、白から話者色、訳文全文追記、読み上げに伴う太字増加、英語基準scroll、TTS OFF通常表示を実画面で確認する。残留processを前後に棚卸しし、Debug不合格のままReleaseへ進めない。focused原因特定後に同じDebug観測で再確認する。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t05-debug-acceptance- anchor
- anchor_missing
Debug合格後にRelease buildとProgram Files smokeを行う
カテゴリ: release
正規ID: streaming-subtitle-display/t06-release-build
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
t05の受入証拠がある場合だけ着手する。AGENTS.mdのPowerShell 6工程を忠実に実行し、torch重複除去、AivisSpeech/許諾配置、Inno Setup、1200MB制限を確認する。生成物をProgram Filesへインストールし通常権限で起動終了と字幕経路をsmokeする。BOOTH公開、版数登録、公開配信は行わない。
前提工程
後続工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t06-release-build- anchor
- anchor_missing
full regressionと正典還流でcampaignを閉じる
カテゴリ: audit
正規ID: streaming-subtitle-display/t07-final-audit
完走済みのため既定の図には描いていません。左上の「完走済み」バッジを押すと、このページ内で表示できます。
設計メモ
全focused/related/Debug/Release gate後にfull regressionを最後に一度だけ実行する。diff、未検証範囲、受入証拠を監査し、requirements、architecture_design、PROGRESS、必要な知識を実挙動へ同期する。対象限定commit/pushを確認し、公開配信を成功扱いへ含めない。
前提工程
元plan: 参照なし — 行対応を確認できないため、本文位置との対応は表示していません
開発者向け診断
- canonical ref
LiveTR/streaming-subtitle-display/t07-final-audit- anchor
- anchor_missing