@tscaps/engine 0.1.1 → 0.2.1

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 (321) hide show
  1. package/README.md +2 -4
  2. package/dist/modules/css/CssScoper.d.ts +21 -1
  3. package/dist/modules/css/CssScoper.d.ts.map +1 -1
  4. package/dist/modules/css/CssScoper.js +129 -56
  5. package/dist/modules/css/CssScoper.js.map +1 -1
  6. package/dist/modules/css/CssVarReferenceScanner.d.ts +13 -0
  7. package/dist/modules/css/CssVarReferenceScanner.d.ts.map +1 -0
  8. package/dist/modules/css/CssVarReferenceScanner.js +20 -0
  9. package/dist/modules/css/CssVarReferenceScanner.js.map +1 -0
  10. package/dist/modules/css/index.d.ts +1 -0
  11. package/dist/modules/css/index.d.ts.map +1 -1
  12. package/dist/modules/css/index.js +1 -0
  13. package/dist/modules/css/index.js.map +1 -1
  14. package/dist/modules/document/CssVariable.d.ts +24 -3
  15. package/dist/modules/document/CssVariable.d.ts.map +1 -1
  16. package/dist/modules/document/CssVariable.js +30 -2
  17. package/dist/modules/document/CssVariable.js.map +1 -1
  18. package/dist/modules/document/Decoration.d.ts +42 -0
  19. package/dist/modules/document/Decoration.d.ts.map +1 -0
  20. package/dist/modules/document/Decoration.js +52 -0
  21. package/dist/modules/document/Decoration.js.map +1 -0
  22. package/dist/modules/document/Document.d.ts.map +1 -1
  23. package/dist/modules/document/Document.js +0 -3
  24. package/dist/modules/document/Document.js.map +1 -1
  25. package/dist/modules/document/DocumentEditor.d.ts +11 -0
  26. package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
  27. package/dist/modules/document/DocumentEditor.js +49 -9
  28. package/dist/modules/document/DocumentEditor.js.map +1 -1
  29. package/dist/modules/document/Line.d.ts +9 -6
  30. package/dist/modules/document/Line.d.ts.map +1 -1
  31. package/dist/modules/document/Line.js +11 -24
  32. package/dist/modules/document/Line.js.map +1 -1
  33. package/dist/modules/document/Section.d.ts +0 -4
  34. package/dist/modules/document/Section.d.ts.map +1 -1
  35. package/dist/modules/document/Section.js +2 -18
  36. package/dist/modules/document/Section.js.map +1 -1
  37. package/dist/modules/document/Segment.d.ts +10 -7
  38. package/dist/modules/document/Segment.d.ts.map +1 -1
  39. package/dist/modules/document/Segment.js +15 -22
  40. package/dist/modules/document/Segment.js.map +1 -1
  41. package/dist/modules/document/Tag.d.ts +3 -0
  42. package/dist/modules/document/Tag.d.ts.map +1 -1
  43. package/dist/modules/document/Tag.js +3 -0
  44. package/dist/modules/document/Tag.js.map +1 -1
  45. package/dist/modules/document/Word.d.ts +20 -7
  46. package/dist/modules/document/Word.d.ts.map +1 -1
  47. package/dist/modules/document/Word.js +32 -34
  48. package/dist/modules/document/Word.js.map +1 -1
  49. package/dist/modules/document/index.d.ts +1 -0
  50. package/dist/modules/document/index.d.ts.map +1 -1
  51. package/dist/modules/document/index.js +1 -0
  52. package/dist/modules/document/index.js.map +1 -1
  53. package/dist/modules/effect/CarryQuotesEffect.d.ts +1 -7
  54. package/dist/modules/effect/CarryQuotesEffect.d.ts.map +1 -1
  55. package/dist/modules/effect/CarryQuotesEffect.js +17 -30
  56. package/dist/modules/effect/CarryQuotesEffect.js.map +1 -1
  57. package/dist/modules/effect/RemovePunctuationEffect.d.ts +10 -2
  58. package/dist/modules/effect/RemovePunctuationEffect.d.ts.map +1 -1
  59. package/dist/modules/effect/RemovePunctuationEffect.js +26 -6
  60. package/dist/modules/effect/RemovePunctuationEffect.js.map +1 -1
  61. package/dist/modules/effect/SmartLowercaseEffect.d.ts +7 -6
  62. package/dist/modules/effect/SmartLowercaseEffect.d.ts.map +1 -1
  63. package/dist/modules/effect/SmartLowercaseEffect.js +11 -7
  64. package/dist/modules/effect/SmartLowercaseEffect.js.map +1 -1
  65. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts +3 -3
  66. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts.map +1 -1
  67. package/dist/modules/pipeline/RenderPipelineBuilder.js +11 -6
  68. package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
  69. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts +19 -25
  70. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
  71. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +40 -717
  72. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
  73. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +8 -5
  74. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
  75. package/dist/modules/rendering/index.d.ts +13 -8
  76. package/dist/modules/rendering/index.d.ts.map +1 -1
  77. package/dist/modules/rendering/index.js +5 -2
  78. package/dist/modules/rendering/index.js.map +1 -1
  79. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts +23 -0
  80. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts.map +1 -0
  81. package/dist/modules/rendering/styles/BaselineCssComposer.js +40 -0
  82. package/dist/modules/rendering/styles/BaselineCssComposer.js.map +1 -0
  83. package/dist/modules/rendering/styles/BehindActorBaselineCss.d.ts +19 -0
  84. package/dist/modules/rendering/styles/BehindActorBaselineCss.d.ts.map +1 -0
  85. package/dist/modules/rendering/styles/BehindActorBaselineCss.js +19 -0
  86. package/dist/modules/rendering/styles/BehindActorBaselineCss.js.map +1 -0
  87. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts +7 -0
  88. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts.map +1 -0
  89. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js +34 -0
  90. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js.map +1 -0
  91. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts +27 -0
  92. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts.map +1 -0
  93. package/dist/modules/rendering/styles/InlineStyleEmitter.js +53 -0
  94. package/dist/modules/rendering/styles/InlineStyleEmitter.js.map +1 -0
  95. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts +15 -0
  96. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts.map +1 -0
  97. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js +33 -0
  98. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js.map +1 -0
  99. package/dist/modules/rendering/styles/VideoFrameLayerClass.d.ts.map +1 -0
  100. package/dist/modules/rendering/styles/VideoFrameLayerClass.js.map +1 -0
  101. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts +13 -0
  102. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts.map +1 -0
  103. package/dist/modules/rendering/subtitle/AbstractAnim.js +2 -0
  104. package/dist/modules/rendering/subtitle/AbstractAnim.js.map +1 -0
  105. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts +20 -0
  106. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts.map +1 -0
  107. package/dist/modules/rendering/subtitle/ActiveRenderSession.js +31 -0
  108. package/dist/modules/rendering/subtitle/ActiveRenderSession.js.map +1 -0
  109. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +19 -0
  110. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -0
  111. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +41 -0
  112. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -0
  113. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +25 -0
  114. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +1 -0
  115. package/dist/modules/rendering/subtitle/AnimationProbe.js +198 -0
  116. package/dist/modules/rendering/subtitle/AnimationProbe.js.map +1 -0
  117. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts +15 -0
  118. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts.map +1 -0
  119. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js +26 -0
  120. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js.map +1 -0
  121. package/dist/modules/rendering/subtitle/BatchPlan.d.ts +32 -0
  122. package/dist/modules/rendering/subtitle/BatchPlan.d.ts.map +1 -0
  123. package/dist/modules/rendering/subtitle/BatchPlan.js +2 -0
  124. package/dist/modules/rendering/subtitle/BatchPlan.js.map +1 -0
  125. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +31 -0
  126. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -0
  127. package/dist/modules/rendering/subtitle/BatchPlanner.js +91 -0
  128. package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -0
  129. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +35 -0
  130. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -0
  131. package/dist/modules/rendering/subtitle/PreparedStyle.js +2 -0
  132. package/dist/modules/rendering/subtitle/PreparedStyle.js.map +1 -0
  133. package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts +31 -0
  134. package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts.map +1 -0
  135. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +91 -0
  136. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -0
  137. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts +13 -0
  138. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts.map +1 -0
  139. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js +24 -0
  140. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js.map +1 -0
  141. package/dist/modules/rendering/{SegmentPaintRegionResolver.d.ts → subtitle/SegmentPaintRegionResolver.d.ts} +1 -1
  142. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.d.ts.map +1 -0
  143. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.js.map +1 -0
  144. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts +45 -0
  145. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts.map +1 -0
  146. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js +50 -0
  147. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js.map +1 -0
  148. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +80 -0
  149. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -0
  150. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +188 -0
  151. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -0
  152. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +45 -0
  153. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -0
  154. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +141 -0
  155. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -0
  156. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts +46 -0
  157. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts.map +1 -0
  158. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js +134 -0
  159. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js.map +1 -0
  160. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts +17 -0
  161. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts.map +1 -0
  162. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js +58 -0
  163. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js.map +1 -0
  164. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts +27 -0
  165. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts.map +1 -0
  166. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js +40 -0
  167. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js.map +1 -0
  168. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts +42 -0
  169. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -0
  170. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +112 -0
  171. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -0
  172. package/dist/modules/rendering/types/AlignmentConfig.d.ts.map +1 -0
  173. package/dist/modules/rendering/types/AlignmentConfig.js.map +1 -0
  174. package/dist/modules/rendering/types/BehindActorRequirement.d.ts +12 -0
  175. package/dist/modules/rendering/types/BehindActorRequirement.d.ts.map +1 -0
  176. package/dist/modules/rendering/types/BehindActorRequirement.js +2 -0
  177. package/dist/modules/rendering/types/BehindActorRequirement.js.map +1 -0
  178. package/dist/modules/rendering/types/BoxEdges.d.ts.map +1 -0
  179. package/dist/modules/rendering/types/BoxEdges.js.map +1 -0
  180. package/dist/modules/rendering/types/DecorationPlacementSide.d.ts +8 -0
  181. package/dist/modules/rendering/types/DecorationPlacementSide.d.ts.map +1 -0
  182. package/dist/modules/rendering/types/DecorationPlacementSide.js +2 -0
  183. package/dist/modules/rendering/types/DecorationPlacementSide.js.map +1 -0
  184. package/dist/modules/rendering/{ElementRenderOverrides.d.ts → types/ElementRenderOverrides.d.ts} +1 -1
  185. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -0
  186. package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -0
  187. package/dist/modules/rendering/types/InlineStyleMap.d.ts.map +1 -0
  188. package/dist/modules/rendering/types/InlineStyleMap.js.map +1 -0
  189. package/dist/modules/rendering/{RenderingConfig.d.ts → types/RenderingConfig.d.ts} +3 -1
  190. package/dist/modules/rendering/types/RenderingConfig.d.ts.map +1 -0
  191. package/dist/modules/rendering/types/RenderingConfig.js.map +1 -0
  192. package/dist/modules/rendering/{ScopedRenderOverride.d.ts → types/ScopedRenderOverride.d.ts} +2 -2
  193. package/dist/modules/rendering/types/ScopedRenderOverride.d.ts.map +1 -0
  194. package/dist/modules/rendering/types/ScopedRenderOverride.js.map +1 -0
  195. package/dist/modules/rendering/types/VideoFrameSource.d.ts.map +1 -0
  196. package/dist/modules/rendering/types/VideoFrameSource.js.map +1 -0
  197. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts +33 -0
  198. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts.map +1 -0
  199. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js +100 -0
  200. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js.map +1 -0
  201. package/dist/modules/splitting/FixedTailLineSplitter.d.ts +29 -0
  202. package/dist/modules/splitting/FixedTailLineSplitter.d.ts.map +1 -0
  203. package/dist/modules/splitting/FixedTailLineSplitter.js +43 -0
  204. package/dist/modules/splitting/FixedTailLineSplitter.js.map +1 -0
  205. package/dist/modules/splitting/index.d.ts +4 -0
  206. package/dist/modules/splitting/index.d.ts.map +1 -1
  207. package/dist/modules/splitting/index.js +2 -0
  208. package/dist/modules/splitting/index.js.map +1 -1
  209. package/dist/modules/tagging/PauseTagger.d.ts +24 -0
  210. package/dist/modules/tagging/PauseTagger.d.ts.map +1 -0
  211. package/dist/modules/tagging/PauseTagger.js +41 -0
  212. package/dist/modules/tagging/PauseTagger.js.map +1 -0
  213. package/dist/modules/tagging/StructureTagger.d.ts +1 -1
  214. package/dist/modules/tagging/StructureTagger.d.ts.map +1 -1
  215. package/dist/modules/tagging/StructureTagger.js +11 -5
  216. package/dist/modules/tagging/StructureTagger.js.map +1 -1
  217. package/dist/modules/tagging/index.d.ts +2 -0
  218. package/dist/modules/tagging/index.d.ts.map +1 -1
  219. package/dist/modules/tagging/index.js +1 -0
  220. package/dist/modules/tagging/index.js.map +1 -1
  221. package/dist/modules/transcription/VttTranscriber.d.ts +28 -0
  222. package/dist/modules/transcription/VttTranscriber.d.ts.map +1 -0
  223. package/dist/modules/transcription/VttTranscriber.js +59 -0
  224. package/dist/modules/transcription/VttTranscriber.js.map +1 -0
  225. package/dist/modules/transcription/index.d.ts +1 -0
  226. package/dist/modules/transcription/index.d.ts.map +1 -1
  227. package/dist/modules/transcription/index.js +1 -0
  228. package/dist/modules/transcription/index.js.map +1 -1
  229. package/dist/modules/video/RenderJob.d.ts +17 -0
  230. package/dist/modules/video/RenderJob.d.ts.map +1 -1
  231. package/dist/modules/video/RenderTimeMap.d.ts +50 -0
  232. package/dist/modules/video/RenderTimeMap.d.ts.map +1 -0
  233. package/dist/modules/video/RenderTimeMap.js +90 -0
  234. package/dist/modules/video/RenderTimeMap.js.map +1 -0
  235. package/dist/modules/video/index.d.ts +8 -1
  236. package/dist/modules/video/index.d.ts.map +1 -1
  237. package/dist/modules/video/index.js +4 -0
  238. package/dist/modules/video/index.js.map +1 -1
  239. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts +102 -0
  240. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -0
  241. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +199 -0
  242. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -0
  243. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts +12 -52
  244. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts.map +1 -1
  245. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js +25 -190
  246. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js.map +1 -1
  247. package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts +7 -0
  248. package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts.map +1 -1
  249. package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js +2 -2
  250. package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js.map +1 -1
  251. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts +2 -0
  252. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts.map +1 -1
  253. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js +8 -2
  254. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js.map +1 -1
  255. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts +3 -0
  256. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts.map +1 -1
  257. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js +9 -2
  258. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js.map +1 -1
  259. package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts +7 -0
  260. package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts.map +1 -1
  261. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +1 -1
  262. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +1 -1
  263. package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts +9 -2
  264. package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts.map +1 -1
  265. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts +5 -2
  266. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts.map +1 -1
  267. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js +8 -2
  268. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js.map +1 -1
  269. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts +35 -0
  270. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts.map +1 -0
  271. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +69 -0
  272. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -0
  273. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts +23 -0
  274. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts.map +1 -0
  275. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js +23 -0
  276. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js.map +1 -0
  277. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts +46 -0
  278. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts.map +1 -0
  279. package/dist/modules/video/mediabunny/painter/FramePainter.js +2 -0
  280. package/dist/modules/video/mediabunny/painter/FramePainter.js.map +1 -0
  281. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts +25 -0
  282. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts.map +1 -0
  283. package/dist/modules/video/mediabunny/painter/TopLayerSource.js +2 -0
  284. package/dist/modules/video/mediabunny/painter/TopLayerSource.js.map +1 -0
  285. package/package.json +1 -1
  286. package/dist/modules/rendering/AlignmentConfig.d.ts.map +0 -1
  287. package/dist/modules/rendering/AlignmentConfig.js.map +0 -1
  288. package/dist/modules/rendering/BoxEdges.d.ts.map +0 -1
  289. package/dist/modules/rendering/BoxEdges.js.map +0 -1
  290. package/dist/modules/rendering/ElementRenderOverrides.d.ts.map +0 -1
  291. package/dist/modules/rendering/ElementRenderOverrides.js.map +0 -1
  292. package/dist/modules/rendering/InlineStyleMap.d.ts.map +0 -1
  293. package/dist/modules/rendering/InlineStyleMap.js.map +0 -1
  294. package/dist/modules/rendering/RenderingConfig.d.ts.map +0 -1
  295. package/dist/modules/rendering/RenderingConfig.js.map +0 -1
  296. package/dist/modules/rendering/ScopedRenderOverride.d.ts.map +0 -1
  297. package/dist/modules/rendering/ScopedRenderOverride.js.map +0 -1
  298. package/dist/modules/rendering/SegmentPaintRegionResolver.d.ts.map +0 -1
  299. package/dist/modules/rendering/SegmentPaintRegionResolver.js.map +0 -1
  300. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts +0 -58
  301. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts.map +0 -1
  302. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js +0 -132
  303. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js.map +0 -1
  304. package/dist/modules/rendering/VideoFrameLayerClass.d.ts.map +0 -1
  305. package/dist/modules/rendering/VideoFrameLayerClass.js.map +0 -1
  306. package/dist/modules/rendering/VideoFrameSource.d.ts.map +0 -1
  307. package/dist/modules/rendering/VideoFrameSource.js.map +0 -1
  308. /package/dist/modules/rendering/{VideoFrameLayerClass.d.ts → styles/VideoFrameLayerClass.d.ts} +0 -0
  309. /package/dist/modules/rendering/{VideoFrameLayerClass.js → styles/VideoFrameLayerClass.js} +0 -0
  310. /package/dist/modules/rendering/{SegmentPaintRegionResolver.js → subtitle/SegmentPaintRegionResolver.js} +0 -0
  311. /package/dist/modules/rendering/{AlignmentConfig.d.ts → types/AlignmentConfig.d.ts} +0 -0
  312. /package/dist/modules/rendering/{AlignmentConfig.js → types/AlignmentConfig.js} +0 -0
  313. /package/dist/modules/rendering/{BoxEdges.d.ts → types/BoxEdges.d.ts} +0 -0
  314. /package/dist/modules/rendering/{BoxEdges.js → types/BoxEdges.js} +0 -0
  315. /package/dist/modules/rendering/{ElementRenderOverrides.js → types/ElementRenderOverrides.js} +0 -0
  316. /package/dist/modules/rendering/{InlineStyleMap.d.ts → types/InlineStyleMap.d.ts} +0 -0
  317. /package/dist/modules/rendering/{InlineStyleMap.js → types/InlineStyleMap.js} +0 -0
  318. /package/dist/modules/rendering/{RenderingConfig.js → types/RenderingConfig.js} +0 -0
  319. /package/dist/modules/rendering/{ScopedRenderOverride.js → types/ScopedRenderOverride.js} +0 -0
  320. /package/dist/modules/rendering/{VideoFrameSource.d.ts → types/VideoFrameSource.d.ts} +0 -0
  321. /package/dist/modules/rendering/{VideoFrameSource.js → types/VideoFrameSource.js} +0 -0
@@ -0,0 +1,19 @@
1
+ import type { Document } from '../../document/Document';
2
+ import type { WordSplitter } from '../../splitting/WordSplitter';
3
+ import type { VideoFrameSource } from '../../rendering/types/VideoFrameSource';
4
+ import type { BaselineCssComposer } from '../../rendering/styles/BaselineCssComposer';
5
+ import { ActiveRenderSession } from '../../rendering/subtitle/ActiveRenderSession';
6
+ import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
7
+ /**
8
+ * Assembles an `ActiveRenderSession` and its per-session collaborator
9
+ * graph: animation probe, segment paint-region cache, video-frame
10
+ * vars builder, segment wrapper renderer, batch planner, and sprite
11
+ * sheet compositor.
12
+ */
13
+ export declare class ActiveRenderSessionFactory {
14
+ private readonly wordSplitter;
15
+ private readonly baselineCssComposer;
16
+ constructor(wordSplitter: WordSplitter, baselineCssComposer: BaselineCssComposer);
17
+ create(doc: Document, styles: Readonly<Record<string, PreparedStyle>>, width: number, height: number, videoFrameSource: VideoFrameSource | null): ActiveRenderSession;
18
+ }
19
+ //# sourceMappingURL=ActiveRenderSessionFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveRenderSessionFactory.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSessionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAazF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;;;;GAKG;AACH,qBAAa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBADnB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB;IAG3D,MAAM,CACJ,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,EAAE,gBAAgB,GAAG,IAAI,GACxC,mBAAmB;CA0CvB"}
@@ -0,0 +1,41 @@
1
+ import { SvgFilterScoper } from '../../svg-filter/SvgFilterScoper';
2
+ import { SvgFilterLengthResolver } from '../../svg-filter/SvgFilterLengthResolver';
3
+ import { SegmentSubtreeHtmlBuilder } from '../../rendering/subtitle/SegmentSubtreeHtmlBuilder';
4
+ import { SegmentSubtreeDecomposer } from '../../rendering/subtitle/SegmentSubtreeDecomposer';
5
+ import { SegmentPaintRegionResolver } from '../../rendering/subtitle/SegmentPaintRegionResolver';
6
+ import { SegmentPaintRegionCache } from '../../rendering/subtitle/SegmentPaintRegionCache';
7
+ import { VideoFrameVarsBuilder } from '../../rendering/subtitle/VideoFrameVarsBuilder';
8
+ import { SvgFilterMaterializer } from '../../rendering/subtitle/SvgFilterMaterializer';
9
+ import { SegmentWrapperRenderer } from '../../rendering/subtitle/SegmentWrapperRenderer';
10
+ import { AnimationProbe } from '../../rendering/subtitle/AnimationProbe';
11
+ import { BatchPlanner } from '../../rendering/subtitle/BatchPlanner';
12
+ import { SpriteSheetCompositor } from '../../rendering/subtitle/SpriteSheetCompositor';
13
+ import { ActiveRenderSession } from '../../rendering/subtitle/ActiveRenderSession';
14
+ /**
15
+ * Assembles an `ActiveRenderSession` and its per-session collaborator
16
+ * graph: animation probe, segment paint-region cache, video-frame
17
+ * vars builder, segment wrapper renderer, batch planner, and sprite
18
+ * sheet compositor.
19
+ */
20
+ export class ActiveRenderSessionFactory {
21
+ wordSplitter;
22
+ baselineCssComposer;
23
+ constructor(wordSplitter, baselineCssComposer) {
24
+ this.wordSplitter = wordSplitter;
25
+ this.baselineCssComposer = baselineCssComposer;
26
+ }
27
+ create(doc, styles, width, height, videoFrameSource) {
28
+ const subtreeBuilder = new SegmentSubtreeHtmlBuilder(this.wordSplitter);
29
+ const subtreeDecomposer = new SegmentSubtreeDecomposer();
30
+ const paintRegionResolver = new SegmentPaintRegionResolver();
31
+ const paintRegionCache = new SegmentPaintRegionCache();
32
+ const filterMaterializer = new SvgFilterMaterializer(new SvgFilterScoper(), new SvgFilterLengthResolver(), height);
33
+ const videoFrameVarsBuilder = new VideoFrameVarsBuilder(subtreeBuilder, paintRegionResolver, paintRegionCache, width, height, videoFrameSource);
34
+ const wrapperRenderer = new SegmentWrapperRenderer(subtreeBuilder, subtreeDecomposer, filterMaterializer, videoFrameVarsBuilder, width, height);
35
+ const animationProbe = new AnimationProbe();
36
+ const batchPlanner = new BatchPlanner(doc, styles, animationProbe);
37
+ const spriteSheetCompositor = new SpriteSheetCompositor(styles, wrapperRenderer, this.baselineCssComposer, width, height);
38
+ return new ActiveRenderSession(batchPlanner, spriteSheetCompositor, animationProbe, paintRegionCache);
39
+ }
40
+ }
41
+ //# sourceMappingURL=ActiveRenderSessionFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActiveRenderSessionFactory.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSessionFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAGlB;IACA;IAFnB,YACmB,YAA0B,EAC1B,mBAAwC;QADxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEJ,MAAM,CACJ,GAAa,EACb,MAA+C,EAC/C,KAAa,EACb,MAAc,EACd,gBAAyC;QAEzC,MAAM,cAAc,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,MAAM,iBAAiB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACzD,MAAM,mBAAmB,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACvD,MAAM,kBAAkB,GAAG,IAAI,qBAAqB,CAClD,IAAI,eAAe,EAAE,EACrB,IAAI,uBAAuB,EAAE,EAC7B,MAAM,CACP,CAAC;QACF,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACrD,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,gBAAgB,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAChD,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,EACL,MAAM,CACP,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACrD,MAAM,EACN,eAAe,EACf,IAAI,CAAC,mBAAmB,EACxB,KAAK,EACL,MAAM,CACP,CAAC;QACF,OAAO,IAAI,mBAAmB,CAC5B,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,gBAAgB,CACjB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import type { Segment } from '../../document/Segment';
2
+ import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
3
+ /**
4
+ * Decides whether a render item should redraw every frame: builds
5
+ * throw-away DOM chains matching the CSS classes the engine emits,
6
+ * reads back resolved `animation-duration` / `animation-delay` from
7
+ * `getComputedStyle`, and decodes each timing back to the CSS
8
+ * variable that anchored its window. Caches per `(style, class
9
+ * chain)` so the same chain is probed at most once. `clear` empties
10
+ * the cache.
11
+ */
12
+ export declare class AnimationProbe {
13
+ private readonly timingByKey;
14
+ isItemAnimating(style: PreparedStyle, seg: Segment, t: number): boolean;
15
+ clear(): void;
16
+ private wordTiming;
17
+ private lineTiming;
18
+ private segmentTiming;
19
+ private injectProbeMagic;
20
+ private getOrProbeTiming;
21
+ private readAnimTimings;
22
+ private parseDurationsS;
23
+ private evalAnims;
24
+ }
25
+ //# sourceMappingURL=AnimationProbe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationProbe.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AnimationProbe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAK/E;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;IAEjE,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IA2BvE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,SAAS;CA+BlB"}
@@ -0,0 +1,198 @@
1
+ import { CssVariable } from '../../document/CssVariable';
2
+ const FINGERPRINT_BASE_S = 10000;
3
+ /**
4
+ * Decides whether a render item should redraw every frame: builds
5
+ * throw-away DOM chains matching the CSS classes the engine emits,
6
+ * reads back resolved `animation-duration` / `animation-delay` from
7
+ * `getComputedStyle`, and decodes each timing back to the CSS
8
+ * variable that anchored its window. Caches per `(style, class
9
+ * chain)` so the same chain is probed at most once. `clear` empties
10
+ * the cache.
11
+ */
12
+ export class AnimationProbe {
13
+ timingByKey = new Map();
14
+ isItemAnimating(style, seg, t) {
15
+ // Letter-level CSS typically combines time vars via calc(), which
16
+ // destroys the fingerprint-based probe; treat the segment as
17
+ // always animating in that mode and redraw every frame.
18
+ if (style.rendering.splitWordsIntoLetters)
19
+ return true;
20
+ // Styles that bake the underlying video frame into their visuals
21
+ // change every tick by definition — no two timestamps share state.
22
+ if (style.rendering.videoFrame.required)
23
+ return true;
24
+ // Filter definitions whose materialized output can vary with
25
+ // `currentTime` likewise force per-frame redraw; conservatively
26
+ // treat any non-empty filter set as time-varying.
27
+ if (!style.filters.definitions.isEmpty())
28
+ return true;
29
+ const segClasses = seg.getCssClasses(t);
30
+ if (this.evalAnims(this.segmentTiming(style, segClasses), t, seg.time.start, seg.time.end))
31
+ return true;
32
+ return [...seg.lines].some((line) => {
33
+ const lineClasses = line.getCssClasses(t);
34
+ if (this.evalAnims(this.lineTiming(style, lineClasses, segClasses), t, seg.time.start, seg.time.end, line.time.start, line.time.end))
35
+ return true;
36
+ return [...line.words].some((word) => {
37
+ const wordClasses = word.getCssClasses(t);
38
+ return this.evalAnims(this.wordTiming(style, wordClasses, lineClasses, segClasses), t, seg.time.start, seg.time.end, line.time.start, line.time.end, word.time.start, word.time.end);
39
+ });
40
+ });
41
+ }
42
+ clear() {
43
+ this.timingByKey.clear();
44
+ }
45
+ wordTiming(style, wordClasses, lineClasses, segClasses) {
46
+ const key = `${style.kind}|w:${wordClasses.join(' ')}|l:${lineClasses.join(' ')}|s:${segClasses.join(' ')}`;
47
+ return this.getOrProbeTiming(key, () => {
48
+ const seg = document.createElement('div');
49
+ seg.className = segClasses.join(' ');
50
+ const line = document.createElement('div');
51
+ line.className = lineClasses.join(' ');
52
+ const word = document.createElement('span');
53
+ word.className = wordClasses.join(' ');
54
+ this.injectProbeMagic(word);
55
+ line.appendChild(word);
56
+ seg.appendChild(line);
57
+ style.probeContainer.appendChild(seg);
58
+ const timing = this.readAnimTimings(word);
59
+ style.probeContainer.removeChild(seg);
60
+ return timing;
61
+ });
62
+ }
63
+ lineTiming(style, lineClasses, segClasses) {
64
+ const key = `${style.kind}|l:${lineClasses.join(' ')}|s:${segClasses.join(' ')}`;
65
+ return this.getOrProbeTiming(key, () => {
66
+ const seg = document.createElement('div');
67
+ seg.className = segClasses.join(' ');
68
+ const line = document.createElement('div');
69
+ line.className = lineClasses.join(' ');
70
+ this.injectProbeMagic(line);
71
+ seg.appendChild(line);
72
+ style.probeContainer.appendChild(seg);
73
+ const timing = this.readAnimTimings(line);
74
+ style.probeContainer.removeChild(seg);
75
+ return timing;
76
+ });
77
+ }
78
+ segmentTiming(style, segClasses) {
79
+ const key = `${style.kind}|s:${segClasses.join(' ')}`;
80
+ return this.getOrProbeTiming(key, () => {
81
+ const seg = document.createElement('div');
82
+ seg.className = segClasses.join(' ');
83
+ this.injectProbeMagic(seg);
84
+ style.probeContainer.appendChild(seg);
85
+ const timing = this.readAnimTimings(seg);
86
+ style.probeContainer.removeChild(seg);
87
+ return timing;
88
+ });
89
+ }
90
+ // Each CssVariable gets a fingerprint-shaped duration value so the
91
+ // computed `animation-delay` on a probed element identifies which
92
+ // variable a rule consumed.
93
+ injectProbeMagic(el) {
94
+ Object.values(CssVariable).forEach((cssVar, index) => {
95
+ el.style.setProperty(cssVar, `${(index + 1) * FINGERPRINT_BASE_S}s`);
96
+ });
97
+ }
98
+ getOrProbeTiming(key, probe) {
99
+ let timing = this.timingByKey.get(key);
100
+ if (!timing) {
101
+ timing = probe();
102
+ this.timingByKey.set(key, timing);
103
+ }
104
+ return timing;
105
+ }
106
+ readAnimTimings(el) {
107
+ const computed = window.getComputedStyle(el);
108
+ const durations = this.parseDurationsS(computed.animationDuration);
109
+ const delays = this.parseDurationsS(computed.animationDelay);
110
+ const iterations = computed.animationIterationCount.split(',').map((s) => s.trim());
111
+ if (durations.every((d) => d === 0))
112
+ return [];
113
+ const anims = [];
114
+ const variables = Object.values(CssVariable);
115
+ for (let i = 0; i < durations.length; i++) {
116
+ const d = durations[i] ?? 0;
117
+ if (d === 0)
118
+ continue;
119
+ const dl = delays[i] ?? 0;
120
+ const fingerprintIndex = (dl / FINGERPRINT_BASE_S) - 1;
121
+ const cssVar = variables[fingerprintIndex];
122
+ if (!cssVar)
123
+ continue;
124
+ const isInfinite = (iterations[i] ?? '1') === 'infinite';
125
+ anims.push({ cssVar, durationS: isInfinite ? Infinity : d + 0.05 });
126
+ }
127
+ return anims;
128
+ }
129
+ parseDurationsS(value) {
130
+ if (!value)
131
+ return [0];
132
+ return value.split(',').map((s) => {
133
+ s = s.trim();
134
+ if (s.endsWith('ms'))
135
+ return parseFloat(s) / 1000;
136
+ if (s.endsWith('s'))
137
+ return parseFloat(s);
138
+ return 0;
139
+ });
140
+ }
141
+ evalAnims(anims, t, segStart, segEnd, lineStart, lineEnd, wordStart, wordEnd) {
142
+ return anims.some((a) => {
143
+ let startT;
144
+ switch (a.cssVar) {
145
+ case CssVariable.SECTION_STARTS:
146
+ case CssVariable.SECTION_ENDS:
147
+ // Section-level animations are not yet wired into per-frame
148
+ // timing — treat them as never active.
149
+ return false;
150
+ case CssVariable.SEGMENT_STARTS:
151
+ startT = segStart;
152
+ break;
153
+ case CssVariable.SEGMENT_ENDS:
154
+ startT = segEnd;
155
+ break;
156
+ case CssVariable.LINE_NOT_NARRATED_YET_STARTS:
157
+ startT = segStart;
158
+ break;
159
+ case CssVariable.LINE_NOT_NARRATED_YET_ENDS:
160
+ startT = lineStart ?? segStart;
161
+ break;
162
+ case CssVariable.LINE_BEING_NARRATED_STARTS:
163
+ startT = lineStart ?? segStart;
164
+ break;
165
+ case CssVariable.LINE_BEING_NARRATED_ENDS:
166
+ startT = lineEnd ?? segEnd;
167
+ break;
168
+ case CssVariable.LINE_ALREADY_NARRATED_STARTS:
169
+ startT = lineEnd ?? segEnd;
170
+ break;
171
+ case CssVariable.LINE_ALREADY_NARRATED_ENDS:
172
+ startT = segEnd;
173
+ break;
174
+ case CssVariable.WORD_NOT_NARRATED_YET_STARTS:
175
+ startT = segStart;
176
+ break;
177
+ case CssVariable.WORD_NOT_NARRATED_YET_ENDS:
178
+ startT = wordStart ?? segStart;
179
+ break;
180
+ case CssVariable.WORD_BEING_NARRATED_STARTS:
181
+ startT = wordStart ?? segStart;
182
+ break;
183
+ case CssVariable.WORD_BEING_NARRATED_ENDS:
184
+ startT = wordEnd ?? segEnd;
185
+ break;
186
+ case CssVariable.WORD_ALREADY_NARRATED_STARTS:
187
+ startT = wordEnd ?? segEnd;
188
+ break;
189
+ case CssVariable.WORD_ALREADY_NARRATED_ENDS:
190
+ startT = segEnd;
191
+ break;
192
+ default: return false;
193
+ }
194
+ return t >= startT && t < startT + a.durationS;
195
+ });
196
+ }
197
+ }
198
+ //# sourceMappingURL=AnimationProbe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationProbe.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AnimationProbe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { RenderItem, UniqueTile, AssetGroup } from '../../rendering/subtitle/BatchPlan';
2
+ /**
3
+ * Builds one asset group: tracks the unique tiles accumulated for an
4
+ * asset key, deduplicates new arrivals by state key, and finalizes
5
+ * into an {@link AssetGroup}.
6
+ */
7
+ export declare class AssetGroupBuilder {
8
+ readonly assetKey: string;
9
+ private readonly tiles;
10
+ private readonly tileByStateKey;
11
+ constructor(assetKey: string);
12
+ upsertTile(stateKey: string, items: RenderItem[]): UniqueTile;
13
+ build(): AssetGroup;
14
+ }
15
+ //# sourceMappingURL=AssetGroupBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetGroupBuilder.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AssetGroupBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEhG;;;;GAIG;AACH,qBAAa,iBAAiB;IAIhB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAHrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiC;gBAE3C,QAAQ,EAAE,MAAM;IAErC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU;IAU7D,KAAK,IAAI,UAAU;CAGpB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Builds one asset group: tracks the unique tiles accumulated for an
3
+ * asset key, deduplicates new arrivals by state key, and finalizes
4
+ * into an {@link AssetGroup}.
5
+ */
6
+ export class AssetGroupBuilder {
7
+ assetKey;
8
+ tiles = [];
9
+ tileByStateKey = new Map();
10
+ constructor(assetKey) {
11
+ this.assetKey = assetKey;
12
+ }
13
+ upsertTile(stateKey, items) {
14
+ let tile = this.tileByStateKey.get(stateKey);
15
+ if (!tile) {
16
+ tile = { items, tileIndex: this.tiles.length };
17
+ this.tiles.push(tile);
18
+ this.tileByStateKey.set(stateKey, tile);
19
+ }
20
+ return tile;
21
+ }
22
+ build() {
23
+ return { assetKey: this.assetKey, uniqueTiles: this.tiles };
24
+ }
25
+ }
26
+ //# sourceMappingURL=AssetGroupBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetGroupBuilder.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AssetGroupBuilder.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAIP;IAHJ,KAAK,GAAiB,EAAE,CAAC;IACzB,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEhE,YAAqB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEzC,UAAU,CAAC,QAAgB,EAAE,KAAmB;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import type { Segment } from '../../document/Segment';
2
+ import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
3
+ export interface RenderItem {
4
+ seg: Segment;
5
+ style: PreparedStyle;
6
+ t: number;
7
+ /** Zero-based position of `seg` inside its owning section, propagated to the subtree builder for `--segment-index`. */
8
+ indexInSection: number;
9
+ }
10
+ export interface UniqueTile {
11
+ items: RenderItem[];
12
+ tileIndex: number;
13
+ }
14
+ export interface AssetGroup {
15
+ assetKey: string;
16
+ uniqueTiles: UniqueTile[];
17
+ }
18
+ export interface TileAssignment {
19
+ assetKey: string;
20
+ tileIndex: number;
21
+ }
22
+ /**
23
+ * Output of the batch planner: one asset group per disjoint kind
24
+ * combination at the timestamps in this batch, plus a per-timestamp
25
+ * assignment naming the group and the tile within it. A `null`
26
+ * assignment marks a timestamp with no active segment.
27
+ */
28
+ export interface BatchPlan {
29
+ groups: Map<string, AssetGroup>;
30
+ assignments: Array<TileAssignment | null>;
31
+ }
32
+ //# sourceMappingURL=BatchPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchPlan.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/BatchPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,uHAAuH;IACvH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,WAAW,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BatchPlan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchPlan.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/BatchPlan.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { Document } from '../../document/Document';
2
+ import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
3
+ import type { AnimationProbe } from '../../rendering/subtitle/AnimationProbe';
4
+ import type { BatchPlan } from '../../rendering/subtitle/BatchPlan';
5
+ /**
6
+ * Plans one batch: for each timestamp, finds the active prepared
7
+ * styles, groups timestamps by their disjoint kind sets so each
8
+ * rendered sprite carries only the asset payload its tiles need, and
9
+ * deduplicates timestamps that resolve to the same visual state into
10
+ * a single tile inside their group.
11
+ */
12
+ export declare class BatchPlanner {
13
+ private readonly doc;
14
+ private readonly styles;
15
+ private readonly animationProbe;
16
+ constructor(doc: Document, styles: Readonly<Record<string, PreparedStyle>>, animationProbe: AnimationProbe);
17
+ plan(timestamps: ReadonlyArray<number>): BatchPlan;
18
+ private itemsAt;
19
+ private computeAssetKey;
20
+ private computeStateKey;
21
+ /**
22
+ * Captures every time-varying CSS class the segment subtree
23
+ * exposes (segment, lines, words) so two timestamps that resolve
24
+ * to the same computed style — and therefore the same rendered
25
+ * frame outside active animation windows — share a tile, while two
26
+ * timestamps with different class states stay distinct.
27
+ */
28
+ private fingerprintSegmentState;
29
+ private fingerprintLineState;
30
+ }
31
+ //# sourceMappingURL=BatchPlanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchPlanner.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/BatchPlanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAA0C,MAAM,uCAAuC,CAAC;AAE/G;;;;;;GAMG;AACH,qBAAa,YAAY;IAGrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAC/C,cAAc,EAAE,cAAc;IAGjD,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS;IA0BlD,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -0,0 +1,91 @@
1
+ import { AssetGroupBuilder } from '../../rendering/subtitle/AssetGroupBuilder';
2
+ /**
3
+ * Plans one batch: for each timestamp, finds the active prepared
4
+ * styles, groups timestamps by their disjoint kind sets so each
5
+ * rendered sprite carries only the asset payload its tiles need, and
6
+ * deduplicates timestamps that resolve to the same visual state into
7
+ * a single tile inside their group.
8
+ */
9
+ export class BatchPlanner {
10
+ doc;
11
+ styles;
12
+ animationProbe;
13
+ constructor(doc, styles, animationProbe) {
14
+ this.doc = doc;
15
+ this.styles = styles;
16
+ this.animationProbe = animationProbe;
17
+ }
18
+ plan(timestamps) {
19
+ const builders = new Map();
20
+ const assignments = timestamps.map((t) => {
21
+ const items = this.itemsAt(t);
22
+ if (items.length === 0)
23
+ return null;
24
+ const assetKey = this.computeAssetKey(items);
25
+ let builder = builders.get(assetKey);
26
+ if (!builder) {
27
+ builder = new AssetGroupBuilder(assetKey);
28
+ builders.set(assetKey, builder);
29
+ }
30
+ const stateKey = this.computeStateKey(items, t);
31
+ const tile = builder.upsertTile(stateKey, items);
32
+ return { assetKey, tileIndex: tile.tileIndex };
33
+ });
34
+ const groups = new Map();
35
+ for (const builder of builders.values()) {
36
+ groups.set(builder.assetKey, builder.build());
37
+ }
38
+ return { groups, assignments };
39
+ }
40
+ itemsAt(t) {
41
+ const items = [];
42
+ for (const section of this.doc.sections) {
43
+ const style = this.styles[section.kind];
44
+ if (!style)
45
+ continue;
46
+ for (let indexInSection = 0; indexInSection < section.segments.length; indexInSection++) {
47
+ const seg = section.segments[indexInSection];
48
+ if (!seg.time.contains(t))
49
+ continue;
50
+ items.push({ seg, style, t, indexInSection });
51
+ }
52
+ }
53
+ items.sort((a, b) => {
54
+ const ds = a.seg.time.start - b.seg.time.start;
55
+ if (ds !== 0)
56
+ return ds;
57
+ return a.seg.time.end - b.seg.time.end;
58
+ });
59
+ return items;
60
+ }
61
+ computeAssetKey(items) {
62
+ const kinds = new Set();
63
+ for (const it of items)
64
+ kinds.add(it.style.kind);
65
+ return [...kinds].sort().join(',');
66
+ }
67
+ computeStateKey(items, t) {
68
+ return items.map(({ seg, style }) => {
69
+ const base = `${style.kind}:${seg.id}:${this.fingerprintSegmentState(seg, t)}`;
70
+ return this.animationProbe.isItemAnimating(style, seg, t) ? `${base}:${t.toFixed(3)}` : base;
71
+ }).join('|');
72
+ }
73
+ /**
74
+ * Captures every time-varying CSS class the segment subtree
75
+ * exposes (segment, lines, words) so two timestamps that resolve
76
+ * to the same computed style — and therefore the same rendered
77
+ * frame outside active animation windows — share a tile, while two
78
+ * timestamps with different class states stay distinct.
79
+ */
80
+ fingerprintSegmentState(seg, t) {
81
+ const segClasses = seg.getCssClasses(t).join(',');
82
+ const lineFingerprints = [...seg.lines].map((line) => this.fingerprintLineState(line, t));
83
+ return `${segClasses}|{${lineFingerprints.join(';')}}`;
84
+ }
85
+ fingerprintLineState(line, t) {
86
+ const lineClasses = line.getCssClasses(t).join(',');
87
+ const wordClasses = [...line.words].map((w) => w.getCssClasses(t).join(',')).join('|');
88
+ return `${lineClasses}[${wordClasses}]`;
89
+ }
90
+ }
91
+ //# sourceMappingURL=BatchPlanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchPlanner.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/BatchPlanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { AlignmentConfig } from '../../rendering/types/AlignmentConfig';
2
+ import type { DecorationPlacementSide } from '../../rendering/types/DecorationPlacementSide';
3
+ import type { ElementRenderOverrides } from '../../rendering/types/ElementRenderOverrides';
4
+ import type { InlineStyleMap } from '../../rendering/types/InlineStyleMap';
5
+ import type { RenderingConfig } from '../../rendering/types/RenderingConfig';
6
+ import type { SvgFilterBundle } from '../../svg-filter/SvgFilterBundle';
7
+ import type { InlineStyleEmitter } from '../../rendering/styles/InlineStyleEmitter';
8
+ import type { BaselineNeeds } from '../../rendering/styles/BaselineCssComposer';
9
+ /**
10
+ * A `SubtitleStyle` after preparation: CSS minified, embedded, and
11
+ * scoped to a unique class; the probe `<style>` and probe container
12
+ * mounted in the host document; baseline needs computed; per-style
13
+ * `InlineStyleEmitter` wired to filter unused CSS custom properties
14
+ * from inline `style` attributes. Consumers tear the prepared style
15
+ * down by removing `probeStyleElement` and `probeContainer` from the
16
+ * document.
17
+ */
18
+ export interface PreparedStyle {
19
+ kind: string;
20
+ scopedCss: string;
21
+ filters: SvgFilterBundle;
22
+ inlineStyles: InlineStyleMap;
23
+ alignment: AlignmentConfig;
24
+ rendering: RenderingConfig;
25
+ wordOverrides: ElementRenderOverrides;
26
+ segmentOverrides: ElementRenderOverrides;
27
+ decorationPlacements: ReadonlyMap<string, DecorationPlacementSide>;
28
+ probeStyleElement: HTMLStyleElement;
29
+ probeContainer: HTMLElement;
30
+ scopeClass: string;
31
+ inlineStyleEmitter: InlineStyleEmitter;
32
+ baselineNeeds: BaselineNeeds;
33
+ baselineCss: string;
34
+ }
35
+ //# sourceMappingURL=PreparedStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparedStyle.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/PreparedStyle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAEnF;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,cAAc,CAAC;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,aAAa,EAAE,sBAAsB,CAAC;IACtC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACnE,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,cAAc,EAAE,WAAW,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PreparedStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparedStyle.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/PreparedStyle.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import type { Document } from '../../document/Document';
2
+ import type { SubtitleStyle } from '../../rendering/SubtitleFrameRenderer';
3
+ import type { CssResourceEmbedder } from '../../css/CssResourceEmbedder';
4
+ import type { CssScoper } from '../../css/CssScoper';
5
+ import type { CssMinifier } from '../../css/CssMinifier';
6
+ import type { CssVarReferenceScanner } from '../../css/CssVarReferenceScanner';
7
+ import type { BaselineCssComposer } from '../../rendering/styles/BaselineCssComposer';
8
+ import type { SvgFilterScoper } from '../../svg-filter/SvgFilterScoper';
9
+ import type { SegmentPaddingCssRuleBuilder } from '../../rendering/styles/SegmentPaddingCssRuleBuilder';
10
+ import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
11
+ /**
12
+ * Prepares a `SubtitleStyle` for downstream rendering: minifies and
13
+ * embeds the CSS, scopes it to a unique class, mounts a probe
14
+ * container in the host document, computes the baseline needs, and
15
+ * wires the per-style `InlineStyleEmitter` that filters unused CSS
16
+ * custom properties from inline styles.
17
+ */
18
+ export declare class PreparedStyleFactory {
19
+ private readonly cssEmbedder;
20
+ private readonly cssScoper;
21
+ private readonly cssMinifier;
22
+ private readonly cssVarReferenceScanner;
23
+ private readonly baselineCssComposer;
24
+ private readonly svgFilterScoper;
25
+ private readonly segmentPaddingCssRuleBuilder;
26
+ constructor(cssEmbedder: CssResourceEmbedder, cssScoper: CssScoper, cssMinifier: CssMinifier, cssVarReferenceScanner: CssVarReferenceScanner, baselineCssComposer: BaselineCssComposer, svgFilterScoper: SvgFilterScoper, segmentPaddingCssRuleBuilder: SegmentPaddingCssRuleBuilder);
27
+ create(kind: string, style: SubtitleStyle, doc: Document): Promise<PreparedStyle>;
28
+ private prependSegmentPaddingRule;
29
+ private hasDecorationsForKind;
30
+ }
31
+ //# sourceMappingURL=PreparedStyleFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreparedStyleFactory.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/PreparedStyleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,+CAA+C,CAAC;AACxG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAO3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;gBAN5B,WAAW,EAAE,mBAAmB,EAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,sBAAsB,EAAE,sBAAsB,EAC9C,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,eAAe,EAChC,4BAA4B,EAAE,4BAA4B;IAGvE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDvF,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,qBAAqB;CAS9B"}