saltfish 0.3.19 → 0.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,11 @@ export declare class TranscriptManager {
16
16
  private static userCaptionPreference;
17
17
  private firstWordForceDisplayUntil;
18
18
  private isNewVideo;
19
+ private lastDisplayedChunkIndex;
20
+ private animationFrameId;
21
+ private isAnimationLoopActive;
22
+ private currentWindowStartIndex;
23
+ private currentWindowEndIndex;
19
24
  constructor();
20
25
  /**
21
26
  * Setup the transcript manager with a video element and CC button
@@ -41,6 +46,15 @@ export declare class TranscriptManager {
41
46
  * Handle video time updates for transcript synchronization
42
47
  */
43
48
  private handleTimeUpdate;
49
+ /**
50
+ * High-frequency animation loop for smooth caption updates
51
+ * Uses requestAnimationFrame to catch short-duration words
52
+ */
53
+ private startAnimationLoop;
54
+ /**
55
+ * Stop the animation loop
56
+ */
57
+ private stopAnimationLoop;
44
58
  /**
45
59
  * Find the active chunk index based on current video time
46
60
  */
@@ -50,13 +64,26 @@ export declare class TranscriptManager {
50
64
  */
51
65
  handleStateChange(currentState: string): void;
52
66
  /**
53
- * Intelligent logic to determine if two words should be shown
67
+ * Update word display with karaoke-style highlighting
68
+ * Shows 1-4 words in a static window, only moving the highlight
69
+ */
70
+ private updateIntelligentWordDisplay;
71
+ /**
72
+ * Update which word is highlighted within the existing window (no DOM rebuild)
73
+ * Also handles progressive reveal - shows words up to current index
54
74
  */
55
- private shouldShowTwoWords;
75
+ private updateHighlightInWindow;
56
76
  /**
57
- * Update word display with intelligent 1-2 word logic
77
+ * Create a new window of 1-4 words (rebuilds DOM)
78
+ * Words are created hidden and will progressively reveal
58
79
  */
59
- private updateIntelligentWordDisplay;
80
+ private createNewWindow;
81
+ /**
82
+ * Calculate the word window (start and end indices) for display
83
+ * Shows 1-4 words based on text length to prevent overflow and line breaks
84
+ * Always splits at sentence boundaries (! and ?)
85
+ */
86
+ private calculateWordWindow;
60
87
  /**
61
88
  * Create the transcript UI container
62
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptManager.d.ts","sourceRoot":"","sources":["../../src/managers/TranscriptManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAwB;IAG5D,OAAO,CAAC,0BAA0B,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAkB;;IAMpC;;OAEG;IACI,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAerG;;OAEG;IACI,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAiBlE;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,EAAE,gBAAgB,GAAE,OAAc,GAAG,IAAI;IA2C5F;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAkB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACI,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IA4BpD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAmCpC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH;;;OAGG;IACI,KAAK,IAAI,IAAI;IA6BpB;;OAEG;WACW,mBAAmB,IAAI,IAAI;IAK5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAmBtC"}
1
+ {"version":3,"file":"TranscriptManager.d.ts","sourceRoot":"","sources":["../../src/managers/TranscriptManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,YAAY,CAA6B;IAGjD,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAwB;IAG5D,OAAO,CAAC,0BAA0B,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,uBAAuB,CAAc;IAG7C,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,qBAAqB,CAAkB;IAG/C,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,qBAAqB,CAAc;;IAM3C;;OAEG;IACI,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAerG;;OAEG;IACI,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAiBlE;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,EAAE,gBAAgB,GAAE,OAAc,GAAG,IAAI;IAkD5F;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACI,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAgCpD;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA+BpC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAwCvB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH;;;OAGG;IACI,KAAK,IAAI,IAAI;IAuCpB;;OAEG;WACW,mBAAmB,IAAI,IAAI;IAK5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UIManager.d.ts","sourceRoot":"","sources":["../../src/managers/UIManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI/D;;;GAGG;AACH,qBAAa,SAAU,YAAW,iBAAiB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAA4B;IAGhD,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAA6B;gBAEzC,gBAAgB,EAAE,gBAAgB;IAM9C;;OAEG;IACI,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAgE7H;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAmCvC;;OAEG;IACI,cAAc,IAAI,IAAI;IA4D7B;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAuBlC;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAgB5D;;OAEG;IACI,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACI,aAAa,IAAI,WAAW,GAAG,IAAI;IAI1C;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IA0B/G;;OAEG;IACI,SAAS,IAAI,IAAI;IAOxB;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAIvC;;;OAGG;IACI,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB1C;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;OAGG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlD;;OAEG;IACI,UAAU,IAAI,IAAI;IAUzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA+BlC;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYrD;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAwCtD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmE9B;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA4FhD;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAQ/B;;OAEG;IACI,KAAK,IAAI,IAAI;IA+CpB;;OAEG;IACI,yBAAyB,IAAI,IAAI;IAMxC;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAMzC;;OAEG;IACI,OAAO,IAAI,IAAI;CA+CvB"}
1
+ {"version":3,"file":"UIManager.d.ts","sourceRoot":"","sources":["../../src/managers/UIManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGpF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI/D;;;GAGG;AACH,qBAAa,SAAU,YAAW,iBAAiB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAA4B;IAGhD,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAA6B;gBAEzC,gBAAgB,EAAE,gBAAgB;IAM9C;;OAEG;IACI,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAgE7H;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAmCvC;;OAEG;IACI,cAAc,IAAI,IAAI;IA4D7B;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAuBlC;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAgB5D;;OAEG;IACI,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACI,aAAa,IAAI,WAAW,GAAG,IAAI;IAI1C;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IA0B/G;;OAEG;IACI,SAAS,IAAI,IAAI;IAOxB;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAIvC;;;OAGG;IACI,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB1C;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;OAGG;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlD;;OAEG;IACI,UAAU,IAAI,IAAI;IAUzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA+BlC;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYrD;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAwCtD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4E9B;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA4FhD;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAQ/B;;OAEG;IACI,KAAK,IAAI,IAAI;IA+CpB;;OAEG;IACI,yBAAyB,IAAI,IAAI;IAMxC;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAMzC;;OAEG;IACI,OAAO,IAAI,IAAI;CA+CvB"}