@tscaps/engine 0.2.1 → 0.3.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 (495) hide show
  1. package/README.md +47 -7
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/modules/bidi/BidiAnalyzer.d.ts +23 -0
  7. package/dist/modules/bidi/BidiAnalyzer.d.ts.map +1 -0
  8. package/dist/modules/bidi/BidiAnalyzer.js +2 -0
  9. package/dist/modules/bidi/BidiAnalyzer.js.map +1 -0
  10. package/dist/modules/bidi/BidiCharacterClassifier.d.ts +13 -0
  11. package/dist/modules/bidi/BidiCharacterClassifier.d.ts.map +1 -0
  12. package/dist/modules/bidi/BidiCharacterClassifier.js +2 -0
  13. package/dist/modules/bidi/BidiCharacterClassifier.js.map +1 -0
  14. package/dist/modules/bidi/BidiJsAnalyzer.d.ts +14 -0
  15. package/dist/modules/bidi/BidiJsAnalyzer.d.ts.map +1 -0
  16. package/dist/modules/bidi/BidiJsAnalyzer.js +19 -0
  17. package/dist/modules/bidi/BidiJsAnalyzer.js.map +1 -0
  18. package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts +8 -0
  19. package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts.map +1 -0
  20. package/dist/modules/bidi/BidiJsCharacterClassifier.js +19 -0
  21. package/dist/modules/bidi/BidiJsCharacterClassifier.js.map +1 -0
  22. package/dist/modules/bidi/CursiveScriptDetector.d.ts +12 -0
  23. package/dist/modules/bidi/CursiveScriptDetector.d.ts.map +1 -0
  24. package/dist/modules/bidi/CursiveScriptDetector.js +20 -0
  25. package/dist/modules/bidi/CursiveScriptDetector.js.map +1 -0
  26. package/dist/modules/bidi/HorizontalSide.d.ts +18 -0
  27. package/dist/modules/bidi/HorizontalSide.d.ts.map +1 -0
  28. package/dist/modules/bidi/HorizontalSide.js +3 -0
  29. package/dist/modules/bidi/HorizontalSide.js.map +1 -0
  30. package/dist/modules/bidi/HorizontalSideResolver.d.ts +21 -0
  31. package/dist/modules/bidi/HorizontalSideResolver.d.ts.map +1 -0
  32. package/dist/modules/bidi/HorizontalSideResolver.js +27 -0
  33. package/dist/modules/bidi/HorizontalSideResolver.js.map +1 -0
  34. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts +24 -0
  35. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts.map +1 -0
  36. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js +34 -0
  37. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js.map +1 -0
  38. package/dist/modules/bidi/TextDirection.d.ts +9 -0
  39. package/dist/modules/bidi/TextDirection.d.ts.map +1 -0
  40. package/dist/modules/bidi/TextDirection.js +2 -0
  41. package/dist/modules/bidi/TextDirection.js.map +1 -0
  42. package/dist/modules/bidi/TextDirectionDetector.d.ts +12 -0
  43. package/dist/modules/bidi/TextDirectionDetector.d.ts.map +1 -0
  44. package/dist/modules/bidi/TextDirectionDetector.js +2 -0
  45. package/dist/modules/bidi/TextDirectionDetector.js.map +1 -0
  46. package/dist/modules/bidi/WordFragment.d.ts +34 -0
  47. package/dist/modules/bidi/WordFragment.d.ts.map +1 -0
  48. package/dist/modules/bidi/WordFragment.js +2 -0
  49. package/dist/modules/bidi/WordFragment.js.map +1 -0
  50. package/dist/modules/bidi/WordFragmenter.d.ts +43 -0
  51. package/dist/modules/bidi/WordFragmenter.d.ts.map +1 -0
  52. package/dist/modules/bidi/WordFragmenter.js +112 -0
  53. package/dist/modules/bidi/WordFragmenter.js.map +1 -0
  54. package/dist/modules/bidi/index.d.ts +14 -0
  55. package/dist/modules/bidi/index.d.ts.map +1 -0
  56. package/dist/modules/bidi/index.js +8 -0
  57. package/dist/modules/bidi/index.js.map +1 -0
  58. package/dist/modules/css/CssBlockSealer.d.ts +30 -0
  59. package/dist/modules/css/CssBlockSealer.d.ts.map +1 -0
  60. package/dist/modules/css/CssBlockSealer.js +64 -0
  61. package/dist/modules/css/CssBlockSealer.js.map +1 -0
  62. package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts +13 -0
  63. package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts.map +1 -0
  64. package/dist/modules/css/CssCustomPropertyDefinitionScanner.js +24 -0
  65. package/dist/modules/css/CssCustomPropertyDefinitionScanner.js.map +1 -0
  66. package/dist/modules/css/CssFilterReferenceScanner.d.ts +15 -0
  67. package/dist/modules/css/CssFilterReferenceScanner.d.ts.map +1 -0
  68. package/dist/modules/css/CssFilterReferenceScanner.js +22 -0
  69. package/dist/modules/css/CssFilterReferenceScanner.js.map +1 -0
  70. package/dist/modules/css/CssFragmentParser.d.ts +53 -0
  71. package/dist/modules/css/CssFragmentParser.d.ts.map +1 -0
  72. package/dist/modules/css/CssFragmentParser.js +127 -0
  73. package/dist/modules/css/CssFragmentParser.js.map +1 -0
  74. package/dist/modules/css/CssKeyframeNamespacer.d.ts +21 -0
  75. package/dist/modules/css/CssKeyframeNamespacer.d.ts.map +1 -0
  76. package/dist/modules/css/CssKeyframeNamespacer.js +48 -0
  77. package/dist/modules/css/CssKeyframeNamespacer.js.map +1 -0
  78. package/dist/modules/css/CssKeyframesScanner.d.ts +29 -0
  79. package/dist/modules/css/CssKeyframesScanner.d.ts.map +1 -0
  80. package/dist/modules/css/CssKeyframesScanner.js +102 -0
  81. package/dist/modules/css/CssKeyframesScanner.js.map +1 -0
  82. package/dist/modules/css/CssLayer.d.ts +20 -0
  83. package/dist/modules/css/CssLayer.d.ts.map +1 -0
  84. package/dist/modules/css/CssLayer.js +21 -0
  85. package/dist/modules/css/CssLayer.js.map +1 -0
  86. package/dist/modules/css/CssScoper.d.ts +11 -2
  87. package/dist/modules/css/CssScoper.d.ts.map +1 -1
  88. package/dist/modules/css/CssScoper.js +53 -37
  89. package/dist/modules/css/CssScoper.js.map +1 -1
  90. package/dist/modules/css/CssSelectorClassScanner.d.ts +25 -0
  91. package/dist/modules/css/CssSelectorClassScanner.d.ts.map +1 -0
  92. package/dist/modules/css/CssSelectorClassScanner.js +91 -0
  93. package/dist/modules/css/CssSelectorClassScanner.js.map +1 -0
  94. package/dist/modules/css/CssVarReferenceScanner.d.ts +8 -5
  95. package/dist/modules/css/CssVarReferenceScanner.d.ts.map +1 -1
  96. package/dist/modules/css/CssVarReferenceScanner.js +14 -7
  97. package/dist/modules/css/CssVarReferenceScanner.js.map +1 -1
  98. package/dist/modules/css/index.d.ts +8 -0
  99. package/dist/modules/css/index.d.ts.map +1 -1
  100. package/dist/modules/css/index.js +8 -0
  101. package/dist/modules/css/index.js.map +1 -1
  102. package/dist/modules/document/CssClass.d.ts +20 -0
  103. package/dist/modules/document/CssClass.d.ts.map +1 -0
  104. package/dist/modules/document/CssClass.js +21 -0
  105. package/dist/modules/document/CssClass.js.map +1 -0
  106. package/dist/modules/document/CssVariable.d.ts +0 -6
  107. package/dist/modules/document/CssVariable.d.ts.map +1 -1
  108. package/dist/modules/document/CssVariable.js +0 -6
  109. package/dist/modules/document/CssVariable.js.map +1 -1
  110. package/dist/modules/document/DataAttribute.d.ts +26 -0
  111. package/dist/modules/document/DataAttribute.d.ts.map +1 -0
  112. package/dist/modules/document/DataAttribute.js +27 -0
  113. package/dist/modules/document/DataAttribute.js.map +1 -0
  114. package/dist/modules/document/DocumentEditor.d.ts +40 -9
  115. package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
  116. package/dist/modules/document/DocumentEditor.js +69 -17
  117. package/dist/modules/document/DocumentEditor.js.map +1 -1
  118. package/dist/modules/document/DocumentNodeId.d.ts +23 -0
  119. package/dist/modules/document/DocumentNodeId.d.ts.map +1 -0
  120. package/dist/modules/document/DocumentNodeId.js +31 -0
  121. package/dist/modules/document/DocumentNodeId.js.map +1 -0
  122. package/dist/modules/document/Line.d.ts +1 -1
  123. package/dist/modules/document/Line.d.ts.map +1 -1
  124. package/dist/modules/document/Line.js +2 -1
  125. package/dist/modules/document/Line.js.map +1 -1
  126. package/dist/modules/document/Section.d.ts +1 -4
  127. package/dist/modules/document/Section.d.ts.map +1 -1
  128. package/dist/modules/document/Section.js +2 -17
  129. package/dist/modules/document/Section.js.map +1 -1
  130. package/dist/modules/document/Segment.d.ts +14 -7
  131. package/dist/modules/document/Segment.d.ts.map +1 -1
  132. package/dist/modules/document/Segment.js +26 -1
  133. package/dist/modules/document/Segment.js.map +1 -1
  134. package/dist/modules/document/Word.d.ts +1 -1
  135. package/dist/modules/document/Word.d.ts.map +1 -1
  136. package/dist/modules/document/Word.js +2 -1
  137. package/dist/modules/document/Word.js.map +1 -1
  138. package/dist/modules/document/index.d.ts +4 -2
  139. package/dist/modules/document/index.d.ts.map +1 -1
  140. package/dist/modules/document/index.js +3 -1
  141. package/dist/modules/document/index.js.map +1 -1
  142. package/dist/modules/effect/GapFreeEffect.d.ts +15 -0
  143. package/dist/modules/effect/GapFreeEffect.d.ts.map +1 -1
  144. package/dist/modules/effect/GapFreeEffect.js +29 -4
  145. package/dist/modules/effect/GapFreeEffect.js.map +1 -1
  146. package/dist/modules/pipeline/RenderPipelineBuilder.js +3 -3
  147. package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
  148. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
  149. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +4 -1
  150. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
  151. package/dist/modules/rendering/HorizontalPlacementResolver.d.ts +27 -0
  152. package/dist/modules/rendering/HorizontalPlacementResolver.d.ts.map +1 -0
  153. package/dist/modules/rendering/HorizontalPlacementResolver.js +31 -0
  154. package/dist/modules/rendering/HorizontalPlacementResolver.js.map +1 -0
  155. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +2 -0
  156. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
  157. package/dist/modules/rendering/index.d.ts +7 -4
  158. package/dist/modules/rendering/index.d.ts.map +1 -1
  159. package/dist/modules/rendering/index.js +5 -2
  160. package/dist/modules/rendering/index.js.map +1 -1
  161. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts +19 -1
  162. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts.map +1 -1
  163. package/dist/modules/rendering/styles/BaselineCssComposer.js +32 -8
  164. package/dist/modules/rendering/styles/BaselineCssComposer.js.map +1 -1
  165. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts.map +1 -1
  166. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js +5 -4
  167. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js.map +1 -1
  168. package/dist/modules/rendering/styles/FrozenFrameCss.d.ts +28 -0
  169. package/dist/modules/rendering/styles/FrozenFrameCss.d.ts.map +1 -0
  170. package/dist/modules/rendering/styles/FrozenFrameCss.js +28 -0
  171. package/dist/modules/rendering/styles/FrozenFrameCss.js.map +1 -0
  172. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts +0 -7
  173. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts.map +1 -1
  174. package/dist/modules/rendering/styles/InlineStyleEmitter.js +0 -9
  175. package/dist/modules/rendering/styles/InlineStyleEmitter.js.map +1 -1
  176. package/dist/modules/rendering/styles/{VideoFrameLayerClass.d.ts → VideoFrameLayerBaselineCss.d.ts} +3 -10
  177. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.d.ts.map +1 -0
  178. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js +15 -0
  179. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js.map +1 -0
  180. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +3 -1
  181. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -1
  182. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +9 -4
  183. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -1
  184. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +23 -9
  185. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +1 -1
  186. package/dist/modules/rendering/subtitle/AnimationProbe.js +86 -81
  187. package/dist/modules/rendering/subtitle/AnimationProbe.js.map +1 -1
  188. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +1 -0
  189. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -1
  190. package/dist/modules/rendering/subtitle/BatchPlanner.js +16 -14
  191. package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -1
  192. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +1 -0
  193. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -1
  194. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +1 -1
  195. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -1
  196. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.d.ts.map +1 -1
  197. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.js +7 -4
  198. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.js.map +1 -1
  199. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +30 -2
  200. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -1
  201. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +85 -27
  202. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -1
  203. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +3 -8
  204. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -1
  205. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +31 -40
  206. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -1
  207. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts +2 -0
  208. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts.map +1 -1
  209. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js +18 -9
  210. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js.map +1 -1
  211. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts +8 -15
  212. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts.map +1 -1
  213. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js +10 -20
  214. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js.map +1 -1
  215. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -1
  216. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +12 -3
  217. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -1
  218. package/dist/modules/rendering/types/AlignmentConfig.d.ts +16 -4
  219. package/dist/modules/rendering/types/AlignmentConfig.d.ts.map +1 -1
  220. package/dist/modules/rendering/types/AlignmentConfig.js +2 -1
  221. package/dist/modules/rendering/types/AlignmentConfig.js.map +1 -1
  222. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts +8 -0
  223. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -1
  224. package/dist/modules/rendering/types/ElementRenderOverrides.js +28 -0
  225. package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -1
  226. package/dist/modules/rendering/types/RenderingConfig.d.ts +7 -2
  227. package/dist/modules/rendering/types/RenderingConfig.d.ts.map +1 -1
  228. package/dist/modules/rendering/types/ScopedRenderOverride.d.ts +9 -4
  229. package/dist/modules/rendering/types/ScopedRenderOverride.d.ts.map +1 -1
  230. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts +53 -0
  231. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts.map +1 -0
  232. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js +133 -0
  233. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js.map +1 -0
  234. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts +20 -0
  235. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts.map +1 -0
  236. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js +31 -0
  237. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js.map +1 -0
  238. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts +21 -0
  239. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts.map +1 -0
  240. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js +33 -0
  241. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js.map +1 -0
  242. package/dist/modules/subtitle-file/SubtitleCue.d.ts +18 -0
  243. package/dist/modules/subtitle-file/SubtitleCue.d.ts.map +1 -0
  244. package/dist/modules/subtitle-file/SubtitleCue.js +20 -0
  245. package/dist/modules/subtitle-file/SubtitleCue.js.map +1 -0
  246. package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts +38 -0
  247. package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts.map +1 -0
  248. package/dist/modules/subtitle-file/SubtitleCueBuilder.js +106 -0
  249. package/dist/modules/subtitle-file/SubtitleCueBuilder.js.map +1 -0
  250. package/dist/modules/subtitle-file/SubtitleFileJob.d.ts +17 -0
  251. package/dist/modules/subtitle-file/SubtitleFileJob.d.ts.map +1 -0
  252. package/dist/modules/subtitle-file/SubtitleFileJob.js +2 -0
  253. package/dist/modules/subtitle-file/SubtitleFileJob.js.map +1 -0
  254. package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts +36 -0
  255. package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts.map +1 -0
  256. package/dist/modules/subtitle-file/SubtitleFileSerializer.js +44 -0
  257. package/dist/modules/subtitle-file/SubtitleFileSerializer.js.map +1 -0
  258. package/dist/modules/subtitle-file/SubtitleGranularity.d.ts +11 -0
  259. package/dist/modules/subtitle-file/SubtitleGranularity.d.ts.map +1 -0
  260. package/dist/modules/subtitle-file/SubtitleGranularity.js +2 -0
  261. package/dist/modules/subtitle-file/SubtitleGranularity.js.map +1 -0
  262. package/dist/modules/subtitle-file/SubtitleRow.d.ts +11 -0
  263. package/dist/modules/subtitle-file/SubtitleRow.d.ts.map +1 -0
  264. package/dist/modules/subtitle-file/SubtitleRow.js +14 -0
  265. package/dist/modules/subtitle-file/SubtitleRow.js.map +1 -0
  266. package/dist/modules/subtitle-file/SubtitleToken.d.ts +13 -0
  267. package/dist/modules/subtitle-file/SubtitleToken.d.ts.map +1 -0
  268. package/dist/modules/subtitle-file/SubtitleToken.js +15 -0
  269. package/dist/modules/subtitle-file/SubtitleToken.js.map +1 -0
  270. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts +19 -0
  271. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts.map +1 -0
  272. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js +24 -0
  273. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js.map +1 -0
  274. package/dist/modules/subtitle-file/Timecode.d.ts +20 -0
  275. package/dist/modules/subtitle-file/Timecode.d.ts.map +1 -0
  276. package/dist/modules/subtitle-file/Timecode.js +32 -0
  277. package/dist/modules/subtitle-file/Timecode.js.map +1 -0
  278. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts +22 -0
  279. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts.map +1 -0
  280. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js +57 -0
  281. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js.map +1 -0
  282. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts +21 -0
  283. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts.map +1 -0
  284. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js +39 -0
  285. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js.map +1 -0
  286. package/dist/modules/subtitle-file/index.d.ts +10 -0
  287. package/dist/modules/subtitle-file/index.d.ts.map +1 -0
  288. package/dist/modules/subtitle-file/index.js +8 -0
  289. package/dist/modules/subtitle-file/index.js.map +1 -0
  290. package/dist/modules/svg-filter/SvgFilter.d.ts +8 -1
  291. package/dist/modules/svg-filter/SvgFilter.d.ts.map +1 -1
  292. package/dist/modules/svg-filter/SvgFilter.js +9 -1
  293. package/dist/modules/svg-filter/SvgFilter.js.map +1 -1
  294. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts +1 -0
  295. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts.map +1 -1
  296. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js +9 -1
  297. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js.map +1 -1
  298. package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts +44 -0
  299. package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts.map +1 -0
  300. package/dist/modules/svg-filter/SvgFilterDefsRenderer.js +47 -0
  301. package/dist/modules/svg-filter/SvgFilterDefsRenderer.js.map +1 -0
  302. package/dist/modules/svg-filter/index.d.ts +2 -0
  303. package/dist/modules/svg-filter/index.d.ts.map +1 -1
  304. package/dist/modules/svg-filter/index.js +1 -0
  305. package/dist/modules/svg-filter/index.js.map +1 -1
  306. package/dist/modules/tagging/PauseTagger.d.ts.map +1 -1
  307. package/dist/modules/tagging/PauseTagger.js +2 -1
  308. package/dist/modules/tagging/PauseTagger.js.map +1 -1
  309. package/dist/modules/tagging/RegexTagger.js +1 -1
  310. package/dist/modules/tagging/RegexTagger.js.map +1 -1
  311. package/dist/modules/tagging/SpanTagger.js +1 -1
  312. package/dist/modules/tagging/SpanTagger.js.map +1 -1
  313. package/dist/modules/tagging/StructureTagger.d.ts +0 -1
  314. package/dist/modules/tagging/StructureTagger.d.ts.map +1 -1
  315. package/dist/modules/tagging/StructureTagger.js +3 -8
  316. package/dist/modules/tagging/StructureTagger.js.map +1 -1
  317. package/dist/modules/tagging/WordlistTagger.js +1 -1
  318. package/dist/modules/tagging/WordlistTagger.js.map +1 -1
  319. package/dist/modules/tags/AndTagCondition.d.ts +10 -0
  320. package/dist/modules/tags/AndTagCondition.d.ts.map +1 -0
  321. package/dist/modules/tags/AndTagCondition.js +14 -0
  322. package/dist/modules/tags/AndTagCondition.js.map +1 -0
  323. package/dist/modules/tags/HasTagCondition.d.ts +10 -0
  324. package/dist/modules/tags/HasTagCondition.d.ts.map +1 -0
  325. package/dist/modules/tags/HasTagCondition.js +18 -0
  326. package/dist/modules/tags/HasTagCondition.js.map +1 -0
  327. package/dist/modules/tags/NotTagCondition.d.ts +10 -0
  328. package/dist/modules/tags/NotTagCondition.d.ts.map +1 -0
  329. package/dist/modules/tags/NotTagCondition.js +14 -0
  330. package/dist/modules/tags/NotTagCondition.js.map +1 -0
  331. package/dist/modules/tags/OrTagCondition.d.ts +10 -0
  332. package/dist/modules/tags/OrTagCondition.d.ts.map +1 -0
  333. package/dist/modules/tags/OrTagCondition.js +14 -0
  334. package/dist/modules/tags/OrTagCondition.js.map +1 -0
  335. package/dist/modules/{document/Tag.d.ts → tags/StructureTag.d.ts} +2 -11
  336. package/dist/modules/tags/StructureTag.d.ts.map +1 -0
  337. package/dist/modules/{document/Tag.js → tags/StructureTag.js} +1 -19
  338. package/dist/modules/tags/StructureTag.js.map +1 -0
  339. package/dist/modules/tags/Tag.d.ts +8 -0
  340. package/dist/modules/tags/Tag.d.ts.map +1 -0
  341. package/dist/modules/tags/Tag.js +16 -0
  342. package/dist/modules/tags/Tag.js.map +1 -0
  343. package/dist/modules/tags/TagCondition.d.ts +12 -0
  344. package/dist/modules/tags/TagCondition.d.ts.map +1 -0
  345. package/dist/modules/tags/TagCondition.js +2 -0
  346. package/dist/modules/tags/TagCondition.js.map +1 -0
  347. package/dist/modules/tags/TagConditionParser.d.ts +21 -0
  348. package/dist/modules/tags/TagConditionParser.d.ts.map +1 -0
  349. package/dist/modules/tags/TagConditionParser.js +75 -0
  350. package/dist/modules/tags/TagConditionParser.js.map +1 -0
  351. package/dist/modules/tags/index.d.ts +9 -0
  352. package/dist/modules/tags/index.d.ts.map +1 -0
  353. package/dist/modules/tags/index.js +8 -0
  354. package/dist/modules/tags/index.js.map +1 -0
  355. package/dist/modules/transcription/AudioDecoder.d.ts +9 -4
  356. package/dist/modules/transcription/AudioDecoder.d.ts.map +1 -1
  357. package/dist/modules/transcription/BatchedMonoResampler.d.ts +45 -0
  358. package/dist/modules/transcription/BatchedMonoResampler.d.ts.map +1 -0
  359. package/dist/modules/transcription/BatchedMonoResampler.js +116 -0
  360. package/dist/modules/transcription/BatchedMonoResampler.js.map +1 -0
  361. package/dist/modules/transcription/CacheStorageModelFileCache.d.ts +38 -0
  362. package/dist/modules/transcription/CacheStorageModelFileCache.d.ts.map +1 -0
  363. package/dist/modules/transcription/CacheStorageModelFileCache.js +86 -0
  364. package/dist/modules/transcription/CacheStorageModelFileCache.js.map +1 -0
  365. package/dist/modules/transcription/CueDocumentBuilder.d.ts +40 -0
  366. package/dist/modules/transcription/CueDocumentBuilder.d.ts.map +1 -0
  367. package/dist/modules/transcription/CueDocumentBuilder.js +77 -0
  368. package/dist/modules/transcription/CueDocumentBuilder.js.map +1 -0
  369. package/dist/modules/transcription/CueParseResult.d.ts +16 -0
  370. package/dist/modules/transcription/CueParseResult.d.ts.map +1 -0
  371. package/dist/modules/transcription/CueParseResult.js +2 -0
  372. package/dist/modules/transcription/CueParseResult.js.map +1 -0
  373. package/dist/modules/transcription/CueTextTokenizer.d.ts +10 -0
  374. package/dist/modules/transcription/CueTextTokenizer.d.ts.map +1 -0
  375. package/dist/modules/transcription/CueTextTokenizer.js +21 -0
  376. package/dist/modules/transcription/CueTextTokenizer.js.map +1 -0
  377. package/dist/modules/transcription/CueTimecodeReader.d.ts +19 -0
  378. package/dist/modules/transcription/CueTimecodeReader.d.ts.map +1 -0
  379. package/dist/modules/transcription/CueTimecodeReader.js +45 -0
  380. package/dist/modules/transcription/CueTimecodeReader.js.map +1 -0
  381. package/dist/modules/transcription/CueWordReader.d.ts +12 -0
  382. package/dist/modules/transcription/CueWordReader.d.ts.map +1 -0
  383. package/dist/modules/transcription/CueWordReader.js +2 -0
  384. package/dist/modules/transcription/CueWordReader.js.map +1 -0
  385. package/dist/modules/transcription/EstimatedCueWordReader.d.ts +16 -0
  386. package/dist/modules/transcription/EstimatedCueWordReader.d.ts.map +1 -0
  387. package/dist/modules/transcription/EstimatedCueWordReader.js +17 -0
  388. package/dist/modules/transcription/EstimatedCueWordReader.js.map +1 -0
  389. package/dist/modules/transcription/LogitsProcessorListFactory.d.ts +43 -0
  390. package/dist/modules/transcription/LogitsProcessorListFactory.d.ts.map +1 -0
  391. package/dist/modules/transcription/LogitsProcessorListFactory.js +72 -0
  392. package/dist/modules/transcription/LogitsProcessorListFactory.js.map +1 -0
  393. package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts +27 -0
  394. package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts.map +1 -0
  395. package/dist/modules/transcription/MediaBunnyAudioDecoder.js +76 -0
  396. package/dist/modules/transcription/MediaBunnyAudioDecoder.js.map +1 -0
  397. package/dist/modules/transcription/ModelFileCache.d.ts +20 -0
  398. package/dist/modules/transcription/ModelFileCache.d.ts.map +1 -0
  399. package/dist/modules/transcription/ModelFileCache.js +2 -0
  400. package/dist/modules/transcription/ModelFileCache.js.map +1 -0
  401. package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts +18 -0
  402. package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts.map +1 -0
  403. package/dist/modules/transcription/ModelFileCacheUnavailableError.js +18 -0
  404. package/dist/modules/transcription/ModelFileCacheUnavailableError.js.map +1 -0
  405. package/dist/modules/transcription/SrtTranscriber.d.ts +24 -15
  406. package/dist/modules/transcription/SrtTranscriber.d.ts.map +1 -1
  407. package/dist/modules/transcription/SrtTranscriber.js +32 -90
  408. package/dist/modules/transcription/SrtTranscriber.js.map +1 -1
  409. package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts +22 -0
  410. package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts.map +1 -0
  411. package/dist/modules/transcription/SubtitleFileUnreadableError.js +22 -0
  412. package/dist/modules/transcription/SubtitleFileUnreadableError.js.map +1 -0
  413. package/dist/modules/transcription/TimestampedCueWordReader.d.ts +27 -0
  414. package/dist/modules/transcription/TimestampedCueWordReader.d.ts.map +1 -0
  415. package/dist/modules/transcription/TimestampedCueWordReader.js +52 -0
  416. package/dist/modules/transcription/TimestampedCueWordReader.js.map +1 -0
  417. package/dist/modules/transcription/Transcriber.d.ts +13 -0
  418. package/dist/modules/transcription/Transcriber.d.ts.map +1 -1
  419. package/dist/modules/transcription/TransformersRuntime.d.ts +50 -0
  420. package/dist/modules/transcription/TransformersRuntime.d.ts.map +1 -0
  421. package/dist/modules/transcription/TransformersRuntime.js +79 -0
  422. package/dist/modules/transcription/TransformersRuntime.js.map +1 -0
  423. package/dist/modules/transcription/VttTranscriber.d.ts +25 -7
  424. package/dist/modules/transcription/VttTranscriber.d.ts.map +1 -1
  425. package/dist/modules/transcription/VttTranscriber.js +36 -15
  426. package/dist/modules/transcription/VttTranscriber.js.map +1 -1
  427. package/dist/modules/transcription/WhisperChunkStitcher.d.ts +51 -0
  428. package/dist/modules/transcription/WhisperChunkStitcher.d.ts.map +1 -0
  429. package/dist/modules/transcription/WhisperChunkStitcher.js +101 -0
  430. package/dist/modules/transcription/WhisperChunkStitcher.js.map +1 -0
  431. package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts +16 -0
  432. package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts.map +1 -0
  433. package/dist/modules/transcription/WhisperDeviceUnavailableError.js +16 -0
  434. package/dist/modules/transcription/WhisperDeviceUnavailableError.js.map +1 -0
  435. package/dist/modules/transcription/WhisperInferenceFailedError.d.ts +16 -0
  436. package/dist/modules/transcription/WhisperInferenceFailedError.d.ts.map +1 -0
  437. package/dist/modules/transcription/WhisperInferenceFailedError.js +16 -0
  438. package/dist/modules/transcription/WhisperInferenceFailedError.js.map +1 -0
  439. package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts +61 -0
  440. package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts.map +1 -0
  441. package/dist/modules/transcription/WhisperInferenceProgressTracker.js +102 -0
  442. package/dist/modules/transcription/WhisperInferenceProgressTracker.js.map +1 -0
  443. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts +38 -0
  444. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts.map +1 -0
  445. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js +94 -0
  446. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js.map +1 -0
  447. package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts +15 -0
  448. package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts.map +1 -0
  449. package/dist/modules/transcription/WhisperModelLoadFailedError.js +15 -0
  450. package/dist/modules/transcription/WhisperModelLoadFailedError.js.map +1 -0
  451. package/dist/modules/transcription/WhisperTranscriber.d.ts +106 -7
  452. package/dist/modules/transcription/WhisperTranscriber.d.ts.map +1 -1
  453. package/dist/modules/transcription/WhisperTranscriber.js +312 -25
  454. package/dist/modules/transcription/WhisperTranscriber.js.map +1 -1
  455. package/dist/modules/transcription/WhisperWindowCoverage.d.ts +79 -0
  456. package/dist/modules/transcription/WhisperWindowCoverage.d.ts.map +1 -0
  457. package/dist/modules/transcription/WhisperWindowCoverage.js +129 -0
  458. package/dist/modules/transcription/WhisperWindowCoverage.js.map +1 -0
  459. package/dist/modules/transcription/WordTimingEstimator.d.ts +14 -0
  460. package/dist/modules/transcription/WordTimingEstimator.d.ts.map +1 -0
  461. package/dist/modules/transcription/WordTimingEstimator.js +33 -0
  462. package/dist/modules/transcription/WordTimingEstimator.js.map +1 -0
  463. package/dist/modules/transcription/index.d.ts +8 -2
  464. package/dist/modules/transcription/index.d.ts.map +1 -1
  465. package/dist/modules/transcription/index.js +5 -1
  466. package/dist/modules/transcription/index.js.map +1 -1
  467. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -1
  468. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +8 -0
  469. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -1
  470. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +3 -1
  471. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +1 -1
  472. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js +33 -23
  473. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js.map +1 -1
  474. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +1 -1
  475. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -1
  476. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts +6 -7
  477. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts.map +1 -1
  478. package/package.json +13 -10
  479. package/dist/modules/document/Tag.d.ts.map +0 -1
  480. package/dist/modules/document/Tag.js.map +0 -1
  481. package/dist/modules/rendering/styles/BehindActorBaselineCss.d.ts +0 -19
  482. package/dist/modules/rendering/styles/BehindActorBaselineCss.d.ts.map +0 -1
  483. package/dist/modules/rendering/styles/BehindActorBaselineCss.js +0 -19
  484. package/dist/modules/rendering/styles/BehindActorBaselineCss.js.map +0 -1
  485. package/dist/modules/rendering/styles/VideoFrameLayerClass.d.ts.map +0 -1
  486. package/dist/modules/rendering/styles/VideoFrameLayerClass.js +0 -21
  487. package/dist/modules/rendering/styles/VideoFrameLayerClass.js.map +0 -1
  488. package/dist/modules/rendering/types/BehindActorRequirement.d.ts +0 -12
  489. package/dist/modules/rendering/types/BehindActorRequirement.d.ts.map +0 -1
  490. package/dist/modules/rendering/types/BehindActorRequirement.js +0 -2
  491. package/dist/modules/rendering/types/BehindActorRequirement.js.map +0 -1
  492. package/dist/modules/transcription/BrowserAudioDecoder.d.ts +0 -13
  493. package/dist/modules/transcription/BrowserAudioDecoder.d.ts.map +0 -1
  494. package/dist/modules/transcription/BrowserAudioDecoder.js +0 -34
  495. package/dist/modules/transcription/BrowserAudioDecoder.js.map +0 -1
@@ -2,6 +2,14 @@ export type { CssResourceEmbedder } from '../css/CssResourceEmbedder';
2
2
  export { BrowserCssResourceEmbedder } from '../css/BrowserCssResourceEmbedder';
3
3
  export { NoopCssResourceEmbedder } from '../css/NoopCssResourceEmbedder';
4
4
  export { CssScoper } from '../css/CssScoper';
5
+ export { CssLayer } from '../css/CssLayer';
6
+ export { CssKeyframeNamespacer } from '../css/CssKeyframeNamespacer';
5
7
  export { CssMinifier } from '../css/CssMinifier';
8
+ export { CssBlockSealer, type SealedCss } from '../css/CssBlockSealer';
6
9
  export { CssVarReferenceScanner } from '../css/CssVarReferenceScanner';
10
+ export { CssCustomPropertyDefinitionScanner } from '../css/CssCustomPropertyDefinitionScanner';
11
+ export { CssKeyframesScanner } from '../css/CssKeyframesScanner';
12
+ export { CssFragmentParser, type CssFragmentPart, type CssFragmentDeclaration, type CssFragmentBlock, } from '../css/CssFragmentParser';
13
+ export { CssSelectorClassScanner } from '../css/CssSelectorClassScanner';
14
+ export { CssFilterReferenceScanner } from '../css/CssFilterReferenceScanner';
7
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/css/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/css/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC"}
@@ -1,6 +1,14 @@
1
1
  export { BrowserCssResourceEmbedder } from '../css/BrowserCssResourceEmbedder';
2
2
  export { NoopCssResourceEmbedder } from '../css/NoopCssResourceEmbedder';
3
3
  export { CssScoper } from '../css/CssScoper';
4
+ export { CssLayer } from '../css/CssLayer';
5
+ export { CssKeyframeNamespacer } from '../css/CssKeyframeNamespacer';
4
6
  export { CssMinifier } from '../css/CssMinifier';
7
+ export { CssBlockSealer } from '../css/CssBlockSealer';
5
8
  export { CssVarReferenceScanner } from '../css/CssVarReferenceScanner';
9
+ export { CssCustomPropertyDefinitionScanner } from '../css/CssCustomPropertyDefinitionScanner';
10
+ export { CssKeyframesScanner } from '../css/CssKeyframesScanner';
11
+ export { CssFragmentParser, } from '../css/CssFragmentParser';
12
+ export { CssSelectorClassScanner } from '../css/CssSelectorClassScanner';
13
+ export { CssFilterReferenceScanner } from '../css/CssFilterReferenceScanner';
6
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/css/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/css/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAkB,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,iBAAiB,GAIlB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CSS classes the framework publishes on rendered elements as part of
3
+ * its stylesheet contract, mirroring how `CssVariable` names the
4
+ * published custom properties. Two kinds live here: state classes
5
+ * that appear and disappear with framework-driven conditions, and
6
+ * classes on elements the renderer itself creates (layers and
7
+ * containers that are not document nodes). Structural node classes
8
+ * stay on their node class (`Segment.CSS_CLASS`, `Word.CSS_CLASS`, …).
9
+ */
10
+ export declare enum CssClass {
11
+ /** On `.segment` while the text-behind-actor effect is active for it; absent otherwise. */
12
+ BEHIND_ACTOR_ACTIVE = "behind-actor-active",
13
+ /** On the layer element emitted inside `.segment` when `RenderingConfig.videoFrame.required` is set. Stylesheets target it to position, clip, or filter the video frame. */
14
+ VIDEO_FRAME_LAYER = "tscaps-video-frame-layer",
15
+ /** On the container of decorations promoted above the segment's text. */
16
+ SEGMENT_DECORATIONS_ABOVE = "segment-decorations-above",
17
+ /** On the container of decorations promoted below the segment's text. */
18
+ SEGMENT_DECORATIONS_BELOW = "segment-decorations-below"
19
+ }
20
+ //# sourceMappingURL=CssClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssClass.d.ts","sourceRoot":"","sources":["../../../src/modules/document/CssClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,QAAQ;IAClB,2FAA2F;IAC3F,mBAAmB,wBAAwB;IAE3C,4KAA4K;IAC5K,iBAAiB,6BAA6B;IAE9C,yEAAyE;IACzE,yBAAyB,8BAA8B;IAEvD,yEAAyE;IACzE,yBAAyB,8BAA8B;CACxD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * CSS classes the framework publishes on rendered elements as part of
3
+ * its stylesheet contract, mirroring how `CssVariable` names the
4
+ * published custom properties. Two kinds live here: state classes
5
+ * that appear and disappear with framework-driven conditions, and
6
+ * classes on elements the renderer itself creates (layers and
7
+ * containers that are not document nodes). Structural node classes
8
+ * stay on their node class (`Segment.CSS_CLASS`, `Word.CSS_CLASS`, …).
9
+ */
10
+ export var CssClass;
11
+ (function (CssClass) {
12
+ /** On `.segment` while the text-behind-actor effect is active for it; absent otherwise. */
13
+ CssClass["BEHIND_ACTOR_ACTIVE"] = "behind-actor-active";
14
+ /** On the layer element emitted inside `.segment` when `RenderingConfig.videoFrame.required` is set. Stylesheets target it to position, clip, or filter the video frame. */
15
+ CssClass["VIDEO_FRAME_LAYER"] = "tscaps-video-frame-layer";
16
+ /** On the container of decorations promoted above the segment's text. */
17
+ CssClass["SEGMENT_DECORATIONS_ABOVE"] = "segment-decorations-above";
18
+ /** On the container of decorations promoted below the segment's text. */
19
+ CssClass["SEGMENT_DECORATIONS_BELOW"] = "segment-decorations-below";
20
+ })(CssClass || (CssClass = {}));
21
+ //# sourceMappingURL=CssClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssClass.js","sourceRoot":"","sources":["../../../src/modules/document/CssClass.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,QAYX;AAZD,WAAY,QAAQ;IAClB,2FAA2F;IAC3F,uDAA2C,CAAA;IAE3C,4KAA4K;IAC5K,0DAA8C,CAAA;IAE9C,yEAAyE;IACzE,mEAAuD,CAAA;IAEvD,yEAAyE;IACzE,mEAAuD,CAAA;AACzD,CAAC,EAZW,QAAQ,KAAR,QAAQ,QAYnB"}
@@ -19,9 +19,6 @@
19
19
  * `on-` prefix either — those are not events.
20
20
  */
21
21
  export declare enum CssVariable {
22
- SECTION_STARTS = "--on-section-starts",
23
- SECTION_ENDS = "--on-section-ends",
24
- SECTION_DURATION = "--section-duration",
25
22
  SEGMENT_STARTS = "--on-segment-starts",
26
23
  SEGMENT_ENDS = "--on-segment-ends",
27
24
  SEGMENT_DURATION = "--segment-duration",
@@ -58,9 +55,6 @@ export declare enum CssVariable {
58
55
  SUBTITLE_REGION_Y = "--subtitle-region-y",
59
56
  SEGMENT_PADDING_TOP = "--segment-padding-top",
60
57
  SEGMENT_PADDING_BOTTOM = "--segment-padding-bottom",
61
- BEHIND_ACTOR_SCENE_VALID = "--behind-actor-scene-valid",
62
- BEHIND_ACTOR_FORCED = "--behind-actor-forced",
63
- BEHIND_ACTOR_ACTIVE = "--behind-actor-active",
64
58
  DECORATION_FONT_SIZE_MULTIPLIER = "--decoration-font-size-multiplier",
65
59
  DECORATION_GAP_MULTIPLIER = "--decoration-gap-multiplier"
66
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CssVariable.d.ts","sourceRoot":"","sources":["../../../src/modules/document/CssVariable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,oBAAY,WAAW;IAMrB,cAAc,wBAAwB;IACtC,YAAY,sBAAsB;IAClC,gBAAgB,uBAAuB;IAEvC,cAAc,wBAAwB;IACtC,YAAY,sBAAsB;IAClC,gBAAgB,uBAAuB;IACvC,kBAAkB,yBAAyB;IAC3C,aAAa,oBAAoB;IAEjC,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IACnE,0BAA0B,oCAAoC;IAC9D,wBAAwB,kCAAkC;IAC1D,4BAA4B,mCAAmC;IAC/D,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IAEnE,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IACnE,0BAA0B,oCAAoC;IAC9D,wBAAwB,kCAAkC;IAC1D,4BAA4B,mCAAmC;IAC/D,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IAEnE,YAAY,mBAAmB;IAC/B,YAAY,mBAAmB;IAE/B,UAAU,iBAAiB;IAC3B,eAAe,sBAAsB;IACrC,UAAU,iBAAiB;IAC3B,oBAAoB,2BAA2B;IAE/C,WAAW,kBAAkB;IAC7B,qBAAqB,4BAA4B;IACjD,sBAAsB,6BAA6B;IACnD,iBAAiB,wBAAwB;IACzC,iBAAiB,wBAAwB;IAEzC,mBAAmB,0BAA0B;IAC7C,sBAAsB,6BAA6B;IAEnD,wBAAwB,+BAA+B;IACvD,mBAAmB,0BAA0B;IAC7C,mBAAmB,0BAA0B;IAM7C,+BAA+B,sCAAsC;IACrE,yBAAyB,gCAAgC;CAC1D"}
1
+ {"version":3,"file":"CssVariable.d.ts","sourceRoot":"","sources":["../../../src/modules/document/CssVariable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,oBAAY,WAAW;IAMrB,cAAc,wBAAwB;IACtC,YAAY,sBAAsB;IAClC,gBAAgB,uBAAuB;IACvC,kBAAkB,yBAAyB;IAC3C,aAAa,oBAAoB;IAEjC,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IACnE,0BAA0B,oCAAoC;IAC9D,wBAAwB,kCAAkC;IAC1D,4BAA4B,mCAAmC;IAC/D,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IAEnE,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IACnE,0BAA0B,oCAAoC;IAC9D,wBAAwB,kCAAkC;IAC1D,4BAA4B,mCAAmC;IAC/D,4BAA4B,sCAAsC;IAClE,0BAA0B,oCAAoC;IAC9D,8BAA8B,qCAAqC;IAEnE,YAAY,mBAAmB;IAC/B,YAAY,mBAAmB;IAE/B,UAAU,iBAAiB;IAC3B,eAAe,sBAAsB;IACrC,UAAU,iBAAiB;IAC3B,oBAAoB,2BAA2B;IAE/C,WAAW,kBAAkB;IAC7B,qBAAqB,4BAA4B;IACjD,sBAAsB,6BAA6B;IACnD,iBAAiB,wBAAwB;IACzC,iBAAiB,wBAAwB;IAEzC,mBAAmB,0BAA0B;IAC7C,sBAAsB,6BAA6B;IAMnD,+BAA+B,sCAAsC;IACrE,yBAAyB,gCAAgC;CAC1D"}
@@ -24,9 +24,6 @@ export var CssVariable;
24
24
  // Published by the engine on every render. The consumer's
25
25
  // stylesheet reads them through `var(...)` to drive animations,
26
26
  // pick up structural metadata, or paint the video frame.
27
- CssVariable["SECTION_STARTS"] = "--on-section-starts";
28
- CssVariable["SECTION_ENDS"] = "--on-section-ends";
29
- CssVariable["SECTION_DURATION"] = "--section-duration";
30
27
  CssVariable["SEGMENT_STARTS"] = "--on-segment-starts";
31
28
  CssVariable["SEGMENT_ENDS"] = "--on-segment-ends";
32
29
  CssVariable["SEGMENT_DURATION"] = "--segment-duration";
@@ -63,9 +60,6 @@ export var CssVariable;
63
60
  CssVariable["SUBTITLE_REGION_Y"] = "--subtitle-region-y";
64
61
  CssVariable["SEGMENT_PADDING_TOP"] = "--segment-padding-top";
65
62
  CssVariable["SEGMENT_PADDING_BOTTOM"] = "--segment-padding-bottom";
66
- CssVariable["BEHIND_ACTOR_SCENE_VALID"] = "--behind-actor-scene-valid";
67
- CssVariable["BEHIND_ACTOR_FORCED"] = "--behind-actor-forced";
68
- CssVariable["BEHIND_ACTOR_ACTIVE"] = "--behind-actor-active";
69
63
  // ── Consumer-written ───────────────────────────────────────────
70
64
  // The engine's baseline CSS reads these with sensible defaults;
71
65
  // the consumer sets them per-sheet to override the default.
@@ -1 +1 @@
1
- {"version":3,"file":"CssVariable.js","sourceRoot":"","sources":["../../../src/modules/document/CssVariable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAN,IAAY,WA+DX;AA/DD,WAAY,WAAW;IACrB,kEAAkE;IAClE,0DAA0D;IAC1D,gEAAgE;IAChE,yDAAyD;IAEzD,qDAAsC,CAAA;IACtC,iDAAkC,CAAA;IAClC,sDAAuC,CAAA;IAEvC,qDAAsC,CAAA;IACtC,iDAAkC,CAAA;IAClC,sDAAuC,CAAA;IACvC,0DAA2C,CAAA;IAC3C,gDAAiC,CAAA;IAEjC,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IACnE,6EAA8D,CAAA;IAC9D,yEAA0D,CAAA;IAC1D,8EAA+D,CAAA;IAC/D,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IAEnE,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IACnE,6EAA8D,CAAA;IAC9D,yEAA0D,CAAA;IAC1D,8EAA+D,CAAA;IAC/D,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IAEnE,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;IAE/B,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,0CAA2B,CAAA;IAC3B,8DAA+C,CAAA;IAE/C,4CAA6B,CAAA;IAC7B,gEAAiD,CAAA;IACjD,kEAAmD,CAAA;IACnD,wDAAyC,CAAA;IACzC,wDAAyC,CAAA;IAEzC,4DAA6C,CAAA;IAC7C,kEAAmD,CAAA;IAEnD,sEAAuD,CAAA;IACvD,4DAA6C,CAAA;IAC7C,4DAA6C,CAAA;IAE7C,kEAAkE;IAClE,gEAAgE;IAChE,4DAA4D;IAE5D,oFAAqE,CAAA;IACrE,wEAAyD,CAAA;AAC3D,CAAC,EA/DW,WAAW,KAAX,WAAW,QA+DtB"}
1
+ {"version":3,"file":"CssVariable.js","sourceRoot":"","sources":["../../../src/modules/document/CssVariable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAN,IAAY,WAuDX;AAvDD,WAAY,WAAW;IACrB,kEAAkE;IAClE,0DAA0D;IAC1D,gEAAgE;IAChE,yDAAyD;IAEzD,qDAAsC,CAAA;IACtC,iDAAkC,CAAA;IAClC,sDAAuC,CAAA;IACvC,0DAA2C,CAAA;IAC3C,gDAAiC,CAAA;IAEjC,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IACnE,6EAA8D,CAAA;IAC9D,yEAA0D,CAAA;IAC1D,8EAA+D,CAAA;IAC/D,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IAEnE,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IACnE,6EAA8D,CAAA;IAC9D,yEAA0D,CAAA;IAC1D,8EAA+D,CAAA;IAC/D,iFAAkE,CAAA;IAClE,6EAA8D,CAAA;IAC9D,kFAAmE,CAAA;IAEnE,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;IAE/B,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;IACrC,0CAA2B,CAAA;IAC3B,8DAA+C,CAAA;IAE/C,4CAA6B,CAAA;IAC7B,gEAAiD,CAAA;IACjD,kEAAmD,CAAA;IACnD,wDAAyC,CAAA;IACzC,wDAAyC,CAAA;IAEzC,4DAA6C,CAAA;IAC7C,kEAAmD,CAAA;IAEnD,kEAAkE;IAClE,gEAAgE;IAChE,4DAA4D;IAE5D,oFAAqE,CAAA;IACrE,wEAAyD,CAAA;AAC3D,CAAC,EAvDW,WAAW,KAAX,WAAW,QAuDtB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * DOM attributes the framework publishes on rendered elements as part
3
+ * of its stylesheet contract, mirroring how {@link CssClass} names the
4
+ * published classes and `CssVariable` the published custom properties.
5
+ *
6
+ * An attribute lives here rather than being written as a literal
7
+ * because two different renderers produce the caption DOM — the export
8
+ * path and any consumer that mounts its own tree — and a stylesheet
9
+ * addressing an element has to match in both. A literal in one of them
10
+ * is a contract that can drift.
11
+ */
12
+ export declare enum DataAttribute {
13
+ /**
14
+ * Carries the id of the document element the node was rendered
15
+ * from, so a stylesheet can address one specific element rather
16
+ * than a class of them.
17
+ *
18
+ * Present only on elements the caller asked for. The attribute costs
19
+ * 40 bytes with a {@link DocumentNodeId}, and the markup holding it
20
+ * is serialized once per rendered tile, so on a caption whose every
21
+ * word is addressed it is a double-digit percentage of the batch.
22
+ * Addressing nothing costs nothing.
23
+ */
24
+ ELEMENT_ID = "data-tscaps-el"
25
+ }
26
+ //# sourceMappingURL=DataAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataAttribute.d.ts","sourceRoot":"","sources":["../../../src/modules/document/DataAttribute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,oBAAY,aAAa;IACvB;;;;;;;;;;OAUG;IACH,UAAU,mBAAmB;CAC9B"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * DOM attributes the framework publishes on rendered elements as part
3
+ * of its stylesheet contract, mirroring how {@link CssClass} names the
4
+ * published classes and `CssVariable` the published custom properties.
5
+ *
6
+ * An attribute lives here rather than being written as a literal
7
+ * because two different renderers produce the caption DOM — the export
8
+ * path and any consumer that mounts its own tree — and a stylesheet
9
+ * addressing an element has to match in both. A literal in one of them
10
+ * is a contract that can drift.
11
+ */
12
+ export var DataAttribute;
13
+ (function (DataAttribute) {
14
+ /**
15
+ * Carries the id of the document element the node was rendered
16
+ * from, so a stylesheet can address one specific element rather
17
+ * than a class of them.
18
+ *
19
+ * Present only on elements the caller asked for. The attribute costs
20
+ * 40 bytes with a {@link DocumentNodeId}, and the markup holding it
21
+ * is serialized once per rendered tile, so on a caption whose every
22
+ * word is addressed it is a double-digit percentage of the batch.
23
+ * Addressing nothing costs nothing.
24
+ */
25
+ DataAttribute["ELEMENT_ID"] = "data-tscaps-el";
26
+ })(DataAttribute || (DataAttribute = {}));
27
+ //# sourceMappingURL=DataAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataAttribute.js","sourceRoot":"","sources":["../../../src/modules/document/DataAttribute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,aAaX;AAbD,WAAY,aAAa;IACvB;;;;;;;;;;OAUG;IACH,8CAA6B,CAAA;AAC/B,CAAC,EAbW,aAAa,KAAb,aAAa,QAaxB"}
@@ -8,6 +8,14 @@ export interface WordPosition {
8
8
  lineIdx: number;
9
9
  wordIdx: number;
10
10
  }
11
+ /**
12
+ * One piece of a segment replacement: the segments to insert and the
13
+ * Section `kind` they get lifted under.
14
+ */
15
+ export interface SegmentReplacementPart {
16
+ readonly segments: ReadonlyArray<Segment>;
17
+ readonly kind: string;
18
+ }
11
19
  /**
12
20
  * Pure mutation helpers over Document. All operations preserve Section
13
21
  * identity: a manual edit doesn't collapse a multi-Section document into
@@ -34,13 +42,25 @@ export declare class DocumentEditor {
34
42
  * `wordId` so the user can type immediately. If `time` is omitted the
35
43
  * new segment clones the anchor's time — callers that want the first
36
44
  * keystrokes to claim real duration should pass an explicit window.
45
+ *
46
+ * A document with no segments accepts the insertion too, into its
47
+ * first Section (or a fresh one when no Section exists); there is no
48
+ * anchor to clone from, so this case requires an explicit `time`.
37
49
  */
38
50
  insertSegmentAt(doc: Document, segIdx: number, position: 'before' | 'after', time?: TimeFragment): {
39
51
  doc: Document;
40
52
  wordId: string;
41
53
  segmentId: string;
42
54
  };
55
+ private _insertIntoEmptyDocument;
56
+ /**
57
+ * Moves one word's start and end. The segment keeps holding the same
58
+ * words, so an explicit window it was given still says what its
59
+ * caller meant and is carried across; any Effect-computed window is
60
+ * dropped, having been measured against boundaries that just moved.
61
+ */
43
62
  updateWordTime(doc: Document, segIdx: number, lineIdx: number, wordIdx: number, start: number, end: number): Document;
63
+ private _restoreCustomTime;
44
64
  /**
45
65
  * Returns a Document with the target word carrying `decoration`. Replaces
46
66
  * any decoration the word already had. Returns the input Document
@@ -90,20 +110,31 @@ export declare class DocumentEditor {
90
110
  private _mergeAdjacent;
91
111
  /**
92
112
  * Replaces a single segment with a list of new segments, all lifted into
93
- * a fresh Section with the given `kind`. Slots in the original Section
94
- * after the target are reparented to a clone of the original Section
95
- * (with a new id) so id-uniqueness holds when `_rebuild` reassembles
96
- * and applies the adjacent-same-kind merge invariant.
113
+ * a fresh Section with the given `kind`.
97
114
  */
98
115
  replaceSegmentWithKind(doc: Document, segmentId: string, newSegments: ReadonlyArray<Segment>, newKind: string): Document;
116
+ /**
117
+ * Replaces a single segment with an ordered sequence of parts, each part
118
+ * lifting its segments into a fresh Section with that part's `kind` —
119
+ * so one segment can split into content routed to different kinds in
120
+ * place. Empty parts are skipped; if every part is empty the document is
121
+ * returned unchanged. Slots in the original Section after the target are
122
+ * reparented to a clone of the original Section (with a new id) so
123
+ * id-uniqueness holds when `_rebuild` reassembles and applies the
124
+ * adjacent-same-kind merge invariant.
125
+ */
126
+ replaceSegmentWithSections(doc: Document, segmentId: string, parts: ReadonlyArray<SegmentReplacementPart>): Document;
99
127
  private _replaceWords;
100
128
  private _replaceLine;
101
129
  /**
102
- * Rebuilds a segment with a new set of lines and clears any `customTime`
103
- * the segment was carrying. `customTime` overrides the segment's time
104
- * window with a value chosen against the previous word composition;
105
- * once the words change that value no longer reflects the segment's
106
- * actual range, so it falls back to the natural, word-derived time.
130
+ * Rebuilds a segment with a new set of lines and drops both of its
131
+ * imposed windows. Each was chosen against the previous word
132
+ * composition, so once the segment holds different words neither
133
+ * describes it any more and the natural, word-derived time is the
134
+ * only honest answer.
135
+ *
136
+ * Changing what a word *says* or when it *sounds* is not a change of
137
+ * composition and must not come through here carrying that loss.
107
138
  */
108
139
  private _withLines;
109
140
  private _replaceSegmentSlot;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentEditor.d.ts","sourceRoot":"","sources":["../../../src/modules/document/DocumentEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentEditor.d.ts","sourceRoot":"","sources":["../../../src/modules/document/DocumentEditor.ts"],"names":[],"mappings":"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"}
@@ -113,9 +113,18 @@ export class DocumentEditor {
113
113
  * `wordId` so the user can type immediately. If `time` is omitted the
114
114
  * new segment clones the anchor's time — callers that want the first
115
115
  * keystrokes to claim real duration should pass an explicit window.
116
+ *
117
+ * A document with no segments accepts the insertion too, into its
118
+ * first Section (or a fresh one when no Section exists); there is no
119
+ * anchor to clone from, so this case requires an explicit `time`.
116
120
  */
117
121
  insertSegmentAt(doc, segIdx, position, time) {
118
122
  const slots = this._flatten(doc);
123
+ if (slots.length === 0) {
124
+ return time
125
+ ? this._insertIntoEmptyDocument(doc, time)
126
+ : { doc, wordId: '', segmentId: '' };
127
+ }
119
128
  const anchor = slots[segIdx];
120
129
  if (!anchor)
121
130
  return { doc, wordId: '', segmentId: '' };
@@ -133,11 +142,38 @@ export class DocumentEditor {
133
142
  segmentId: newSegment.id,
134
143
  };
135
144
  }
145
+ _insertIntoEmptyDocument(doc, time) {
146
+ const newWord = new Word({ text: '', time });
147
+ const newSegment = new Segment({ lines: [new Line({ words: [newWord] })] });
148
+ const section = doc.sections[0] ?? new Section({ kind: '', segments: [] });
149
+ return {
150
+ doc: this._rebuild([{ segment: newSegment, section }], doc),
151
+ wordId: newWord.id,
152
+ segmentId: newSegment.id,
153
+ };
154
+ }
155
+ /**
156
+ * Moves one word's start and end. The segment keeps holding the same
157
+ * words, so an explicit window it was given still says what its
158
+ * caller meant and is carried across; any Effect-computed window is
159
+ * dropped, having been measured against boundaries that just moved.
160
+ */
136
161
  updateWordTime(doc, segIdx, lineIdx, wordIdx, start, end) {
137
- const word = doc.getSegments()[segIdx].lines[lineIdx].words[wordIdx];
138
- return this._replaceWords(doc, segIdx, lineIdx, wordIdx, [
162
+ const segment = doc.getSegments()[segIdx];
163
+ const word = segment.lines[lineIdx].words[wordIdx];
164
+ const edited = this._replaceWords(doc, segIdx, lineIdx, wordIdx, [
139
165
  word.with({ time: new TimeFragment(start, end) }),
140
166
  ]);
167
+ return this._restoreCustomTime(edited, segIdx, segment.customTime);
168
+ }
169
+ _restoreCustomTime(doc, segIdx, customTime) {
170
+ if (!customTime)
171
+ return doc;
172
+ const slots = this._flatten(doc);
173
+ const slot = slots[segIdx];
174
+ if (!slot)
175
+ return doc;
176
+ return this._replaceSegmentSlot(doc, slots, segIdx, slot.segment.with({ customTime }));
141
177
  }
142
178
  /**
143
179
  * Returns a Document with the target word carrying `decoration`. Replaces
@@ -464,21 +500,31 @@ export class DocumentEditor {
464
500
  }
465
501
  /**
466
502
  * Replaces a single segment with a list of new segments, all lifted into
467
- * a fresh Section with the given `kind`. Slots in the original Section
468
- * after the target are reparented to a clone of the original Section
469
- * (with a new id) so id-uniqueness holds when `_rebuild` reassembles
470
- * and applies the adjacent-same-kind merge invariant.
503
+ * a fresh Section with the given `kind`.
471
504
  */
472
505
  replaceSegmentWithKind(doc, segmentId, newSegments, newKind) {
506
+ return this.replaceSegmentWithSections(doc, segmentId, [{ segments: newSegments, kind: newKind }]);
507
+ }
508
+ /**
509
+ * Replaces a single segment with an ordered sequence of parts, each part
510
+ * lifting its segments into a fresh Section with that part's `kind` —
511
+ * so one segment can split into content routed to different kinds in
512
+ * place. Empty parts are skipped; if every part is empty the document is
513
+ * returned unchanged. Slots in the original Section after the target are
514
+ * reparented to a clone of the original Section (with a new id) so
515
+ * id-uniqueness holds when `_rebuild` reassembles and applies the
516
+ * adjacent-same-kind merge invariant.
517
+ */
518
+ replaceSegmentWithSections(doc, segmentId, parts) {
519
+ const filledParts = parts.filter((p) => p.segments.length > 0);
520
+ if (filledParts.length === 0)
521
+ return doc;
473
522
  const slots = this._flatten(doc);
474
523
  const slotIdx = slots.findIndex((s) => s.segment.id === segmentId);
475
524
  if (slotIdx < 0)
476
525
  return doc;
477
- if (newSegments.length === 0)
478
- return doc;
479
526
  const target = slots[slotIdx];
480
527
  const originalSection = target.section;
481
- const lifted = new Section({ segments: [], kind: newKind });
482
528
  const tail = new Section({ segments: [], kind: originalSection.kind, structureTags: originalSection.structureTags });
483
529
  let pastTarget = false;
484
530
  const newSlots = [];
@@ -486,8 +532,11 @@ export class DocumentEditor {
486
532
  const slot = slots[i];
487
533
  if (i === slotIdx) {
488
534
  pastTarget = true;
489
- for (const seg of newSegments) {
490
- newSlots.push({ segment: seg, section: lifted });
535
+ for (const part of filledParts) {
536
+ const lifted = new Section({ segments: [], kind: part.kind });
537
+ for (const seg of part.segments) {
538
+ newSlots.push({ segment: seg, section: lifted });
539
+ }
491
540
  }
492
541
  continue;
493
542
  }
@@ -525,14 +574,17 @@ export class DocumentEditor {
525
574
  ]));
526
575
  }
527
576
  /**
528
- * Rebuilds a segment with a new set of lines and clears any `customTime`
529
- * the segment was carrying. `customTime` overrides the segment's time
530
- * window with a value chosen against the previous word composition;
531
- * once the words change that value no longer reflects the segment's
532
- * actual range, so it falls back to the natural, word-derived time.
577
+ * Rebuilds a segment with a new set of lines and drops both of its
578
+ * imposed windows. Each was chosen against the previous word
579
+ * composition, so once the segment holds different words neither
580
+ * describes it any more and the natural, word-derived time is the
581
+ * only honest answer.
582
+ *
583
+ * Changing what a word *says* or when it *sounds* is not a change of
584
+ * composition and must not come through here carrying that loss.
533
585
  */
534
586
  _withLines(segment, lines) {
535
- return segment.with({ lines, customTime: null });
587
+ return segment.with({ lines, customTime: null, effectTime: null });
536
588
  }
537
589
  _replaceSegmentSlot(doc, slots, segIdx, newSegment) {
538
590
  const newSlots = [...slots];
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentEditor.js","sourceRoot":"","sources":["../../../src/modules/document/DocumentEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentEditor.js","sourceRoot":"","sources":["../../../src/modules/document/DocumentEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Identifier for a document node, generated so that it is cheap to put
3
+ * in rendered markup.
4
+ *
5
+ * The form is 16 random bytes in base64url — 22 characters carrying 128
6
+ * bits, against the 36 characters and 122 bits of a UUID string, which
7
+ * spends half of every character on a 16-symbol alphabet and four more
8
+ * on separators. Same guarantee, fourteen fewer characters on an
9
+ * attribute the renderer may serialize once per frame per element.
10
+ *
11
+ * base64url rather than base64 is load-bearing: `+` and `/` survive a
12
+ * round through `encodeURIComponent` as `%2B` and `%2F`, which would
13
+ * cost more than the encoding saves, while `-` and `_` pass through
14
+ * untouched.
15
+ *
16
+ * Ids are opaque strings everywhere they are read, so nodes carrying an
17
+ * older form keep working and no stored document needs rewriting.
18
+ */
19
+ export declare class DocumentNodeId {
20
+ static generate(): string;
21
+ private static toBase64Url;
22
+ }
23
+ //# sourceMappingURL=DocumentNodeId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentNodeId.d.ts","sourceRoot":"","sources":["../../../src/modules/document/DocumentNodeId.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,IAAI,MAAM;IAMzB,OAAO,CAAC,MAAM,CAAC,WAAW;CAI3B"}