@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":"SegmentSubtreeHtmlBuilder.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentSubtreeHtmlBuilder.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { Segment } from '../../document/Segment';
2
2
  import type { HorizontalPlacementResolver } from '../../rendering/HorizontalPlacementResolver';
3
3
  import type { SegmentSubtreeHtmlBuilder } from '../../rendering/subtitle/SegmentSubtreeHtmlBuilder';
4
4
  import type { VideoFrameVarsBuilder } from '../../rendering/subtitle/VideoFrameVarsBuilder';
5
+ import type { SegmentAnchorVarsBuilder } from '../../rendering/subtitle/SegmentAnchorVarsBuilder';
6
+ import type { ElementWidthMeasurer } from '../../rendering/subtitle/ElementWidthMeasurer';
5
7
  import type { SvgFilterMaterializer } from '../../rendering/subtitle/SvgFilterMaterializer';
6
8
  import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
7
9
  import type { SegmentSubtreeDecomposer } from '../../rendering/subtitle/SegmentSubtreeDecomposer';
@@ -24,14 +26,18 @@ export declare class SegmentWrapperRenderer {
24
26
  private readonly subtreeDecomposer;
25
27
  private readonly filterMaterializer;
26
28
  private readonly videoFrameVarsBuilder;
29
+ private readonly segmentAnchorVarsBuilder;
30
+ private readonly elementWidthMeasurer;
27
31
  private readonly horizontalPlacementResolver;
28
32
  private readonly width;
29
33
  private readonly height;
30
- constructor(subtreeBuilder: SegmentSubtreeHtmlBuilder, subtreeDecomposer: SegmentSubtreeDecomposer, filterMaterializer: SvgFilterMaterializer, videoFrameVarsBuilder: VideoFrameVarsBuilder, horizontalPlacementResolver: HorizontalPlacementResolver, width: number, height: number);
34
+ constructor(subtreeBuilder: SegmentSubtreeHtmlBuilder, subtreeDecomposer: SegmentSubtreeDecomposer, filterMaterializer: SvgFilterMaterializer, videoFrameVarsBuilder: VideoFrameVarsBuilder, segmentAnchorVarsBuilder: SegmentAnchorVarsBuilder, elementWidthMeasurer: ElementWidthMeasurer, horizontalPlacementResolver: HorizontalPlacementResolver, width: number, height: number);
31
35
  buildWrapperHtml(style: PreparedStyle, seg: Segment, t: number, indexInSection: number, nextUid: () => number): Promise<WrapperRender>;
32
36
  private buildSegmentSubtreeHtml;
33
37
  private buildPositionedWordSubtreeHtml;
34
38
  private buildPositionedDecorationSubtreeHtml;
39
+ /** Every variable the engine publishes onto one subtree's wrapper. */
40
+ private buildEngineVars;
35
41
  private composeAnchorStyle;
36
42
  private composeStyleInput;
37
43
  private mergeExtras;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentWrapperRenderer.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentWrapperRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAElG,OAAO,KAAK,EAAE,yBAAyB,EAA4B,MAAM,uDAAuD,CAAC;AACjI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,sDAAsD,CAAC;AAG9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAWD;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBANN,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,EAAE,wBAAwB,EAC3C,kBAAkB,EAAE,qBAAqB,EACzC,qBAAqB,EAAE,qBAAqB,EAC5C,2BAA2B,EAAE,2BAA2B,EACxD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAG3B,gBAAgB,CACpB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,OAAO,EACZ,CAAC,EAAE,MAAM,EACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC;YA8CX,uBAAuB;YA0BvB,8BAA8B;YA2B9B,oCAAoC;IA+BlD,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;CAezB"}
1
+ {"version":3,"file":"SegmentWrapperRenderer.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentWrapperRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAElG,OAAO,KAAK,EAAE,yBAAyB,EAA4B,MAAM,uDAAuD,CAAC;AACjI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAE7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,sDAAsD,CAAC;AAG9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAaD;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;IAG/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBARN,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,EAAE,wBAAwB,EAC3C,kBAAkB,EAAE,qBAAqB,EACzC,qBAAqB,EAAE,qBAAqB,EAC5C,wBAAwB,EAAE,wBAAwB,EAClD,oBAAoB,EAAE,oBAAoB,EAC1C,2BAA2B,EAAE,2BAA2B,EACxD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAG3B,gBAAgB,CACpB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,OAAO,EACZ,CAAC,EAAE,MAAM,EACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC;YA8CX,uBAAuB;YA8BvB,8BAA8B;YA2B9B,oCAAoC;IA2BlD,sEAAsE;YACxD,eAAe;IAgB7B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,gBAAgB;CAgBzB"}
@@ -1,3 +1,4 @@
1
+ import { ElementWidths } from '../../rendering/subtitle/ElementWidths';
1
2
  import { profiler } from '../../profiling/Profiler';
2
3
  /**
3
4
  * Builds the HTML wrapper for one render tile. Handles three subtree
@@ -14,14 +15,18 @@ export class SegmentWrapperRenderer {
14
15
  subtreeDecomposer;
15
16
  filterMaterializer;
16
17
  videoFrameVarsBuilder;
18
+ segmentAnchorVarsBuilder;
19
+ elementWidthMeasurer;
17
20
  horizontalPlacementResolver;
18
21
  width;
19
22
  height;
20
- constructor(subtreeBuilder, subtreeDecomposer, filterMaterializer, videoFrameVarsBuilder, horizontalPlacementResolver, width, height) {
23
+ constructor(subtreeBuilder, subtreeDecomposer, filterMaterializer, videoFrameVarsBuilder, segmentAnchorVarsBuilder, elementWidthMeasurer, horizontalPlacementResolver, width, height) {
21
24
  this.subtreeBuilder = subtreeBuilder;
22
25
  this.subtreeDecomposer = subtreeDecomposer;
23
26
  this.filterMaterializer = filterMaterializer;
24
27
  this.videoFrameVarsBuilder = videoFrameVarsBuilder;
28
+ this.segmentAnchorVarsBuilder = segmentAnchorVarsBuilder;
29
+ this.elementWidthMeasurer = elementWidthMeasurer;
25
30
  this.horizontalPlacementResolver = horizontalPlacementResolver;
26
31
  this.width = width;
27
32
  this.height = height;
@@ -64,16 +69,20 @@ export class SegmentWrapperRenderer {
64
69
  }
65
70
  async buildSegmentSubtreeHtml(style, seg, t, indexInSection, alignment, baseInlineStyles, segmentClasses, excludedWordIds, nextUid) {
66
71
  const resolved = this.resolveAlignment(alignment, style.rendering.textDirection);
67
- const engineVars = await this.videoFrameVarsBuilder.build(style, seg, resolved, t);
72
+ const engineVars = await this.buildEngineVars(style, seg, resolved, t);
68
73
  const { defs, bindings } = profiler.time('SegmentWrapperRenderer.filterDefs', () => this.filterMaterializer.materialize(style, t, engineVars, nextUid));
69
- const styleInput = this.composeStyleInput(style, this.mergeExtras(engineVars, bindings, baseInlineStyles), segmentClasses);
74
+ const unmeasured = this.composeStyleInput(style, this.mergeExtras(engineVars, bindings, baseInlineStyles), segmentClasses);
75
+ const styleInput = {
76
+ ...unmeasured,
77
+ elementWidths: this.elementWidthMeasurer.widthsFor(style, unmeasured, seg, t, indexInSection),
78
+ };
70
79
  const subtreeHtml = profiler.time('SegmentWrapperRenderer.subtreeHtml', () => this.subtreeBuilder.buildSegmentSubtree(styleInput, seg, t, excludedWordIds, indexInSection));
71
80
  const anchorStyle = this.composeAnchorStyle(resolved);
72
81
  return { html: `<div style="${anchorStyle}">${subtreeHtml}</div>`, defs };
73
82
  }
74
83
  async buildPositionedWordSubtreeHtml(style, seg, positioned, t, indexInSection, alignment, baseInlineStyles, nextUid) {
75
84
  const resolved = this.resolveAlignment(alignment, style.rendering.textDirection);
76
- const engineVars = await this.videoFrameVarsBuilder.build(style, seg, resolved, t);
85
+ const engineVars = await this.buildEngineVars(style, seg, resolved, t);
77
86
  const { defs, bindings } = profiler.time('SegmentWrapperRenderer.filterDefs', () => this.filterMaterializer.materialize(style, t, engineVars, nextUid));
78
87
  const styleInput = this.composeStyleInput(style, this.mergeExtras(engineVars, bindings, baseInlineStyles));
79
88
  const subtreeHtml = profiler.time('SegmentWrapperRenderer.subtreeHtml', () => this.subtreeBuilder.buildSingleWordSubtree(styleInput, seg, positioned.line, positioned.word, t, indexInSection, positioned.indexInLine));
@@ -82,13 +91,20 @@ export class SegmentWrapperRenderer {
82
91
  }
83
92
  async buildPositionedDecorationSubtreeHtml(style, seg, positioned, t, indexInSection, alignment, baseInlineStyles, nextUid) {
84
93
  const resolved = this.resolveAlignment(alignment, style.rendering.textDirection);
85
- const engineVars = await this.videoFrameVarsBuilder.build(style, seg, resolved, t);
94
+ const engineVars = await this.buildEngineVars(style, seg, resolved, t);
86
95
  const { defs, bindings } = profiler.time('SegmentWrapperRenderer.filterDefs', () => this.filterMaterializer.materialize(style, t, engineVars, nextUid));
87
96
  const styleInput = this.composeStyleInput(style, this.mergeExtras(engineVars, bindings, baseInlineStyles));
88
97
  const subtreeHtml = profiler.time('SegmentWrapperRenderer.subtreeHtml', () => this.subtreeBuilder.buildSingleDecorationSubtree(styleInput, seg, positioned.line, positioned.word, t, indexInSection));
89
98
  const anchorStyle = this.composeAnchorStyle(resolved);
90
99
  return { html: `<div style="${anchorStyle}">${subtreeHtml}</div>`, defs };
91
100
  }
101
+ /** Every variable the engine publishes onto one subtree's wrapper. */
102
+ async buildEngineVars(style, seg, resolved, t) {
103
+ return {
104
+ ...(await this.videoFrameVarsBuilder.build(style, seg, resolved, t)),
105
+ ...this.segmentAnchorVarsBuilder.build(resolved),
106
+ };
107
+ }
92
108
  // Zero-sized grid anchor places the wrapper via `place-items`
93
109
  // so the wrapper stays transform-free and doesn't form a
94
110
  // stacking context (which would trap descendant
@@ -111,6 +127,7 @@ export class SegmentWrapperRenderer {
111
127
  extraSegmentClasses,
112
128
  decorationPlacements: style.decorationPlacements,
113
129
  addressableElementIds: style.addressableElementIds,
130
+ elementWidths: ElementWidths.empty(),
114
131
  inlineStyleEmitter: style.inlineStyleEmitter,
115
132
  };
116
133
  }
@@ -120,6 +137,7 @@ export class SegmentWrapperRenderer {
120
137
  resolveAlignment(alignment, textDirection) {
121
138
  const horizontal = this.horizontalPlacementResolver.resolve(alignment.horizontalAlign, alignment.horizontalOffset, textDirection);
122
139
  return {
140
+ verticalOffset: alignment.verticalOffset,
123
141
  yPx: Math.round(alignment.verticalOffset * this.height),
124
142
  xPx: Math.round(horizontal.offsetFromLeft * this.width),
125
143
  vAnchorPct: alignment.verticalAlign === 'top' ? 0 : alignment.verticalAlign === 'center' ? 50 : 100,
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentWrapperRenderer.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentWrapperRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentWrapperRenderer.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SegmentWrapperRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { SpriteSheetRasterRefusal } from '../../rendering/subtitle/SpriteSheetRasterProbe';
2
+ /** A sizing walk that ended with room for a single tile, and what stopped it. */
3
+ export interface SingleTileFallback {
4
+ /** Output dimensions the sheet was being sized for. */
5
+ readonly width: number;
6
+ readonly height: number;
7
+ /**
8
+ * Tiles the sheet held when the host turned it down — only ever 1 or
9
+ * 2. Refusing 2 is a small host; refusing 1 is one that cannot hold a
10
+ * single frame.
11
+ */
12
+ readonly refusedTiles: number;
13
+ readonly refusal: SpriteSheetRasterRefusal;
14
+ /** Whatever was thrown, when `refusal` is `error`. */
15
+ readonly cause?: unknown;
16
+ }
17
+ /**
18
+ * Told when sizing a sprite sheet ends with room for one tile, which
19
+ * costs a rasterization per frame instead of one per batch.
20
+ *
21
+ * Only a refusal is reported; a capacity the pixel budget decided is
22
+ * the sizing working as designed.
23
+ *
24
+ * Implementations must not throw.
25
+ */
26
+ export interface SpriteSheetProbeObserver {
27
+ onSingleTileFallback(fallback: SingleTileFallback): void;
28
+ }
29
+ //# sourceMappingURL=SpriteSheetProbeObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetProbeObserver.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetProbeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAEnG,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SpriteSheetProbeObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetProbeObserver.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetProbeObserver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Why a host would not hold a raster of the size it was offered.
3
+ *
4
+ * - `no-context` — the surface gave back no 2D context.
5
+ * - `blank-edge` — it drew, but the far corner came back unpainted.
6
+ * - `error` — decoding, allocating or reading back threw.
7
+ */
8
+ export type SpriteSheetRasterRefusal = 'no-context' | 'blank-edge' | 'error';
9
+ /** `refusal` is `null` when the host held the raster whole. */
10
+ export interface SpriteSheetRasterOutcome {
11
+ readonly refusal: SpriteSheetRasterRefusal | null;
12
+ readonly cause?: unknown;
13
+ }
14
+ /** Asks a host whether it can hold one raster of a given size and read it back whole. */
15
+ export interface SpriteSheetRasterProbe {
16
+ /** Never rejects: a host that will not hold the raster is an answer, not a failure. */
17
+ offer(width: number, height: number): Promise<SpriteSheetRasterOutcome>;
18
+ }
19
+ //# sourceMappingURL=SpriteSheetRasterProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetRasterProbe.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetRasterProbe.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;AAE7E,+DAA+D;AAC/D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,yFAAyF;AACzF,MAAM,WAAW,sBAAsB;IACrC,uFAAuF;IACvF,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACzE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SpriteSheetRasterProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetRasterProbe.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetRasterProbe.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { SpriteSheetProbeObserver } from '../../rendering/subtitle/SpriteSheetProbeObserver';
2
+ import type { SpriteSheetRasterProbe } from '../../rendering/subtitle/SpriteSheetRasterProbe';
3
+ /**
4
+ * Finds how many subtitle tiles fit into one sprite sheet at given
5
+ * output dimensions, by offering a host a ladder of sizes until it
6
+ * refuses or the pixel budget runs out.
7
+ *
8
+ * Answers are memoized per dimension pair for the life of the instance.
9
+ * A walk decodes rasters up to the whole budget, so renderers working
10
+ * at the same size should share one instance.
11
+ *
12
+ * A capacity of one that came from a refusal reaches `observer`.
13
+ */
14
+ export declare class SpriteSheetSizeProbe {
15
+ private readonly rasterProbe;
16
+ private readonly observer;
17
+ private readonly maxBufferPixels;
18
+ private readonly byDimensions;
19
+ constructor(rasterProbe: SpriteSheetRasterProbe, observer?: SpriteSheetProbeObserver | null, maxBufferPixels?: number);
20
+ /**
21
+ * Tiles per sheet at these dimensions, never below one and never
22
+ * rejecting. Calls for the same dimensions share one walk, including
23
+ * calls that overlap in flight.
24
+ */
25
+ probe(width: number, height: number): Promise<number>;
26
+ private measure;
27
+ /** Tiles stack along the smaller axis, so a sheet grows in one dimension only. */
28
+ private sheetFor;
29
+ private reportFallback;
30
+ }
31
+ //# sourceMappingURL=SpriteSheetSizeProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetSizeProbe.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetSizeProbe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AACrG,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,oDAAoD,CAAC;AAa5D;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;gBAGhD,WAAW,EAAE,sBAAsB,EACnC,QAAQ,GAAE,wBAAwB,GAAG,IAAW,EAChD,eAAe,GAAE,MAAkC;IAGtE;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAUvC,OAAO;IAuBrB,kFAAkF;IAClF,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,cAAc;CAqBvB"}
@@ -0,0 +1,89 @@
1
+ const NUMBER_OF_TILES_TO_TEST = [1, 2, 4, 6, 8, 10, 12, 15, 18, 21, 25, 30];
2
+ // 10 frames at 1080×1920 ≈ 80 MB of pixel buffer.
3
+ // At 4K the same budget admits only ~2 tiles per batch.
4
+ const DEFAULT_MAX_BUFFER_PIXELS = 10 * 1080 * 1920;
5
+ /**
6
+ * Finds how many subtitle tiles fit into one sprite sheet at given
7
+ * output dimensions, by offering a host a ladder of sizes until it
8
+ * refuses or the pixel budget runs out.
9
+ *
10
+ * Answers are memoized per dimension pair for the life of the instance.
11
+ * A walk decodes rasters up to the whole budget, so renderers working
12
+ * at the same size should share one instance.
13
+ *
14
+ * A capacity of one that came from a refusal reaches `observer`.
15
+ */
16
+ export class SpriteSheetSizeProbe {
17
+ rasterProbe;
18
+ observer;
19
+ maxBufferPixels;
20
+ byDimensions = new Map();
21
+ constructor(rasterProbe, observer = null, maxBufferPixels = DEFAULT_MAX_BUFFER_PIXELS) {
22
+ this.rasterProbe = rasterProbe;
23
+ this.observer = observer;
24
+ this.maxBufferPixels = maxBufferPixels;
25
+ }
26
+ /**
27
+ * Tiles per sheet at these dimensions, never below one and never
28
+ * rejecting. Calls for the same dimensions share one walk, including
29
+ * calls that overlap in flight.
30
+ */
31
+ probe(width, height) {
32
+ const key = `${width}x${height}`;
33
+ let pending = this.byDimensions.get(key);
34
+ if (!pending) {
35
+ pending = this.measure(width, height);
36
+ this.byDimensions.set(key, pending);
37
+ }
38
+ return pending;
39
+ }
40
+ async measure(width, height) {
41
+ try {
42
+ let held = 1;
43
+ for (const tiles of NUMBER_OF_TILES_TO_TEST) {
44
+ const sheet = this.sheetFor(width, height, tiles);
45
+ if (sheet.width * sheet.height > this.maxBufferPixels)
46
+ return held;
47
+ const outcome = await this.rasterProbe.offer(sheet.width, sheet.height);
48
+ if (outcome.refusal === null) {
49
+ held = tiles;
50
+ continue;
51
+ }
52
+ if (held === 1)
53
+ this.reportFallback(width, height, tiles, outcome.refusal, outcome.cause);
54
+ return held;
55
+ }
56
+ return held;
57
+ }
58
+ catch (cause) {
59
+ // The raster probe promises not to reject, so something under it
60
+ // broke that promise. Still owes a usable number.
61
+ this.reportFallback(width, height, 1, 'error', cause);
62
+ return 1;
63
+ }
64
+ }
65
+ /** Tiles stack along the smaller axis, so a sheet grows in one dimension only. */
66
+ sheetFor(width, height, tiles) {
67
+ return width < height
68
+ ? { width: width * tiles, height }
69
+ : { width, height: height * tiles };
70
+ }
71
+ reportFallback(width, height, refusedTiles, refusal, cause) {
72
+ if (!this.observer)
73
+ return;
74
+ try {
75
+ this.observer.onSingleTileFallback({
76
+ width,
77
+ height,
78
+ refusedTiles,
79
+ refusal,
80
+ ...(cause !== undefined ? { cause } : {}),
81
+ });
82
+ }
83
+ catch {
84
+ // Reporting is best-effort by contract; a broken channel must not
85
+ // take the render with it.
86
+ }
87
+ }
88
+ }
89
+ //# sourceMappingURL=SpriteSheetSizeProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpriteSheetSizeProbe.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SpriteSheetSizeProbe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /** One effect the browser reported, timed against the playhead it was read at. */
2
+ export interface TimedEffect {
3
+ readonly address: string;
4
+ readonly rule: string;
5
+ /** When the effect's active phase opens, relative to the playhead. */
6
+ readonly startsInMs: number;
7
+ /** How long that phase lasts, or `null` where the effect repeats forever. */
8
+ readonly activeDurationMs: number | null;
9
+ }
10
+ /**
11
+ * What the browser reported about one mounted subtree, and what that
12
+ * still decides at other playheads.
13
+ *
14
+ * A frozen frame anchors every effect's timeline to the playhead
15
+ * through a negative delay, so advancing the playhead by Δ is expected
16
+ * to move each phase boundary by −Δ. A stylesheet doing arithmetic on
17
+ * a clock breaks that, which {@link predicts} is there to catch.
18
+ *
19
+ * A reading answers only where being wrong about the shift could not
20
+ * change the answer: the playhead has to sit farther from every
21
+ * boundary than the distance travelled since the reading was taken.
22
+ */
23
+ export declare class SubtreeAnimationReading {
24
+ private readonly effects;
25
+ private readonly takenAtSeconds;
26
+ constructor(effects: ReadonlyArray<TimedEffect>, takenAtSeconds: number);
27
+ /**
28
+ * Whether this reading decides the question at `seconds` on its own.
29
+ * `false` means the subtree has to be read again there.
30
+ */
31
+ answersAt(seconds: number): boolean;
32
+ /**
33
+ * A value equal for two playheads exactly when every effect holds the
34
+ * same fixed value at both, or `null` where one of them is mid-run or
35
+ * repeats forever.
36
+ */
37
+ phaseKeyAt(seconds: number): string | null;
38
+ /**
39
+ * Whether `later` is what this reading said would be found there:
40
+ * the same effects, each shifted by exactly the elapsed time. A
41
+ * mismatch means the subtree's timing does not follow the playhead,
42
+ * and nothing may be carried across playheads for it.
43
+ */
44
+ predicts(later: SubtreeAnimationReading): boolean;
45
+ private elapsedMsTo;
46
+ /** How far the playhead at `seconds` sits from the nearer end of the effect's active phase. */
47
+ private distanceToBoundariesMs;
48
+ }
49
+ //# sourceMappingURL=SubtreeAnimationReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtreeAnimationReading.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SubtreeAnimationReading.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAOD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EACnC,cAAc,EAAE,MAAM;IAGzC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWnC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAa1C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO;IAYjD,OAAO,CAAC,WAAW;IAInB,+FAA+F;IAC/F,OAAO,CAAC,sBAAsB;CAK/B"}
@@ -0,0 +1,87 @@
1
+ // A clock reaches the stylesheet as a `<time>` rounded to milliseconds,
2
+ // so the same effect read at two playheads can report delays that
3
+ // disagree by a whole millisecond without either being wrong.
4
+ const CLOCK_QUANTUM_MS = 1;
5
+ /**
6
+ * What the browser reported about one mounted subtree, and what that
7
+ * still decides at other playheads.
8
+ *
9
+ * A frozen frame anchors every effect's timeline to the playhead
10
+ * through a negative delay, so advancing the playhead by Δ is expected
11
+ * to move each phase boundary by −Δ. A stylesheet doing arithmetic on
12
+ * a clock breaks that, which {@link predicts} is there to catch.
13
+ *
14
+ * A reading answers only where being wrong about the shift could not
15
+ * change the answer: the playhead has to sit farther from every
16
+ * boundary than the distance travelled since the reading was taken.
17
+ */
18
+ export class SubtreeAnimationReading {
19
+ effects;
20
+ takenAtSeconds;
21
+ constructor(effects, takenAtSeconds) {
22
+ this.effects = effects;
23
+ this.takenAtSeconds = takenAtSeconds;
24
+ }
25
+ /**
26
+ * Whether this reading decides the question at `seconds` on its own.
27
+ * `false` means the subtree has to be read again there.
28
+ */
29
+ answersAt(seconds) {
30
+ const travelledMs = Math.abs(this.elapsedMsTo(seconds));
31
+ const safeDistanceMs = Math.max(travelledMs, CLOCK_QUANTUM_MS * 2);
32
+ return this.effects.every((effect) => {
33
+ // An effect that repeats forever answers the same at every
34
+ // playhead, so no distance protects anything.
35
+ if (effect.activeDurationMs === null)
36
+ return true;
37
+ return this.distanceToBoundariesMs(effect, seconds) > safeDistanceMs;
38
+ });
39
+ }
40
+ /**
41
+ * A value equal for two playheads exactly when every effect holds the
42
+ * same fixed value at both, or `null` where one of them is mid-run or
43
+ * repeats forever.
44
+ */
45
+ phaseKeyAt(seconds) {
46
+ const elapsedMs = this.elapsedMsTo(seconds);
47
+ const phases = [];
48
+ for (const effect of this.effects) {
49
+ if (effect.activeDurationMs === null)
50
+ return null;
51
+ const startsInMs = effect.startsInMs - elapsedMs;
52
+ if (startsInMs <= 0 && startsInMs + effect.activeDurationMs > 0)
53
+ return null;
54
+ phases.push(`${effect.address}:${effect.rule}:${startsInMs > 0 ? 'before' : 'after'}`);
55
+ }
56
+ phases.sort();
57
+ return JSON.stringify(phases);
58
+ }
59
+ /**
60
+ * Whether `later` is what this reading said would be found there:
61
+ * the same effects, each shifted by exactly the elapsed time. A
62
+ * mismatch means the subtree's timing does not follow the playhead,
63
+ * and nothing may be carried across playheads for it.
64
+ */
65
+ predicts(later) {
66
+ if (later.effects.length !== this.effects.length)
67
+ return false;
68
+ const elapsedMs = this.elapsedMsTo(later.takenAtSeconds);
69
+ return this.effects.every((effect, index) => {
70
+ const found = later.effects[index];
71
+ return found.address === effect.address
72
+ && found.rule === effect.rule
73
+ && found.activeDurationMs === effect.activeDurationMs
74
+ && Math.abs(found.startsInMs - (effect.startsInMs - elapsedMs)) <= CLOCK_QUANTUM_MS;
75
+ });
76
+ }
77
+ elapsedMsTo(seconds) {
78
+ return (seconds - this.takenAtSeconds) * 1000;
79
+ }
80
+ /** How far the playhead at `seconds` sits from the nearer end of the effect's active phase. */
81
+ distanceToBoundariesMs(effect, seconds) {
82
+ const startsInMs = effect.startsInMs - this.elapsedMsTo(seconds);
83
+ const endsInMs = startsInMs + (effect.activeDurationMs ?? 0);
84
+ return Math.min(Math.abs(startsInMs), Math.abs(endsInMs));
85
+ }
86
+ }
87
+ //# sourceMappingURL=SubtreeAnimationReading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtreeAnimationReading.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SubtreeAnimationReading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Whether the browser can be asked what animations a subtree runs.
3
+ *
4
+ * Answered by mounting a fixture rather than by naming versions: the
5
+ * question needs `getAnimations` to exist, to honour the `subtree`
6
+ * option, and to report an effect that lives on a descendant's
7
+ * pseudo-element. One fixture exercises all three.
8
+ *
9
+ * Checked on first use and remembered for the lifetime of the
10
+ * instance.
11
+ */
12
+ export declare class SubtreeAnimationSupport {
13
+ private available;
14
+ isAvailable(): boolean;
15
+ private check;
16
+ }
17
+ //# sourceMappingURL=SubtreeAnimationSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtreeAnimationSupport.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/SubtreeAnimationSupport.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;GAUG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAwB;IAEzC,WAAW,IAAI,OAAO;IAKtB,OAAO,CAAC,KAAK;CAyBd"}