@tscaps/engine 0.3.0 → 0.4.0

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.
Files changed (251) hide show
  1. package/README.md +35 -8
  2. package/dist/modules/document/CssVariable.d.ts +6 -0
  3. package/dist/modules/document/CssVariable.d.ts.map +1 -1
  4. package/dist/modules/document/CssVariable.js +6 -0
  5. package/dist/modules/document/CssVariable.js.map +1 -1
  6. package/dist/modules/document/Document.d.ts +3 -0
  7. package/dist/modules/document/Document.d.ts.map +1 -1
  8. package/dist/modules/document/Document.js +12 -1
  9. package/dist/modules/document/Document.js.map +1 -1
  10. package/dist/modules/document/DocumentEditor.d.ts +16 -4
  11. package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
  12. package/dist/modules/document/DocumentEditor.js +14 -10
  13. package/dist/modules/document/DocumentEditor.js.map +1 -1
  14. package/dist/modules/document/Line.d.ts +6 -0
  15. package/dist/modules/document/Line.d.ts.map +1 -1
  16. package/dist/modules/document/Line.js +10 -0
  17. package/dist/modules/document/Line.js.map +1 -1
  18. package/dist/modules/document/Word.d.ts +8 -0
  19. package/dist/modules/document/Word.d.ts.map +1 -1
  20. package/dist/modules/document/Word.js +11 -1
  21. package/dist/modules/document/Word.js.map +1 -1
  22. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts +1 -1
  23. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts.map +1 -1
  24. package/dist/modules/pipeline/RenderPipelineBuilder.js +15 -5
  25. package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
  26. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts +18 -8
  27. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
  28. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +27 -21
  29. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
  30. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +41 -33
  31. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
  32. package/dist/modules/rendering/index.d.ts +4 -0
  33. package/dist/modules/rendering/index.d.ts.map +1 -1
  34. package/dist/modules/rendering/index.js +2 -0
  35. package/dist/modules/rendering/index.js.map +1 -1
  36. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts +13 -6
  37. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts.map +1 -1
  38. package/dist/modules/rendering/subtitle/ActiveRenderSession.js +16 -9
  39. package/dist/modules/rendering/subtitle/ActiveRenderSession.js.map +1 -1
  40. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +5 -2
  41. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -1
  42. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +26 -8
  43. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -1
  44. package/dist/modules/rendering/subtitle/AnimationStateFingerprint.d.ts +20 -0
  45. package/dist/modules/rendering/subtitle/AnimationStateFingerprint.d.ts.map +1 -0
  46. package/dist/modules/rendering/subtitle/AnimationStateFingerprint.js +2 -0
  47. package/dist/modules/rendering/subtitle/AnimationStateFingerprint.js.map +1 -0
  48. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts +4 -0
  49. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts.map +1 -1
  50. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js +8 -0
  51. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js.map +1 -1
  52. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +50 -5
  53. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -1
  54. package/dist/modules/rendering/subtitle/BatchPlanner.js +97 -15
  55. package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -1
  56. package/dist/modules/rendering/subtitle/ElementWidthMeasurer.d.ts +56 -0
  57. package/dist/modules/rendering/subtitle/ElementWidthMeasurer.d.ts.map +1 -0
  58. package/dist/modules/rendering/subtitle/ElementWidthMeasurer.js +119 -0
  59. package/dist/modules/rendering/subtitle/ElementWidthMeasurer.js.map +1 -0
  60. package/dist/modules/rendering/subtitle/ElementWidths.d.ts +23 -0
  61. package/dist/modules/rendering/subtitle/ElementWidths.d.ts.map +1 -0
  62. package/dist/modules/rendering/subtitle/ElementWidths.js +29 -0
  63. package/dist/modules/rendering/subtitle/ElementWidths.js.map +1 -0
  64. package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.d.ts +18 -0
  65. package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.d.ts.map +1 -0
  66. package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.js +42 -0
  67. package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.js.map +1 -0
  68. package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.d.ts +35 -0
  69. package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.d.ts.map +1 -0
  70. package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.js +64 -0
  71. package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.js.map +1 -0
  72. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +2 -0
  73. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -1
  74. package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts.map +1 -1
  75. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +12 -1
  76. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -1
  77. package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.d.ts +28 -0
  78. package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.d.ts.map +1 -0
  79. package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.js +23 -0
  80. package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.js.map +1 -0
  81. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +3 -0
  82. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -1
  83. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +12 -3
  84. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -1
  85. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +7 -1
  86. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -1
  87. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +23 -5
  88. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -1
  89. package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.d.ts +29 -0
  90. package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.d.ts.map +1 -0
  91. package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.js +2 -0
  92. package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.js.map +1 -0
  93. package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.d.ts +19 -0
  94. package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.d.ts.map +1 -0
  95. package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.js +2 -0
  96. package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.js.map +1 -0
  97. package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.d.ts +31 -0
  98. package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.d.ts.map +1 -0
  99. package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.js +89 -0
  100. package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.js.map +1 -0
  101. package/dist/modules/rendering/subtitle/SubtreeAnimationReading.d.ts +49 -0
  102. package/dist/modules/rendering/subtitle/SubtreeAnimationReading.d.ts.map +1 -0
  103. package/dist/modules/rendering/subtitle/SubtreeAnimationReading.js +87 -0
  104. package/dist/modules/rendering/subtitle/SubtreeAnimationReading.js.map +1 -0
  105. package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.d.ts +17 -0
  106. package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.d.ts.map +1 -0
  107. package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.js +53 -0
  108. package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.js.map +1 -0
  109. package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.d.ts +62 -0
  110. package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.d.ts.map +1 -0
  111. package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.js +153 -0
  112. package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.js.map +1 -0
  113. package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.d.ts +47 -0
  114. package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.d.ts.map +1 -0
  115. package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.js +69 -0
  116. package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.js.map +1 -0
  117. package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.d.ts +9 -0
  118. package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.d.ts.map +1 -0
  119. package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.js +10 -0
  120. package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.js.map +1 -0
  121. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -1
  122. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +2 -0
  123. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -1
  124. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts +2 -0
  125. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -1
  126. package/dist/modules/rendering/types/ElementRenderOverrides.js +4 -0
  127. package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -1
  128. package/dist/modules/splitting/BalancedLineSplitter.d.ts +9 -0
  129. package/dist/modules/splitting/BalancedLineSplitter.d.ts.map +1 -1
  130. package/dist/modules/splitting/BalancedLineSplitter.js +15 -3
  131. package/dist/modules/splitting/BalancedLineSplitter.js.map +1 -1
  132. package/dist/modules/splitting/BalancedPixelWidthLineSplitter.d.ts +1 -4
  133. package/dist/modules/splitting/BalancedPixelWidthLineSplitter.d.ts.map +1 -1
  134. package/dist/modules/splitting/BalancedPixelWidthLineSplitter.js +5 -7
  135. package/dist/modules/splitting/BalancedPixelWidthLineSplitter.js.map +1 -1
  136. package/dist/modules/splitting/DomProbeCanvasTextMeasurer.d.ts +16 -7
  137. package/dist/modules/splitting/DomProbeCanvasTextMeasurer.d.ts.map +1 -1
  138. package/dist/modules/splitting/DomProbeCanvasTextMeasurer.js +44 -33
  139. package/dist/modules/splitting/DomProbeCanvasTextMeasurer.js.map +1 -1
  140. package/dist/modules/splitting/TextMeasurer.d.ts +9 -4
  141. package/dist/modules/splitting/TextMeasurer.d.ts.map +1 -1
  142. package/dist/modules/svg-filter/SvgFilter.d.ts +9 -0
  143. package/dist/modules/svg-filter/SvgFilter.d.ts.map +1 -1
  144. package/dist/modules/svg-filter/SvgFilter.js +17 -0
  145. package/dist/modules/svg-filter/SvgFilter.js.map +1 -1
  146. package/dist/modules/svg-filter/SvgFilterDefinitions.d.ts +7 -0
  147. package/dist/modules/svg-filter/SvgFilterDefinitions.d.ts.map +1 -1
  148. package/dist/modules/svg-filter/SvgFilterDefinitions.js +17 -0
  149. package/dist/modules/svg-filter/SvgFilterDefinitions.js.map +1 -1
  150. package/dist/modules/tagging/RegexTagger.js +1 -2
  151. package/dist/modules/tagging/RegexTagger.js.map +1 -1
  152. package/dist/modules/tagging/SpanTagger.js +1 -2
  153. package/dist/modules/tagging/SpanTagger.js.map +1 -1
  154. package/dist/modules/tagging/StructureTagger.js +1 -2
  155. package/dist/modules/tagging/StructureTagger.js.map +1 -1
  156. package/dist/modules/tagging/WordlistTagger.js +1 -2
  157. package/dist/modules/tagging/WordlistTagger.js.map +1 -1
  158. package/dist/modules/transcription/AudioSegmentLayout.d.ts +23 -0
  159. package/dist/modules/transcription/AudioSegmentLayout.d.ts.map +1 -0
  160. package/dist/modules/transcription/AudioSegmentLayout.js +40 -0
  161. package/dist/modules/transcription/AudioSegmentLayout.js.map +1 -0
  162. package/dist/modules/transcription/FallbackAudioDecoder.d.ts +25 -0
  163. package/dist/modules/transcription/FallbackAudioDecoder.d.ts.map +1 -0
  164. package/dist/modules/transcription/FallbackAudioDecoder.js +46 -0
  165. package/dist/modules/transcription/FallbackAudioDecoder.js.map +1 -0
  166. package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.d.ts +71 -0
  167. package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.d.ts.map +1 -0
  168. package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.js +145 -0
  169. package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.js.map +1 -0
  170. package/dist/modules/transcription/WebAudioAudioDecoder.d.ts +46 -0
  171. package/dist/modules/transcription/WebAudioAudioDecoder.d.ts.map +1 -0
  172. package/dist/modules/transcription/WebAudioAudioDecoder.js +123 -0
  173. package/dist/modules/transcription/WebAudioAudioDecoder.js.map +1 -0
  174. package/dist/modules/transcription/index.d.ts +4 -0
  175. package/dist/modules/transcription/index.d.ts.map +1 -1
  176. package/dist/modules/transcription/index.js +3 -0
  177. package/dist/modules/transcription/index.js.map +1 -1
  178. package/dist/modules/video/RenderJob.d.ts +23 -0
  179. package/dist/modules/video/RenderJob.d.ts.map +1 -1
  180. package/dist/modules/video/index.d.ts +5 -3
  181. package/dist/modules/video/index.d.ts.map +1 -1
  182. package/dist/modules/video/index.js +2 -0
  183. package/dist/modules/video/index.js.map +1 -1
  184. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts +33 -1
  185. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -1
  186. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +97 -20
  187. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -1
  188. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts.map +1 -1
  189. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js +1 -0
  190. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js.map +1 -1
  191. package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.d.ts +20 -9
  192. package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.d.ts.map +1 -1
  193. package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.js +56 -14
  194. package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.js.map +1 -1
  195. package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.d.ts +29 -10
  196. package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.d.ts.map +1 -1
  197. package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.js +48 -17
  198. package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.js.map +1 -1
  199. package/dist/modules/video/mediabunny/caption/SubtitleLayerSource.d.ts +28 -11
  200. package/dist/modules/video/mediabunny/caption/SubtitleLayerSource.d.ts.map +1 -1
  201. package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.d.ts +33 -12
  202. package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.d.ts.map +1 -1
  203. package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.js +53 -18
  204. package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.js.map +1 -1
  205. package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.d.ts.map +1 -1
  206. package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.js +7 -3
  207. package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.js.map +1 -1
  208. package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.d.ts +45 -0
  209. package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.d.ts.map +1 -0
  210. package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.js +93 -0
  211. package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.js.map +1 -0
  212. package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.d.ts.map +1 -1
  213. package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.js +3 -1
  214. package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.js.map +1 -1
  215. package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.d.ts +26 -0
  216. package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.d.ts.map +1 -0
  217. package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.js +55 -0
  218. package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.js.map +1 -0
  219. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderFactory.d.ts +6 -1
  220. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderFactory.d.ts.map +1 -1
  221. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.d.ts +14 -0
  222. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.d.ts.map +1 -0
  223. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.js +14 -0
  224. package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.js.map +1 -0
  225. package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.d.ts +16 -0
  226. package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.d.ts.map +1 -0
  227. package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.js +23 -0
  228. package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.js.map +1 -0
  229. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts +9 -3
  230. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts.map +1 -1
  231. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +24 -7
  232. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -1
  233. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts +35 -14
  234. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts.map +1 -1
  235. package/package.json +4 -1
  236. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts +0 -13
  237. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts.map +0 -1
  238. package/dist/modules/rendering/subtitle/AbstractAnim.js +0 -2
  239. package/dist/modules/rendering/subtitle/AbstractAnim.js.map +0 -1
  240. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +0 -39
  241. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +0 -1
  242. package/dist/modules/rendering/subtitle/AnimationProbe.js +0 -203
  243. package/dist/modules/rendering/subtitle/AnimationProbe.js.map +0 -1
  244. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts +0 -17
  245. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts.map +0 -1
  246. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js +0 -58
  247. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js.map +0 -1
  248. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +0 -27
  249. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +0 -1
  250. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js +0 -84
  251. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Word.js","sourceRoot":"","sources":["../../../src/modules/document/Word.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAwBlE,MAAM,OAAO,IAAI;IACf,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAS;IACb,IAAI,CAAe;IACnB,aAAa,CAAmB;IAChC,YAAY,CAAmB;IAC/B,EAAE,CAAS;IACX,WAAW,CAAS;IACpB,SAAS,CAAgB;IACzB,UAAU,CAAoB;IACvC;;;;OAIG;IACM,aAAa,CAAgB;IAC7B,QAAQ,CAAgB;IAEjC,YAAY,KAAmB;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,WAAmB;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,SAAS,CAAC,gBAAgB,CAAC;QACtE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,SAAS,CAAC,cAAc,CAAC;QACrE,OAAO,SAAS,CAAC,gBAAgB,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,WAAmB;QAC/B,MAAM,OAAO,GAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,WAAmB,EAAE,GAAsB;QACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,OAAO;YACL,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACrF,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACpF,CAAC,WAAW,CAAC,8BAA8B,CAAC,EAAE,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAErF,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACpF,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAChF,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAElF,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACpF,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACjF,CAAC,WAAW,CAAC,8BAA8B,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAEjF,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACjD,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnG,CAAC;IAEO,YAAY,CAAC,IAAsB,EAAE,IAAY;QACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAA8B;QACjC,OAAO,IAAI,IAAI,CAAI;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAI,QAAW;QACzB,OAAO,IAAI,IAAI,CAAI;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ;SACT,CAAC,CAAC;IACL,CAAC"}
1
+ {"version":3,"file":"Word.js","sourceRoot":"","sources":["../../../src/modules/document/Word.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ export declare class RenderPipelineBuilder {
99
99
  withAlignment(alignment: AlignmentConfig): this;
100
100
  withRenderingConfig(rendering: RenderingConfig): this;
101
101
  withInlineStyles(inlineStyles: InlineStyleMap): this;
102
- /** Replaces the single-style default wholesale; subsequent style atajos layer on top of this. */
102
+ /** Replaces the single-style default wholesale; subsequent style shortcuts layer on top of this. */
103
103
  withSubtitleStyle(style: SubtitleStyle): this;
104
104
  /**
105
105
  * Switches to the multi-kind mode: the supplied map is passed to the
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPipelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/modules/pipeline/RenderPipelineBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderPipelineBuilder.d.ts","sourceRoot":"","sources":["../../../src/modules/pipeline/RenderPipelineBuilder.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import { BoundarySegmentSplitter } from '../splitting/BoundarySegmentSplitter';
6
6
  import { LimitByScaledCharsSegmentSplitter } from '../splitting/LimitByScaledCharsSegmentSplitter';
7
7
  import { StructureTagger } from '../tagging/StructureTagger';
8
8
  import { BrowserSubtitleFrameRenderer } from '../rendering/BrowserSubtitleFrameRenderer';
9
+ import { SpriteSheetSizeProbe } from '../rendering/subtitle/SpriteSheetSizeProbe';
10
+ import { ImageDecodeSpriteSheetRasterProbe } from '../rendering/subtitle/ImageDecodeSpriteSheetRasterProbe';
9
11
  import { BrowserOverlayFrameRenderer } from '../rendering/BrowserOverlayFrameRenderer';
10
12
  import { BrowserCssResourceEmbedder } from '../css/BrowserCssResourceEmbedder';
11
13
  import { MediaBunnyVideoRenderer } from '../video/mediabunny/MediaBunnyVideoRenderer';
@@ -27,10 +29,15 @@ const DEFAULT_SEGMENT_SPLITTER_CONFIG = {
27
29
  minChars: 10,
28
30
  scale: 1,
29
31
  };
32
+ // A centred caption at `maxWidthRatio` leaves half of what it does not take
33
+ // clear on each side, and the short-form players draw an action rail down the
34
+ // right edge — the widest of them claims around 11% of the width. Anything
35
+ // past 0.78 puts a full line under it, so the default sits below that with
36
+ // room for the rail's own imprecision.
30
37
  const DEFAULT_LINE_SPLITTER_CONFIG = {
31
38
  maxLines: 2,
32
39
  minLines: 1,
33
- maxWidthRatio: 0.8,
40
+ maxWidthRatio: 0.72,
34
41
  };
35
42
  const DEFAULT_ALIGNMENT = {
36
43
  verticalAlign: 'bottom',
@@ -174,7 +181,7 @@ export class RenderPipelineBuilder {
174
181
  this.style = { ...this.style, inlineStyles };
175
182
  return this;
176
183
  }
177
- /** Replaces the single-style default wholesale; subsequent style atajos layer on top of this. */
184
+ /** Replaces the single-style default wholesale; subsequent style shortcuts layer on top of this. */
178
185
  withSubtitleStyle(style) {
179
186
  this.style = style;
180
187
  return this;
@@ -307,16 +314,19 @@ export class RenderPipelineBuilder {
307
314
  });
308
315
  }
309
316
  buildDefaultSubtitleLayerSource(cssResourceEmbedder, wordSplitter) {
310
- return new ComposedSubtitleLayerSource(new BatchedSubtitleLayerSource(this.resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter)), new VideoBoundSubtitleLayerSource(this.resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter)));
317
+ // Shared by both renderers: a walk decodes rasters up to the whole
318
+ // pixel budget, and the two work at the same output size.
319
+ const sizeProbe = new SpriteSheetSizeProbe(new ImageDecodeSpriteSheetRasterProbe());
320
+ return new ComposedSubtitleLayerSource(new BatchedSubtitleLayerSource(this.resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter, sizeProbe)), new VideoBoundSubtitleLayerSource(this.resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter, sizeProbe)));
311
321
  }
312
322
  // Each layer source gets its own subtitle frame renderer when the
313
323
  // builder owns the default: the two sources hold independent open()
314
324
  // state that would clash on a shared instance. A consumer-supplied
315
325
  // renderer is reused as-is — sharing is then the consumer's call.
316
- resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter) {
326
+ resolveSubtitleFrameRenderer(cssResourceEmbedder, wordSplitter, sizeProbe) {
317
327
  if (this.subtitleFrameRenderer !== null)
318
328
  return this.subtitleFrameRenderer;
319
- return BrowserSubtitleFrameRenderer.create(cssResourceEmbedder, wordSplitter);
329
+ return BrowserSubtitleFrameRenderer.create(cssResourceEmbedder, wordSplitter, { sizeProbe });
320
330
  }
321
331
  }
322
332
  //# sourceMappingURL=RenderPipelineBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPipelineBuilder.js","sourceRoot":"","sources":["../../../src/modules/pipeline/RenderPipelineBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderPipelineBuilder.js","sourceRoot":"","sources":["../../../src/modules/pipeline/RenderPipelineBuilder.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ import type { VideoFrameSource } from '../rendering/types/VideoFrameSource';
4
4
  import type { CssResourceEmbedder } from '../css/CssResourceEmbedder';
5
5
  import type { WordSplitter } from '../splitting/WordSplitter';
6
6
  import { PreparedStyleFactory } from '../rendering/subtitle/PreparedStyleFactory';
7
- import { SpriteSheetSizeProber } from '../rendering/subtitle/SpriteSheetSizeProber';
7
+ import { SpriteSheetSizeProbe } from '../rendering/subtitle/SpriteSheetSizeProbe';
8
8
  import { ActiveRenderSessionFactory } from '../rendering/subtitle/ActiveRenderSessionFactory';
9
+ import type { AnimationStateFingerprintStrategy } from '../rendering/subtitle/AnimationStateFingerprint';
9
10
  /**
10
11
  * Browser-native `SubtitleFrameRenderer` that builds each batch as a
11
12
  * single SVG holding one `foreignObject` per unique visual state, and
@@ -24,28 +25,37 @@ import { ActiveRenderSessionFactory } from '../rendering/subtitle/ActiveRenderSe
24
25
  */
25
26
  export declare class BrowserSubtitleFrameRenderer implements SubtitleFrameRenderer {
26
27
  private readonly preparedStyleFactory;
27
- private readonly sizeProber;
28
+ private readonly sizeProbe;
28
29
  private readonly sessionFactory;
29
30
  private session;
30
31
  private preparedStyles;
31
32
  private width;
32
33
  private height;
33
- constructor(preparedStyleFactory: PreparedStyleFactory, sizeProber: SpriteSheetSizeProber, sessionFactory: ActiveRenderSessionFactory);
34
+ private maxTilesPerBatch;
35
+ constructor(preparedStyleFactory: PreparedStyleFactory, sizeProbe: SpriteSheetSizeProbe, sessionFactory: ActiveRenderSessionFactory);
34
36
  /**
35
37
  * Wires the default collaborator graph: a fresh `CssScoper`,
36
38
  * `CssMinifier`, `CssVarReferenceScanner`, `BaselineCssComposer`,
37
39
  * `SvgFilterScoper`, and `SegmentPaddingCssRuleBuilder` for the
38
- * style preparation pipeline, plus the per-batch sprite-size prober
39
- * and the per-session render-state factory. Pass `maxBufferPixels`
40
- * to override the default per-batch pixel budget.
40
+ * style preparation pipeline, plus the sprite-size probe and the
41
+ * per-session render-state factory.
42
+ *
43
+ * `sizeProbe` shares one probe across renderers working at the same
44
+ * output size, which is worth doing — a walk decodes rasters up to
45
+ * the whole pixel budget. It carries its own budget, so
46
+ * `maxBufferPixels` is ignored alongside it.
47
+ *
48
+ * `animationStateFingerprint` picks which implementation describes
49
+ * where a segment's animations stand. Defaults to `keyframe-scan`.
41
50
  */
42
51
  static create(cssEmbedder: CssResourceEmbedder, wordSplitter: WordSplitter, options?: {
43
52
  maxBufferPixels?: number;
53
+ sizeProbe?: SpriteSheetSizeProbe;
54
+ animationStateFingerprint?: AnimationStateFingerprintStrategy;
44
55
  }): BrowserSubtitleFrameRenderer;
45
56
  open(doc: Document, styles: Readonly<Record<string, SubtitleStyle>>, width: number, height: number, videoFrameSource?: VideoFrameSource): Promise<void>;
46
- getMaxBatchSize(): Promise<number>;
57
+ getMaxTilesPerBatch(): Promise<number>;
47
58
  getFrames(timestamps: ReadonlyArray<number>): Promise<Array<SubtitleFrame | null>>;
48
- getFrame(timestamp: number): Promise<SubtitleFrame | null>;
49
59
  close(): void;
50
60
  }
51
61
  //# sourceMappingURL=BrowserSubtitleFrameRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserSubtitleFrameRenderer.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/BrowserSubtitleFrameRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAOpG;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IAOtE,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IARjC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAqB;gBAGhB,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,qBAAqB,EACjC,cAAc,EAAE,0BAA0B;IAG7D;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,mBAAmB,EAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GACrC,4BAA4B;IAsBzB,IAAI,CACR,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC;IAiBV,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAKlF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAMhE,KAAK,IAAI,IAAI;CAad"}
1
+ {"version":3,"file":"BrowserSubtitleFrameRenderer.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/BrowserSubtitleFrameRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAO/G;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,4BAA6B,YAAW,qBAAqB;IAQtE,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IATjC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,gBAAgB,CAAuB;gBAG5B,oBAAoB,EAAE,oBAAoB,EAC1C,SAAS,EAAE,oBAAoB,EAC/B,cAAc,EAAE,0BAA0B;IAG7D;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,mBAAmB,EAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;QAAC,yBAAyB,CAAC,EAAE,iCAAiC,CAAA;KAAE,GACtI,4BAA4B;IAyBzB,IAAI,CACR,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC;IAkBV,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOtC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAKxF,KAAK,IAAI,IAAI;CAcd"}
@@ -5,7 +5,8 @@ import { BaselineCssComposer } from '../rendering/styles/BaselineCssComposer';
5
5
  import { SvgFilterScoper } from '../svg-filter/SvgFilterScoper';
6
6
  import { SegmentPaddingCssRuleBuilder } from '../rendering/styles/SegmentPaddingCssRuleBuilder';
7
7
  import { PreparedStyleFactory } from '../rendering/subtitle/PreparedStyleFactory';
8
- import { SpriteSheetSizeProber } from '../rendering/subtitle/SpriteSheetSizeProber';
8
+ import { SpriteSheetSizeProbe } from '../rendering/subtitle/SpriteSheetSizeProbe';
9
+ import { ImageDecodeSpriteSheetRasterProbe } from '../rendering/subtitle/ImageDecodeSpriteSheetRasterProbe';
9
10
  import { ActiveRenderSessionFactory } from '../rendering/subtitle/ActiveRenderSessionFactory';
10
11
  import { WordFragmenter } from '../bidi/WordFragmenter';
11
12
  import { BidiJsAnalyzer } from '../bidi/BidiJsAnalyzer';
@@ -28,33 +29,39 @@ import { CursiveScriptDetector } from '../bidi/CursiveScriptDetector';
28
29
  */
29
30
  export class BrowserSubtitleFrameRenderer {
30
31
  preparedStyleFactory;
31
- sizeProber;
32
+ sizeProbe;
32
33
  sessionFactory;
33
34
  session = null;
34
35
  preparedStyles = null;
35
36
  width;
36
37
  height;
37
- constructor(preparedStyleFactory, sizeProber, sessionFactory) {
38
+ maxTilesPerBatch = null;
39
+ constructor(preparedStyleFactory, sizeProbe, sessionFactory) {
38
40
  this.preparedStyleFactory = preparedStyleFactory;
39
- this.sizeProber = sizeProber;
41
+ this.sizeProbe = sizeProbe;
40
42
  this.sessionFactory = sessionFactory;
41
43
  }
42
44
  /**
43
45
  * Wires the default collaborator graph: a fresh `CssScoper`,
44
46
  * `CssMinifier`, `CssVarReferenceScanner`, `BaselineCssComposer`,
45
47
  * `SvgFilterScoper`, and `SegmentPaddingCssRuleBuilder` for the
46
- * style preparation pipeline, plus the per-batch sprite-size prober
47
- * and the per-session render-state factory. Pass `maxBufferPixels`
48
- * to override the default per-batch pixel budget.
48
+ * style preparation pipeline, plus the sprite-size probe and the
49
+ * per-session render-state factory.
50
+ *
51
+ * `sizeProbe` shares one probe across renderers working at the same
52
+ * output size, which is worth doing — a walk decodes rasters up to
53
+ * the whole pixel budget. It carries its own budget, so
54
+ * `maxBufferPixels` is ignored alongside it.
55
+ *
56
+ * `animationStateFingerprint` picks which implementation describes
57
+ * where a segment's animations stand. Defaults to `keyframe-scan`.
49
58
  */
50
59
  static create(cssEmbedder, wordSplitter, options) {
51
60
  const baselineCssComposer = new BaselineCssComposer();
52
61
  const preparedStyleFactory = new PreparedStyleFactory(cssEmbedder, new CssScoper(), new CssMinifier(), new CssVarReferenceScanner(), baselineCssComposer, new SvgFilterScoper(), new SegmentPaddingCssRuleBuilder());
53
- const sizeProber = options?.maxBufferPixels !== undefined
54
- ? new SpriteSheetSizeProber(options.maxBufferPixels)
55
- : new SpriteSheetSizeProber();
56
- const sessionFactory = new ActiveRenderSessionFactory(wordSplitter, new WordFragmenter(new BidiJsAnalyzer(), new CursiveScriptDetector()), baselineCssComposer);
57
- return new BrowserSubtitleFrameRenderer(preparedStyleFactory, sizeProber, sessionFactory);
62
+ const sizeProbe = options?.sizeProbe ?? new SpriteSheetSizeProbe(new ImageDecodeSpriteSheetRasterProbe(), null, options?.maxBufferPixels);
63
+ const sessionFactory = new ActiveRenderSessionFactory(wordSplitter, new WordFragmenter(new BidiJsAnalyzer(), new CursiveScriptDetector()), baselineCssComposer, options?.animationStateFingerprint ?? 'keyframe-scan');
64
+ return new BrowserSubtitleFrameRenderer(preparedStyleFactory, sizeProbe, sessionFactory);
58
65
  }
59
66
  async open(doc, styles, width, height, videoFrameSource) {
60
67
  const requiresFrame = Object.values(styles).some((s) => s.rendering.videoFrame.required);
@@ -62,6 +69,7 @@ export class BrowserSubtitleFrameRenderer {
62
69
  throw new Error('A SubtitleStyle declares videoFrame.required=true but no VideoFrameSource was supplied to open().');
63
70
  }
64
71
  this.width = width;
72
+ this.maxTilesPerBatch = null;
65
73
  this.height = height;
66
74
  const prepared = {};
67
75
  for (const [kind, style] of Object.entries(styles)) {
@@ -70,19 +78,16 @@ export class BrowserSubtitleFrameRenderer {
70
78
  this.preparedStyles = prepared;
71
79
  this.session = this.sessionFactory.create(doc, prepared, width, height, videoFrameSource ?? null);
72
80
  }
73
- async getMaxBatchSize() {
74
- return this.sizeProber.probe(this.width, this.height);
81
+ async getMaxTilesPerBatch() {
82
+ if (this.maxTilesPerBatch === null) {
83
+ this.maxTilesPerBatch = Math.max(1, await this.sizeProbe.probe(this.width, this.height));
84
+ }
85
+ return this.maxTilesPerBatch;
75
86
  }
76
87
  async getFrames(timestamps) {
77
88
  if (!this.session)
78
89
  return timestamps.map(() => null);
79
- return this.session.getFrames(timestamps);
80
- }
81
- async getFrame(timestamp) {
82
- if (!this.session)
83
- return null;
84
- const [frame] = await this.session.getFrames([timestamp]);
85
- return frame ?? null;
90
+ return this.session.getFrames(timestamps, await this.getMaxTilesPerBatch());
86
91
  }
87
92
  close() {
88
93
  this.session?.dispose();
@@ -96,6 +101,7 @@ export class BrowserSubtitleFrameRenderer {
96
101
  }
97
102
  this.width = undefined;
98
103
  this.height = undefined;
104
+ this.maxTilesPerBatch = null;
99
105
  }
100
106
  }
101
107
  //# sourceMappingURL=BrowserSubtitleFrameRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserSubtitleFrameRenderer.js","sourceRoot":"","sources":["../../../src/modules/rendering/BrowserSubtitleFrameRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserSubtitleFrameRenderer.js","sourceRoot":"","sources":["../../../src/modules/rendering/BrowserSubtitleFrameRenderer.ts"],"names":[],"mappings":"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"}
@@ -40,11 +40,17 @@ export interface SubtitleStyle {
40
40
  * A drawable handle for one rendered subtitle frame. The consumer
41
41
  * paints it into its own 2D context through `draw`.
42
42
  *
43
- * The underlying raster is owned by the renderer that produced this
44
- * frame and stays valid only until the next `getFrames` call on the
45
- * same renderer or until `close`. Holding a `SubtitleFrame` past
46
- * either event leaves `draw` painting whatever state has since
47
- * replaced the raster.
43
+ * The underlying raster belongs to the **batch** that produced this
44
+ * frame rather than to the renderer, and stays valid until `close`.
45
+ * Frames from separate batches can therefore be held and painted
46
+ * alongside each other.
47
+ *
48
+ * That is load-bearing, not incidental: a caller gathers a run of
49
+ * frames before it paints any of them, and a run can span a batch
50
+ * boundary. An implementation that recycled one surface across
51
+ * batches would leave every frame but the last painting a raster that
52
+ * has since been overwritten — silently, and only for the runs that
53
+ * happen to straddle the boundary.
48
54
  */
49
55
  export interface SubtitleFrame {
50
56
  /**
@@ -58,16 +64,15 @@ export interface SubtitleFrame {
58
64
  *
59
65
  * Usage:
60
66
  * 1. `open` once per document.
61
- * 2. Either `getFrames(timestamps)` per batch (with at most
62
- * `getMaxBatchSize()` entries), or `getFrame(timestamp)` per
63
- * individual timestamp.
67
+ * 2. `getFrames(timestamps)` per batch, advancing by the length of
68
+ * what it returns.
64
69
  * 3. `close` when done.
65
70
  */
66
71
  export interface SubtitleFrameRenderer {
67
72
  /**
68
73
  * Prepares the renderer for `doc` and the set of styles its
69
74
  * Sections may reference. `styles` is keyed by `Section.kind`.
70
- * Must complete before the first `getFrames`/`getFrame` call.
75
+ * Must complete before the first `getFrames` call.
71
76
  *
72
77
  * `videoFrameSource` is required when any style in `styles` has
73
78
  * `rendering.videoFrame.required` set, and may be omitted
@@ -76,40 +81,43 @@ export interface SubtitleFrameRenderer {
76
81
  */
77
82
  open(doc: Document, styles: Readonly<Record<string, SubtitleStyle>>, width: number, height: number, videoFrameSource?: VideoFrameSource): Promise<void>;
78
83
  /**
79
- * Maximum number of timestamps a single `getFrames` call accepts
80
- * at the given output dimensions. Bounded by the renderer's memory
81
- * budget and any platform raster-size caps. A caller that exceeds
82
- * this may see the call fail outright.
84
+ * How many distinct pictures one batch can rasterize at the given
85
+ * output dimensions, bounded by the renderer's memory budget and by
86
+ * any platform raster-size caps.
87
+ *
88
+ * This is a count of pictures, not of timestamps: timestamps that
89
+ * paint the same thing share one, so a batch covers as much video as
90
+ * the captions hold still for. Offer `getFrames` as many timestamps
91
+ * as you are willing to look ahead and let it answer how far it
92
+ * reached.
83
93
  */
84
- getMaxBatchSize(): Promise<number>;
94
+ getMaxTilesPerBatch(): Promise<number>;
85
95
  /**
86
- * Renders subtitle frames for the given timestamps. The returned
87
- * array has the same length and order as `timestamps`; an entry is
88
- * `null` for timestamps where no Section is active.
96
+ * Renders subtitle frames for the given timestamps, in order. An
97
+ * entry is `null` for a timestamp where no Section is active.
98
+ *
99
+ * The returned array covers a **prefix** of `timestamps`: the batch
100
+ * ends where the pictures it holds run out of room, so ask for as
101
+ * many as you want to look ahead, take what comes back, and start
102
+ * the next call where this one stopped. It is never empty for a
103
+ * non-empty input, so a caller advancing by its length always makes
104
+ * progress. Asking for at most `getMaxTilesPerBatch()` timestamps
105
+ * always comes back whole, since no batch can need more pictures
106
+ * than it has timestamps.
89
107
  *
90
- * The implementation may deduplicate internally: timestamps that
91
- * hit the same visual state share a single raster tile inside the
92
- * batch and their return entries point at the same tile.
108
+ * The implementation deduplicates internally: timestamps that hit
109
+ * the same visual state share a single raster tile inside the batch
110
+ * and their return entries point at the same tile.
93
111
  *
94
112
  * Frames produced by one call may share underlying raster
95
- * resources; those resources stay valid until the next
96
- * `getFrames`/`getFrame` call or until `close`.
113
+ * resources, and those resources belong to the call rather than to
114
+ * the renderer: a later `getFrames` does not disturb them.
97
115
  */
98
116
  getFrames(timestamps: ReadonlyArray<number>): Promise<Array<SubtitleFrame | null>>;
99
- /**
100
- * Renders the subtitle frame for a single timestamp. Returns
101
- * `null` when no Section is active at `timestamp`. Equivalent in
102
- * result to `(await getFrames([timestamp]))[0]`.
103
- *
104
- * The returned frame's underlying raster follows the same
105
- * lifetime as `getFrames` results: valid until the next
106
- * `getFrames`/`getFrame` call or until `close`.
107
- */
108
- getFrame(timestamp: number): Promise<SubtitleFrame | null>;
109
117
  /**
110
118
  * Releases any host-document state the renderer attached during
111
119
  * `open` (probe stylesheets, offscreen containers). After `close`,
112
- * `getFrames`/`getFrame` return `null` for every timestamp.
120
+ * `getFrames` returns `null` for every timestamp.
113
121
  */
114
122
  close(): void;
115
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubtitleFrameRenderer.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/SubtitleFrameRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,oLAAoL;IACpL,YAAY,EAAE,cAAc,CAAC;IAC7B,kIAAkI;IAClI,SAAS,EAAE,eAAe,CAAC;IAC3B,yFAAyF;IACzF,SAAS,EAAE,eAAe,CAAC;IAC3B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8CAA8C;IAC9C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,sHAAsH;IACtH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,0IAA0I;IAC1I,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACpE,8NAA8N;IAC9N,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CACF,OAAO,EAAE,iCAAiC,GAAG,wBAAwB,EACrE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAAC;CACT;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,IAAI,CACF,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnF;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAE3D;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"SubtitleFrameRenderer.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/SubtitleFrameRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,oLAAoL;IACpL,YAAY,EAAE,cAAc,CAAC;IAC7B,kIAAkI;IAClI,SAAS,EAAE,eAAe,CAAC;IAC3B,yFAAyF;IACzF,SAAS,EAAE,eAAe,CAAC;IAC3B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8CAA8C;IAC9C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,sHAAsH;IACtH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,0IAA0I;IAC1I,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACpE,8NAA8N;IAC9N,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CACF,OAAO,EAAE,iCAAiC,GAAG,wBAAwB,EACrE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAAC;CACT;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,IAAI,CACF,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnF;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -1,5 +1,9 @@
1
1
  export type { SubtitleFrameRenderer, SubtitleFrame, SubtitleStyle } from '../rendering/SubtitleFrameRenderer';
2
2
  export { BrowserSubtitleFrameRenderer } from '../rendering/BrowserSubtitleFrameRenderer';
3
+ export { SpriteSheetSizeProbe } from '../rendering/subtitle/SpriteSheetSizeProbe';
4
+ export { ImageDecodeSpriteSheetRasterProbe } from '../rendering/subtitle/ImageDecodeSpriteSheetRasterProbe';
5
+ export type { SpriteSheetProbeObserver, SingleTileFallback, } from '../rendering/subtitle/SpriteSheetProbeObserver';
6
+ export type { SpriteSheetRasterProbe, SpriteSheetRasterOutcome, SpriteSheetRasterRefusal, } from '../rendering/subtitle/SpriteSheetRasterProbe';
3
7
  export { LayeredSubtitleFrame } from '../rendering/LayeredSubtitleFrame';
4
8
  export type { OverlayFrameRenderer, OverlayFrame } from '../rendering/OverlayFrameRenderer';
5
9
  export { BrowserOverlayFrameRenderer } from '../rendering/BrowserOverlayFrameRenderer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACpH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,YAAY,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACvG,YAAY,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/rendering/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACpH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,iCAAiC,EAAE,MAAM,+DAA+D,CAAC;AAClH,YAAY,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,sDAAsD,CAAC;AAC9D,YAAY,EACV,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,YAAY,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACvG,YAAY,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { BrowserSubtitleFrameRenderer } from '../rendering/BrowserSubtitleFrameRenderer';
2
+ export { SpriteSheetSizeProbe } from '../rendering/subtitle/SpriteSheetSizeProbe';
3
+ export { ImageDecodeSpriteSheetRasterProbe } from '../rendering/subtitle/ImageDecodeSpriteSheetRasterProbe';
2
4
  export { LayeredSubtitleFrame } from '../rendering/LayeredSubtitleFrame';
3
5
  export { BrowserOverlayFrameRenderer } from '../rendering/BrowserOverlayFrameRenderer';
4
6
  export { VERTICAL_ALIGNS } from '../rendering/types/AlignmentConfig';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/rendering/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAK7F,OAAO,EAAE,mBAAmB,EAAsB,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/rendering/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,iCAAiC,EAAE,MAAM,+DAA+D,CAAC;AAUlH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAK7F,OAAO,EAAE,mBAAmB,EAAsB,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACzK,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC"}
@@ -1,20 +1,27 @@
1
1
  import type { SubtitleFrame } from '../../rendering/SubtitleFrameRenderer';
2
2
  import type { BatchPlanner } from '../../rendering/subtitle/BatchPlanner';
3
3
  import type { SpriteSheetCompositor } from '../../rendering/subtitle/SpriteSheetCompositor';
4
- import type { AnimationProbe } from '../../rendering/subtitle/AnimationProbe';
5
4
  import type { SegmentPaintRegionCache } from '../../rendering/subtitle/SegmentPaintRegionCache';
5
+ import type { ElementWidthMeasurer } from '../../rendering/subtitle/ElementWidthMeasurer';
6
6
  /**
7
7
  * Per-document render session. Routes each `getFrames` batch through
8
- * the planner → compositor pipeline and clears the animation-timing
9
- * cache and segment paint-region cache on dispose.
8
+ * the planner → compositor pipeline and clears the segment
9
+ * paint-region cache on dispose.
10
10
  */
11
11
  export declare class ActiveRenderSession {
12
12
  private readonly batchPlanner;
13
13
  private readonly spriteSheetCompositor;
14
- private readonly animationProbe;
15
14
  private readonly paintRegionCache;
16
- constructor(batchPlanner: BatchPlanner, spriteSheetCompositor: SpriteSheetCompositor, animationProbe: AnimationProbe, paintRegionCache: SegmentPaintRegionCache);
17
- getFrames(timestamps: ReadonlyArray<number>): Promise<Array<SubtitleFrame | null>>;
15
+ private readonly elementWidthMeasurer;
16
+ constructor(batchPlanner: BatchPlanner, spriteSheetCompositor: SpriteSheetCompositor, paintRegionCache: SegmentPaintRegionCache, elementWidthMeasurer: ElementWidthMeasurer);
17
+ /**
18
+ * Frames for as many of `timestamps` as one sprite sheet of
19
+ * `maxTilesPerSheet` tiles per asset group can serve. The result
20
+ * covers a prefix of the input — at least its first entry — so a
21
+ * caller may offer more timestamps than any sheet could hold and
22
+ * read back how far this one reached.
23
+ */
24
+ getFrames(timestamps: ReadonlyArray<number>, maxTilesPerSheet: number): Promise<Array<SubtitleFrame | null>>;
18
25
  dispose(): void;
19
26
  }
20
27
  //# sourceMappingURL=ActiveRenderSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveRenderSession.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAEnG;;;;GAIG;AACH,qBAAa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,uBAAuB;IAGtD,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAQxF,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"ActiveRenderSession.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAE7F;;;;GAIG;AACH,qBAAa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAHpB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,gBAAgB,EAAE,uBAAuB,EACzC,oBAAoB,EAAE,oBAAoB;IAG7D;;;;;;OAMG;IACG,SAAS,CACb,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EACjC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAQvC,OAAO,IAAI,IAAI;CAIhB"}
@@ -1,31 +1,38 @@
1
1
  /**
2
2
  * Per-document render session. Routes each `getFrames` batch through
3
- * the planner → compositor pipeline and clears the animation-timing
4
- * cache and segment paint-region cache on dispose.
3
+ * the planner → compositor pipeline and clears the segment
4
+ * paint-region cache on dispose.
5
5
  */
6
6
  export class ActiveRenderSession {
7
7
  batchPlanner;
8
8
  spriteSheetCompositor;
9
- animationProbe;
10
9
  paintRegionCache;
11
- constructor(batchPlanner, spriteSheetCompositor, animationProbe, paintRegionCache) {
10
+ elementWidthMeasurer;
11
+ constructor(batchPlanner, spriteSheetCompositor, paintRegionCache, elementWidthMeasurer) {
12
12
  this.batchPlanner = batchPlanner;
13
13
  this.spriteSheetCompositor = spriteSheetCompositor;
14
- this.animationProbe = animationProbe;
15
14
  this.paintRegionCache = paintRegionCache;
15
+ this.elementWidthMeasurer = elementWidthMeasurer;
16
16
  }
17
- async getFrames(timestamps) {
17
+ /**
18
+ * Frames for as many of `timestamps` as one sprite sheet of
19
+ * `maxTilesPerSheet` tiles per asset group can serve. The result
20
+ * covers a prefix of the input — at least its first entry — so a
21
+ * caller may offer more timestamps than any sheet could hold and
22
+ * read back how far this one reached.
23
+ */
24
+ async getFrames(timestamps, maxTilesPerSheet) {
18
25
  if (timestamps.length === 0)
19
26
  return [];
20
- const plan = this.batchPlanner.plan(timestamps);
27
+ const plan = await this.batchPlanner.plan(timestamps, maxTilesPerSheet);
21
28
  if (plan.groups.size === 0)
22
- return timestamps.map(() => null);
29
+ return plan.assignments.map(() => null);
23
30
  const sprites = await this.spriteSheetCompositor.renderGroups(plan.groups);
24
31
  return this.spriteSheetCompositor.buildFrames(plan.assignments, sprites);
25
32
  }
26
33
  dispose() {
27
- this.animationProbe.clear();
28
34
  this.paintRegionCache.clear();
35
+ this.elementWidthMeasurer.clear();
29
36
  }
30
37
  }
31
38
  //# sourceMappingURL=ActiveRenderSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActiveRenderSession.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAGX;IACA;IACA;IACA;IAJnB,YACmB,YAA0B,EAC1B,qBAA4C,EAC5C,cAA8B,EAC9B,gBAAyC;QAHzC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,UAAiC;QAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"ActiveRenderSession.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAGX;IACA;IACA;IACA;IAJnB,YACmB,YAA0B,EAC1B,qBAA4C,EAC5C,gBAAyC,EACzC,oBAA0C;QAH1C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,qBAAgB,GAAhB,gBAAgB,CAAyB;QACzC,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,UAAiC,EACjC,gBAAwB;QAExB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;CACF"}