feat(tracking): store secondary subtitle text and source path in occurrence data

- Add secondary_text column to imm_subtitle_lines with migration
- Pass currentSecondarySubText through recordSubtitleLine flow
- Include secondaryText and sourcePath in word/kanji occurrence queries
- Update all type interfaces (backend + frontend)
This commit is contained in:
2026-03-16 01:43:05 -07:00
parent 5a30446809
commit a1f30fd482
7 changed files with 46 additions and 13 deletions

View File

@@ -612,6 +612,7 @@ export class ImmersionTrackerService {
startSec: number,
endSec: number,
tokens?: MergedToken[] | null,
secondaryText?: string | null,
): void {
if (!this.sessionState || !text.trim()) return;
const cleaned = normalizeText(text);
@@ -692,6 +693,7 @@ export class ImmersionTrackerService {
segmentStartMs: secToMs(startSec),
segmentEndMs: secToMs(endSec),
text: cleaned,
secondaryText: secondaryText ?? null,
wordOccurrences: Array.from(wordOccurrences.values()),
kanjiOccurrences: Array.from(kanjiCounts.entries()).map(([kanji, occurrenceCount]) => ({
kanji,