@tscaps/engine 0.1.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.
- package/README.md +48 -10
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/bidi/BidiAnalyzer.d.ts +23 -0
- package/dist/modules/bidi/BidiAnalyzer.d.ts.map +1 -0
- package/dist/modules/bidi/BidiAnalyzer.js +2 -0
- package/dist/modules/bidi/BidiAnalyzer.js.map +1 -0
- package/dist/modules/bidi/BidiCharacterClassifier.d.ts +13 -0
- package/dist/modules/bidi/BidiCharacterClassifier.d.ts.map +1 -0
- package/dist/modules/bidi/BidiCharacterClassifier.js +2 -0
- package/dist/modules/bidi/BidiCharacterClassifier.js.map +1 -0
- package/dist/modules/bidi/BidiJsAnalyzer.d.ts +14 -0
- package/dist/modules/bidi/BidiJsAnalyzer.d.ts.map +1 -0
- package/dist/modules/bidi/BidiJsAnalyzer.js +19 -0
- package/dist/modules/bidi/BidiJsAnalyzer.js.map +1 -0
- package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts +8 -0
- package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts.map +1 -0
- package/dist/modules/bidi/BidiJsCharacterClassifier.js +19 -0
- package/dist/modules/bidi/BidiJsCharacterClassifier.js.map +1 -0
- package/dist/modules/bidi/CursiveScriptDetector.d.ts +12 -0
- package/dist/modules/bidi/CursiveScriptDetector.d.ts.map +1 -0
- package/dist/modules/bidi/CursiveScriptDetector.js +20 -0
- package/dist/modules/bidi/CursiveScriptDetector.js.map +1 -0
- package/dist/modules/bidi/HorizontalSide.d.ts +18 -0
- package/dist/modules/bidi/HorizontalSide.d.ts.map +1 -0
- package/dist/modules/bidi/HorizontalSide.js +3 -0
- package/dist/modules/bidi/HorizontalSide.js.map +1 -0
- package/dist/modules/bidi/HorizontalSideResolver.d.ts +21 -0
- package/dist/modules/bidi/HorizontalSideResolver.d.ts.map +1 -0
- package/dist/modules/bidi/HorizontalSideResolver.js +27 -0
- package/dist/modules/bidi/HorizontalSideResolver.js.map +1 -0
- package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts +24 -0
- package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts.map +1 -0
- package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js +34 -0
- package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js.map +1 -0
- package/dist/modules/bidi/TextDirection.d.ts +9 -0
- package/dist/modules/bidi/TextDirection.d.ts.map +1 -0
- package/dist/modules/bidi/TextDirection.js +2 -0
- package/dist/modules/bidi/TextDirection.js.map +1 -0
- package/dist/modules/bidi/TextDirectionDetector.d.ts +12 -0
- package/dist/modules/bidi/TextDirectionDetector.d.ts.map +1 -0
- package/dist/modules/bidi/TextDirectionDetector.js +2 -0
- package/dist/modules/bidi/TextDirectionDetector.js.map +1 -0
- package/dist/modules/bidi/WordFragment.d.ts +34 -0
- package/dist/modules/bidi/WordFragment.d.ts.map +1 -0
- package/dist/modules/bidi/WordFragment.js +2 -0
- package/dist/modules/bidi/WordFragment.js.map +1 -0
- package/dist/modules/bidi/WordFragmenter.d.ts +43 -0
- package/dist/modules/bidi/WordFragmenter.d.ts.map +1 -0
- package/dist/modules/bidi/WordFragmenter.js +112 -0
- package/dist/modules/bidi/WordFragmenter.js.map +1 -0
- package/dist/modules/bidi/index.d.ts +14 -0
- package/dist/modules/bidi/index.d.ts.map +1 -0
- package/dist/modules/bidi/index.js +8 -0
- package/dist/modules/bidi/index.js.map +1 -0
- package/dist/modules/css/CssBlockSealer.d.ts +30 -0
- package/dist/modules/css/CssBlockSealer.d.ts.map +1 -0
- package/dist/modules/css/CssBlockSealer.js +64 -0
- package/dist/modules/css/CssBlockSealer.js.map +1 -0
- package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts +13 -0
- package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts.map +1 -0
- package/dist/modules/css/CssCustomPropertyDefinitionScanner.js +24 -0
- package/dist/modules/css/CssCustomPropertyDefinitionScanner.js.map +1 -0
- package/dist/modules/css/CssFilterReferenceScanner.d.ts +15 -0
- package/dist/modules/css/CssFilterReferenceScanner.d.ts.map +1 -0
- package/dist/modules/css/CssFilterReferenceScanner.js +22 -0
- package/dist/modules/css/CssFilterReferenceScanner.js.map +1 -0
- package/dist/modules/css/CssFragmentParser.d.ts +53 -0
- package/dist/modules/css/CssFragmentParser.d.ts.map +1 -0
- package/dist/modules/css/CssFragmentParser.js +127 -0
- package/dist/modules/css/CssFragmentParser.js.map +1 -0
- package/dist/modules/css/CssKeyframeNamespacer.d.ts +21 -0
- package/dist/modules/css/CssKeyframeNamespacer.d.ts.map +1 -0
- package/dist/modules/css/CssKeyframeNamespacer.js +48 -0
- package/dist/modules/css/CssKeyframeNamespacer.js.map +1 -0
- package/dist/modules/css/CssKeyframesScanner.d.ts +29 -0
- package/dist/modules/css/CssKeyframesScanner.d.ts.map +1 -0
- package/dist/modules/css/CssKeyframesScanner.js +102 -0
- package/dist/modules/css/CssKeyframesScanner.js.map +1 -0
- package/dist/modules/css/CssLayer.d.ts +20 -0
- package/dist/modules/css/CssLayer.d.ts.map +1 -0
- package/dist/modules/css/CssLayer.js +21 -0
- package/dist/modules/css/CssLayer.js.map +1 -0
- package/dist/modules/css/CssScoper.d.ts +31 -2
- package/dist/modules/css/CssScoper.d.ts.map +1 -1
- package/dist/modules/css/CssScoper.js +168 -79
- package/dist/modules/css/CssScoper.js.map +1 -1
- package/dist/modules/css/CssSelectorClassScanner.d.ts +25 -0
- package/dist/modules/css/CssSelectorClassScanner.d.ts.map +1 -0
- package/dist/modules/css/CssSelectorClassScanner.js +91 -0
- package/dist/modules/css/CssSelectorClassScanner.js.map +1 -0
- package/dist/modules/css/CssVarReferenceScanner.d.ts +16 -0
- package/dist/modules/css/CssVarReferenceScanner.d.ts.map +1 -0
- package/dist/modules/css/CssVarReferenceScanner.js +27 -0
- package/dist/modules/css/CssVarReferenceScanner.js.map +1 -0
- package/dist/modules/css/index.d.ts +9 -0
- package/dist/modules/css/index.d.ts.map +1 -1
- package/dist/modules/css/index.js +9 -0
- package/dist/modules/css/index.js.map +1 -1
- package/dist/modules/document/CssClass.d.ts +20 -0
- package/dist/modules/document/CssClass.d.ts.map +1 -0
- package/dist/modules/document/CssClass.js +21 -0
- package/dist/modules/document/CssClass.js.map +1 -0
- package/dist/modules/document/CssVariable.d.ts +21 -6
- package/dist/modules/document/CssVariable.d.ts.map +1 -1
- package/dist/modules/document/CssVariable.js +27 -5
- package/dist/modules/document/CssVariable.js.map +1 -1
- package/dist/modules/document/DataAttribute.d.ts +26 -0
- package/dist/modules/document/DataAttribute.d.ts.map +1 -0
- package/dist/modules/document/DataAttribute.js +27 -0
- package/dist/modules/document/DataAttribute.js.map +1 -0
- package/dist/modules/document/Decoration.d.ts +42 -0
- package/dist/modules/document/Decoration.d.ts.map +1 -0
- package/dist/modules/document/Decoration.js +52 -0
- package/dist/modules/document/Decoration.js.map +1 -0
- package/dist/modules/document/Document.d.ts.map +1 -1
- package/dist/modules/document/Document.js +0 -3
- package/dist/modules/document/Document.js.map +1 -1
- package/dist/modules/document/DocumentEditor.d.ts +51 -9
- package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
- package/dist/modules/document/DocumentEditor.js +118 -26
- package/dist/modules/document/DocumentEditor.js.map +1 -1
- package/dist/modules/document/DocumentNodeId.d.ts +23 -0
- package/dist/modules/document/DocumentNodeId.d.ts.map +1 -0
- package/dist/modules/document/DocumentNodeId.js +31 -0
- package/dist/modules/document/DocumentNodeId.js.map +1 -0
- package/dist/modules/document/Line.d.ts +10 -7
- package/dist/modules/document/Line.d.ts.map +1 -1
- package/dist/modules/document/Line.js +13 -25
- package/dist/modules/document/Line.js.map +1 -1
- package/dist/modules/document/Section.d.ts +1 -8
- package/dist/modules/document/Section.d.ts.map +1 -1
- package/dist/modules/document/Section.js +4 -35
- package/dist/modules/document/Section.js.map +1 -1
- package/dist/modules/document/Segment.d.ts +24 -14
- package/dist/modules/document/Segment.d.ts.map +1 -1
- package/dist/modules/document/Segment.js +41 -23
- package/dist/modules/document/Segment.js.map +1 -1
- package/dist/modules/document/Word.d.ts +21 -8
- package/dist/modules/document/Word.d.ts.map +1 -1
- package/dist/modules/document/Word.js +34 -35
- package/dist/modules/document/Word.js.map +1 -1
- package/dist/modules/document/index.d.ts +5 -2
- package/dist/modules/document/index.d.ts.map +1 -1
- package/dist/modules/document/index.js +4 -1
- package/dist/modules/document/index.js.map +1 -1
- package/dist/modules/effect/CarryQuotesEffect.d.ts +1 -7
- package/dist/modules/effect/CarryQuotesEffect.d.ts.map +1 -1
- package/dist/modules/effect/CarryQuotesEffect.js +17 -30
- package/dist/modules/effect/CarryQuotesEffect.js.map +1 -1
- package/dist/modules/effect/GapFreeEffect.d.ts +15 -0
- package/dist/modules/effect/GapFreeEffect.d.ts.map +1 -1
- package/dist/modules/effect/GapFreeEffect.js +29 -4
- package/dist/modules/effect/GapFreeEffect.js.map +1 -1
- package/dist/modules/effect/RemovePunctuationEffect.d.ts +10 -2
- package/dist/modules/effect/RemovePunctuationEffect.d.ts.map +1 -1
- package/dist/modules/effect/RemovePunctuationEffect.js +26 -6
- package/dist/modules/effect/RemovePunctuationEffect.js.map +1 -1
- package/dist/modules/effect/SmartLowercaseEffect.d.ts +7 -6
- package/dist/modules/effect/SmartLowercaseEffect.d.ts.map +1 -1
- package/dist/modules/effect/SmartLowercaseEffect.js +11 -7
- package/dist/modules/effect/SmartLowercaseEffect.js.map +1 -1
- package/dist/modules/pipeline/RenderPipelineBuilder.d.ts +3 -3
- package/dist/modules/pipeline/RenderPipelineBuilder.d.ts.map +1 -1
- package/dist/modules/pipeline/RenderPipelineBuilder.js +13 -8
- package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts +19 -25
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +43 -717
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
- package/dist/modules/rendering/HorizontalPlacementResolver.d.ts +27 -0
- package/dist/modules/rendering/HorizontalPlacementResolver.d.ts.map +1 -0
- package/dist/modules/rendering/HorizontalPlacementResolver.js +31 -0
- package/dist/modules/rendering/HorizontalPlacementResolver.js.map +1 -0
- package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +10 -5
- package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
- package/dist/modules/rendering/index.d.ts +16 -8
- package/dist/modules/rendering/index.d.ts.map +1 -1
- package/dist/modules/rendering/index.js +8 -2
- package/dist/modules/rendering/index.js.map +1 -1
- package/dist/modules/rendering/styles/BaselineCssComposer.d.ts +41 -0
- package/dist/modules/rendering/styles/BaselineCssComposer.d.ts.map +1 -0
- package/dist/modules/rendering/styles/BaselineCssComposer.js +64 -0
- package/dist/modules/rendering/styles/BaselineCssComposer.js.map +1 -0
- package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts +7 -0
- package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts.map +1 -0
- package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js +35 -0
- package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js.map +1 -0
- package/dist/modules/rendering/styles/FrozenFrameCss.d.ts +28 -0
- package/dist/modules/rendering/styles/FrozenFrameCss.d.ts.map +1 -0
- package/dist/modules/rendering/styles/FrozenFrameCss.js +28 -0
- package/dist/modules/rendering/styles/FrozenFrameCss.js.map +1 -0
- package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts +20 -0
- package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts.map +1 -0
- package/dist/modules/rendering/styles/InlineStyleEmitter.js +44 -0
- package/dist/modules/rendering/styles/InlineStyleEmitter.js.map +1 -0
- package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts +15 -0
- package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts.map +1 -0
- package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js +33 -0
- package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js.map +1 -0
- package/dist/modules/rendering/{VideoFrameLayerClass.d.ts → styles/VideoFrameLayerBaselineCss.d.ts} +3 -10
- package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.d.ts.map +1 -0
- package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js +15 -0
- package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js.map +1 -0
- package/dist/modules/rendering/subtitle/AbstractAnim.d.ts +13 -0
- package/dist/modules/rendering/subtitle/AbstractAnim.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/AbstractAnim.js +2 -0
- package/dist/modules/rendering/subtitle/AbstractAnim.js.map +1 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts +20 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSession.js +31 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSession.js.map +1 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +21 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +46 -0
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -0
- package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +39 -0
- package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/AnimationProbe.js +203 -0
- package/dist/modules/rendering/subtitle/AnimationProbe.js.map +1 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts +15 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.js +26 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.js.map +1 -0
- package/dist/modules/rendering/subtitle/BatchPlan.d.ts +32 -0
- package/dist/modules/rendering/subtitle/BatchPlan.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/BatchPlan.js +2 -0
- package/dist/modules/rendering/subtitle/BatchPlan.js.map +1 -0
- package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +32 -0
- package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/BatchPlanner.js +93 -0
- package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +36 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.js +2 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.js.map +1 -0
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts +31 -0
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +91 -0
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts +13 -0
- package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js +24 -0
- package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js.map +1 -0
- package/dist/modules/rendering/{SegmentPaintRegionResolver.d.ts → subtitle/SegmentPaintRegionResolver.d.ts} +1 -1
- package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.d.ts.map +1 -0
- package/dist/modules/rendering/{SegmentPaintRegionResolver.js → subtitle/SegmentPaintRegionResolver.js} +7 -4
- package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.js.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts +45 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js +50 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +108 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +246 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +40 -0
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +132 -0
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts +48 -0
- package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js +143 -0
- package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts +17 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js +58 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js.map +1 -0
- package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts +20 -0
- package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js +30 -0
- package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js.map +1 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts +42 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +121 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -0
- package/dist/modules/rendering/types/AlignmentConfig.d.ts +33 -0
- package/dist/modules/rendering/types/AlignmentConfig.d.ts.map +1 -0
- package/dist/modules/rendering/types/AlignmentConfig.js +3 -0
- package/dist/modules/rendering/types/AlignmentConfig.js.map +1 -0
- package/dist/modules/rendering/types/BoxEdges.d.ts.map +1 -0
- package/dist/modules/rendering/types/BoxEdges.js.map +1 -0
- package/dist/modules/rendering/types/DecorationPlacementSide.d.ts +8 -0
- package/dist/modules/rendering/types/DecorationPlacementSide.d.ts.map +1 -0
- package/dist/modules/rendering/types/DecorationPlacementSide.js +2 -0
- package/dist/modules/rendering/types/DecorationPlacementSide.js.map +1 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.d.ts +23 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.js +52 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -0
- package/dist/modules/rendering/types/InlineStyleMap.d.ts.map +1 -0
- package/dist/modules/rendering/types/InlineStyleMap.js.map +1 -0
- package/dist/modules/rendering/{RenderingConfig.d.ts → types/RenderingConfig.d.ts} +8 -1
- package/dist/modules/rendering/types/RenderingConfig.d.ts.map +1 -0
- package/dist/modules/rendering/types/RenderingConfig.js.map +1 -0
- package/dist/modules/rendering/types/ScopedRenderOverride.d.ts +24 -0
- package/dist/modules/rendering/types/ScopedRenderOverride.d.ts.map +1 -0
- package/dist/modules/rendering/types/ScopedRenderOverride.js.map +1 -0
- package/dist/modules/rendering/types/VideoFrameSource.d.ts.map +1 -0
- package/dist/modules/rendering/types/VideoFrameSource.js.map +1 -0
- package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts +33 -0
- package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts.map +1 -0
- package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js +100 -0
- package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js.map +1 -0
- package/dist/modules/splitting/FixedTailLineSplitter.d.ts +29 -0
- package/dist/modules/splitting/FixedTailLineSplitter.d.ts.map +1 -0
- package/dist/modules/splitting/FixedTailLineSplitter.js +43 -0
- package/dist/modules/splitting/FixedTailLineSplitter.js.map +1 -0
- package/dist/modules/splitting/index.d.ts +4 -0
- package/dist/modules/splitting/index.d.ts.map +1 -1
- package/dist/modules/splitting/index.js +2 -0
- package/dist/modules/splitting/index.js.map +1 -1
- package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts +53 -0
- package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js +133 -0
- package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts +20 -0
- package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js +31 -0
- package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts +21 -0
- package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js +33 -0
- package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleCue.d.ts +18 -0
- package/dist/modules/subtitle-file/SubtitleCue.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleCue.js +20 -0
- package/dist/modules/subtitle-file/SubtitleCue.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts +38 -0
- package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleCueBuilder.js +106 -0
- package/dist/modules/subtitle-file/SubtitleCueBuilder.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleFileJob.d.ts +17 -0
- package/dist/modules/subtitle-file/SubtitleFileJob.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleFileJob.js +2 -0
- package/dist/modules/subtitle-file/SubtitleFileJob.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts +36 -0
- package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleFileSerializer.js +44 -0
- package/dist/modules/subtitle-file/SubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleGranularity.d.ts +11 -0
- package/dist/modules/subtitle-file/SubtitleGranularity.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleGranularity.js +2 -0
- package/dist/modules/subtitle-file/SubtitleGranularity.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleRow.d.ts +11 -0
- package/dist/modules/subtitle-file/SubtitleRow.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleRow.js +14 -0
- package/dist/modules/subtitle-file/SubtitleRow.js.map +1 -0
- package/dist/modules/subtitle-file/SubtitleToken.d.ts +13 -0
- package/dist/modules/subtitle-file/SubtitleToken.d.ts.map +1 -0
- package/dist/modules/subtitle-file/SubtitleToken.js +15 -0
- package/dist/modules/subtitle-file/SubtitleToken.js.map +1 -0
- package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts +19 -0
- package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js +24 -0
- package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/Timecode.d.ts +20 -0
- package/dist/modules/subtitle-file/Timecode.d.ts.map +1 -0
- package/dist/modules/subtitle-file/Timecode.js +32 -0
- package/dist/modules/subtitle-file/Timecode.js.map +1 -0
- package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts +22 -0
- package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js +57 -0
- package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts +21 -0
- package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts.map +1 -0
- package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js +39 -0
- package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js.map +1 -0
- package/dist/modules/subtitle-file/index.d.ts +10 -0
- package/dist/modules/subtitle-file/index.d.ts.map +1 -0
- package/dist/modules/subtitle-file/index.js +8 -0
- package/dist/modules/subtitle-file/index.js.map +1 -0
- package/dist/modules/svg-filter/SvgFilter.d.ts +8 -1
- package/dist/modules/svg-filter/SvgFilter.d.ts.map +1 -1
- package/dist/modules/svg-filter/SvgFilter.js +9 -1
- package/dist/modules/svg-filter/SvgFilter.js.map +1 -1
- package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts +1 -0
- package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts.map +1 -1
- package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js +9 -1
- package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js.map +1 -1
- package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts +44 -0
- package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts.map +1 -0
- package/dist/modules/svg-filter/SvgFilterDefsRenderer.js +47 -0
- package/dist/modules/svg-filter/SvgFilterDefsRenderer.js.map +1 -0
- package/dist/modules/svg-filter/index.d.ts +2 -0
- package/dist/modules/svg-filter/index.d.ts.map +1 -1
- package/dist/modules/svg-filter/index.js +1 -0
- package/dist/modules/svg-filter/index.js.map +1 -1
- package/dist/modules/tagging/PauseTagger.d.ts +24 -0
- package/dist/modules/tagging/PauseTagger.d.ts.map +1 -0
- package/dist/modules/tagging/PauseTagger.js +42 -0
- package/dist/modules/tagging/PauseTagger.js.map +1 -0
- package/dist/modules/tagging/RegexTagger.js +1 -1
- package/dist/modules/tagging/RegexTagger.js.map +1 -1
- package/dist/modules/tagging/SpanTagger.js +1 -1
- package/dist/modules/tagging/SpanTagger.js.map +1 -1
- package/dist/modules/tagging/StructureTagger.d.ts +1 -2
- package/dist/modules/tagging/StructureTagger.d.ts.map +1 -1
- package/dist/modules/tagging/StructureTagger.js +12 -11
- package/dist/modules/tagging/StructureTagger.js.map +1 -1
- package/dist/modules/tagging/WordlistTagger.js +1 -1
- package/dist/modules/tagging/WordlistTagger.js.map +1 -1
- package/dist/modules/tagging/index.d.ts +2 -0
- package/dist/modules/tagging/index.d.ts.map +1 -1
- package/dist/modules/tagging/index.js +1 -0
- package/dist/modules/tagging/index.js.map +1 -1
- package/dist/modules/tags/AndTagCondition.d.ts +10 -0
- package/dist/modules/tags/AndTagCondition.d.ts.map +1 -0
- package/dist/modules/tags/AndTagCondition.js +14 -0
- package/dist/modules/tags/AndTagCondition.js.map +1 -0
- package/dist/modules/tags/HasTagCondition.d.ts +10 -0
- package/dist/modules/tags/HasTagCondition.d.ts.map +1 -0
- package/dist/modules/tags/HasTagCondition.js +18 -0
- package/dist/modules/tags/HasTagCondition.js.map +1 -0
- package/dist/modules/tags/NotTagCondition.d.ts +10 -0
- package/dist/modules/tags/NotTagCondition.d.ts.map +1 -0
- package/dist/modules/tags/NotTagCondition.js +14 -0
- package/dist/modules/tags/NotTagCondition.js.map +1 -0
- package/dist/modules/tags/OrTagCondition.d.ts +10 -0
- package/dist/modules/tags/OrTagCondition.d.ts.map +1 -0
- package/dist/modules/tags/OrTagCondition.js +14 -0
- package/dist/modules/tags/OrTagCondition.js.map +1 -0
- package/dist/modules/{document/Tag.d.ts → tags/StructureTag.d.ts} +4 -10
- package/dist/modules/tags/StructureTag.d.ts.map +1 -0
- package/dist/modules/{document/Tag.js → tags/StructureTag.js} +4 -19
- package/dist/modules/tags/StructureTag.js.map +1 -0
- package/dist/modules/tags/Tag.d.ts +8 -0
- package/dist/modules/tags/Tag.d.ts.map +1 -0
- package/dist/modules/tags/Tag.js +16 -0
- package/dist/modules/tags/Tag.js.map +1 -0
- package/dist/modules/tags/TagCondition.d.ts +12 -0
- package/dist/modules/tags/TagCondition.d.ts.map +1 -0
- package/dist/modules/tags/TagCondition.js +2 -0
- package/dist/modules/tags/TagCondition.js.map +1 -0
- package/dist/modules/tags/TagConditionParser.d.ts +21 -0
- package/dist/modules/tags/TagConditionParser.d.ts.map +1 -0
- package/dist/modules/tags/TagConditionParser.js +75 -0
- package/dist/modules/tags/TagConditionParser.js.map +1 -0
- package/dist/modules/tags/index.d.ts +9 -0
- package/dist/modules/tags/index.d.ts.map +1 -0
- package/dist/modules/tags/index.js +8 -0
- package/dist/modules/tags/index.js.map +1 -0
- package/dist/modules/transcription/AudioDecoder.d.ts +9 -4
- package/dist/modules/transcription/AudioDecoder.d.ts.map +1 -1
- package/dist/modules/transcription/BatchedMonoResampler.d.ts +45 -0
- package/dist/modules/transcription/BatchedMonoResampler.d.ts.map +1 -0
- package/dist/modules/transcription/BatchedMonoResampler.js +116 -0
- package/dist/modules/transcription/BatchedMonoResampler.js.map +1 -0
- package/dist/modules/transcription/CacheStorageModelFileCache.d.ts +38 -0
- package/dist/modules/transcription/CacheStorageModelFileCache.d.ts.map +1 -0
- package/dist/modules/transcription/CacheStorageModelFileCache.js +86 -0
- package/dist/modules/transcription/CacheStorageModelFileCache.js.map +1 -0
- package/dist/modules/transcription/CueDocumentBuilder.d.ts +40 -0
- package/dist/modules/transcription/CueDocumentBuilder.d.ts.map +1 -0
- package/dist/modules/transcription/CueDocumentBuilder.js +77 -0
- package/dist/modules/transcription/CueDocumentBuilder.js.map +1 -0
- package/dist/modules/transcription/CueParseResult.d.ts +16 -0
- package/dist/modules/transcription/CueParseResult.d.ts.map +1 -0
- package/dist/modules/transcription/CueParseResult.js +2 -0
- package/dist/modules/transcription/CueParseResult.js.map +1 -0
- package/dist/modules/transcription/CueTextTokenizer.d.ts +10 -0
- package/dist/modules/transcription/CueTextTokenizer.d.ts.map +1 -0
- package/dist/modules/transcription/CueTextTokenizer.js +21 -0
- package/dist/modules/transcription/CueTextTokenizer.js.map +1 -0
- package/dist/modules/transcription/CueTimecodeReader.d.ts +19 -0
- package/dist/modules/transcription/CueTimecodeReader.d.ts.map +1 -0
- package/dist/modules/transcription/CueTimecodeReader.js +45 -0
- package/dist/modules/transcription/CueTimecodeReader.js.map +1 -0
- package/dist/modules/transcription/CueWordReader.d.ts +12 -0
- package/dist/modules/transcription/CueWordReader.d.ts.map +1 -0
- package/dist/modules/transcription/CueWordReader.js +2 -0
- package/dist/modules/transcription/CueWordReader.js.map +1 -0
- package/dist/modules/transcription/EstimatedCueWordReader.d.ts +16 -0
- package/dist/modules/transcription/EstimatedCueWordReader.d.ts.map +1 -0
- package/dist/modules/transcription/EstimatedCueWordReader.js +17 -0
- package/dist/modules/transcription/EstimatedCueWordReader.js.map +1 -0
- package/dist/modules/transcription/LogitsProcessorListFactory.d.ts +43 -0
- package/dist/modules/transcription/LogitsProcessorListFactory.d.ts.map +1 -0
- package/dist/modules/transcription/LogitsProcessorListFactory.js +72 -0
- package/dist/modules/transcription/LogitsProcessorListFactory.js.map +1 -0
- package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts +27 -0
- package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts.map +1 -0
- package/dist/modules/transcription/MediaBunnyAudioDecoder.js +76 -0
- package/dist/modules/transcription/MediaBunnyAudioDecoder.js.map +1 -0
- package/dist/modules/transcription/ModelFileCache.d.ts +20 -0
- package/dist/modules/transcription/ModelFileCache.d.ts.map +1 -0
- package/dist/modules/transcription/ModelFileCache.js +2 -0
- package/dist/modules/transcription/ModelFileCache.js.map +1 -0
- package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts +18 -0
- package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts.map +1 -0
- package/dist/modules/transcription/ModelFileCacheUnavailableError.js +18 -0
- package/dist/modules/transcription/ModelFileCacheUnavailableError.js.map +1 -0
- package/dist/modules/transcription/SrtTranscriber.d.ts +24 -15
- package/dist/modules/transcription/SrtTranscriber.d.ts.map +1 -1
- package/dist/modules/transcription/SrtTranscriber.js +32 -90
- package/dist/modules/transcription/SrtTranscriber.js.map +1 -1
- package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts +22 -0
- package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts.map +1 -0
- package/dist/modules/transcription/SubtitleFileUnreadableError.js +22 -0
- package/dist/modules/transcription/SubtitleFileUnreadableError.js.map +1 -0
- package/dist/modules/transcription/TimestampedCueWordReader.d.ts +27 -0
- package/dist/modules/transcription/TimestampedCueWordReader.d.ts.map +1 -0
- package/dist/modules/transcription/TimestampedCueWordReader.js +52 -0
- package/dist/modules/transcription/TimestampedCueWordReader.js.map +1 -0
- package/dist/modules/transcription/Transcriber.d.ts +13 -0
- package/dist/modules/transcription/Transcriber.d.ts.map +1 -1
- package/dist/modules/transcription/TransformersRuntime.d.ts +50 -0
- package/dist/modules/transcription/TransformersRuntime.d.ts.map +1 -0
- package/dist/modules/transcription/TransformersRuntime.js +79 -0
- package/dist/modules/transcription/TransformersRuntime.js.map +1 -0
- package/dist/modules/transcription/VttTranscriber.d.ts +46 -0
- package/dist/modules/transcription/VttTranscriber.d.ts.map +1 -0
- package/dist/modules/transcription/VttTranscriber.js +80 -0
- package/dist/modules/transcription/VttTranscriber.js.map +1 -0
- package/dist/modules/transcription/WhisperChunkStitcher.d.ts +51 -0
- package/dist/modules/transcription/WhisperChunkStitcher.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperChunkStitcher.js +101 -0
- package/dist/modules/transcription/WhisperChunkStitcher.js.map +1 -0
- package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts +16 -0
- package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperDeviceUnavailableError.js +16 -0
- package/dist/modules/transcription/WhisperDeviceUnavailableError.js.map +1 -0
- package/dist/modules/transcription/WhisperInferenceFailedError.d.ts +16 -0
- package/dist/modules/transcription/WhisperInferenceFailedError.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperInferenceFailedError.js +16 -0
- package/dist/modules/transcription/WhisperInferenceFailedError.js.map +1 -0
- package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts +61 -0
- package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperInferenceProgressTracker.js +102 -0
- package/dist/modules/transcription/WhisperInferenceProgressTracker.js.map +1 -0
- package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts +38 -0
- package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js +94 -0
- package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js.map +1 -0
- package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts +15 -0
- package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperModelLoadFailedError.js +15 -0
- package/dist/modules/transcription/WhisperModelLoadFailedError.js.map +1 -0
- package/dist/modules/transcription/WhisperTranscriber.d.ts +106 -7
- package/dist/modules/transcription/WhisperTranscriber.d.ts.map +1 -1
- package/dist/modules/transcription/WhisperTranscriber.js +312 -25
- package/dist/modules/transcription/WhisperTranscriber.js.map +1 -1
- package/dist/modules/transcription/WhisperWindowCoverage.d.ts +79 -0
- package/dist/modules/transcription/WhisperWindowCoverage.d.ts.map +1 -0
- package/dist/modules/transcription/WhisperWindowCoverage.js +129 -0
- package/dist/modules/transcription/WhisperWindowCoverage.js.map +1 -0
- package/dist/modules/transcription/WordTimingEstimator.d.ts +14 -0
- package/dist/modules/transcription/WordTimingEstimator.d.ts.map +1 -0
- package/dist/modules/transcription/WordTimingEstimator.js +33 -0
- package/dist/modules/transcription/WordTimingEstimator.js.map +1 -0
- package/dist/modules/transcription/index.d.ts +9 -2
- package/dist/modules/transcription/index.d.ts.map +1 -1
- package/dist/modules/transcription/index.js +6 -1
- package/dist/modules/transcription/index.js.map +1 -1
- package/dist/modules/video/RenderJob.d.ts +17 -0
- package/dist/modules/video/RenderJob.d.ts.map +1 -1
- package/dist/modules/video/RenderTimeMap.d.ts +50 -0
- package/dist/modules/video/RenderTimeMap.d.ts.map +1 -0
- package/dist/modules/video/RenderTimeMap.js +90 -0
- package/dist/modules/video/RenderTimeMap.js.map +1 -0
- package/dist/modules/video/index.d.ts +8 -1
- package/dist/modules/video/index.d.ts.map +1 -1
- package/dist/modules/video/index.js +4 -0
- package/dist/modules/video/index.js.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts +102 -0
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +207 -0
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -0
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts +12 -52
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js +25 -190
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js.map +1 -1
- package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts +7 -0
- package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js +2 -2
- package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js.map +1 -1
- package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts +2 -0
- package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js +8 -2
- package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js.map +1 -1
- package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts +3 -0
- package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js +9 -2
- package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js.map +1 -1
- package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts +7 -0
- package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +4 -2
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js +33 -23
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js.map +1 -1
- package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts +9 -2
- package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts +5 -2
- package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js +8 -2
- package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js.map +1 -1
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts +35 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +69 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts +23 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js +23 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js.map +1 -0
- package/dist/modules/video/mediabunny/painter/FramePainter.d.ts +46 -0
- package/dist/modules/video/mediabunny/painter/FramePainter.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/painter/FramePainter.js +2 -0
- package/dist/modules/video/mediabunny/painter/FramePainter.js.map +1 -0
- package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts +24 -0
- package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/painter/TopLayerSource.js +2 -0
- package/dist/modules/video/mediabunny/painter/TopLayerSource.js.map +1 -0
- package/package.json +13 -10
- package/dist/modules/document/Tag.d.ts.map +0 -1
- package/dist/modules/document/Tag.js.map +0 -1
- package/dist/modules/rendering/AlignmentConfig.d.ts +0 -21
- package/dist/modules/rendering/AlignmentConfig.d.ts.map +0 -1
- package/dist/modules/rendering/AlignmentConfig.js +0 -2
- package/dist/modules/rendering/AlignmentConfig.js.map +0 -1
- package/dist/modules/rendering/BoxEdges.d.ts.map +0 -1
- package/dist/modules/rendering/BoxEdges.js.map +0 -1
- package/dist/modules/rendering/ElementRenderOverrides.d.ts +0 -15
- package/dist/modules/rendering/ElementRenderOverrides.d.ts.map +0 -1
- package/dist/modules/rendering/ElementRenderOverrides.js +0 -24
- package/dist/modules/rendering/ElementRenderOverrides.js.map +0 -1
- package/dist/modules/rendering/InlineStyleMap.d.ts.map +0 -1
- package/dist/modules/rendering/InlineStyleMap.js.map +0 -1
- package/dist/modules/rendering/RenderingConfig.d.ts.map +0 -1
- package/dist/modules/rendering/RenderingConfig.js.map +0 -1
- package/dist/modules/rendering/ScopedRenderOverride.d.ts +0 -19
- package/dist/modules/rendering/ScopedRenderOverride.d.ts.map +0 -1
- package/dist/modules/rendering/ScopedRenderOverride.js.map +0 -1
- package/dist/modules/rendering/SegmentPaintRegionResolver.d.ts.map +0 -1
- package/dist/modules/rendering/SegmentPaintRegionResolver.js.map +0 -1
- package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts +0 -58
- package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts.map +0 -1
- package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js +0 -132
- package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js.map +0 -1
- package/dist/modules/rendering/VideoFrameLayerClass.d.ts.map +0 -1
- package/dist/modules/rendering/VideoFrameLayerClass.js +0 -21
- package/dist/modules/rendering/VideoFrameLayerClass.js.map +0 -1
- package/dist/modules/rendering/VideoFrameSource.d.ts.map +0 -1
- package/dist/modules/rendering/VideoFrameSource.js.map +0 -1
- package/dist/modules/transcription/BrowserAudioDecoder.d.ts +0 -13
- package/dist/modules/transcription/BrowserAudioDecoder.d.ts.map +0 -1
- package/dist/modules/transcription/BrowserAudioDecoder.js +0 -34
- package/dist/modules/transcription/BrowserAudioDecoder.js.map +0 -1
- /package/dist/modules/rendering/{BoxEdges.d.ts → types/BoxEdges.d.ts} +0 -0
- /package/dist/modules/rendering/{BoxEdges.js → types/BoxEdges.js} +0 -0
- /package/dist/modules/rendering/{InlineStyleMap.d.ts → types/InlineStyleMap.d.ts} +0 -0
- /package/dist/modules/rendering/{InlineStyleMap.js → types/InlineStyleMap.js} +0 -0
- /package/dist/modules/rendering/{RenderingConfig.js → types/RenderingConfig.js} +0 -0
- /package/dist/modules/rendering/{ScopedRenderOverride.js → types/ScopedRenderOverride.js} +0 -0
- /package/dist/modules/rendering/{VideoFrameSource.d.ts → types/VideoFrameSource.d.ts} +0 -0
- /package/dist/modules/rendering/{VideoFrameSource.js → types/VideoFrameSource.js} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CssVariable } from '../../document/CssVariable';
|
|
2
|
+
/**
|
|
3
|
+
* Builds the engine-internal CSS rule that applies per-side padding
|
|
4
|
+
* to `.segment`, cancels its layout shift with a matching negative
|
|
5
|
+
* margin, and exposes the vertical padding amounts on CSS variables
|
|
6
|
+
* the decoration containers read to anchor themselves at the content
|
|
7
|
+
* edge rather than the padded edge. Returns an empty string for
|
|
8
|
+
* `null` input.
|
|
9
|
+
*/
|
|
10
|
+
export class SegmentPaddingCssRuleBuilder {
|
|
11
|
+
build(padding) {
|
|
12
|
+
if (padding === null)
|
|
13
|
+
return '';
|
|
14
|
+
const positive = `${padding.top} ${padding.right} ${padding.bottom} ${padding.left}`;
|
|
15
|
+
const negative = [padding.top, padding.right, padding.bottom, padding.left]
|
|
16
|
+
.map((length) => this.negate(length))
|
|
17
|
+
.join(' ');
|
|
18
|
+
const internalVars = `${CssVariable.SEGMENT_PADDING_TOP}: ${padding.top}; ` +
|
|
19
|
+
`${CssVariable.SEGMENT_PADDING_BOTTOM}: ${padding.bottom};`;
|
|
20
|
+
return `.segment { padding: ${positive}; margin: ${negative}; ${internalVars} }`;
|
|
21
|
+
}
|
|
22
|
+
negate(length) {
|
|
23
|
+
if (this.isZero(length))
|
|
24
|
+
return length;
|
|
25
|
+
if (length.startsWith('-'))
|
|
26
|
+
return length.slice(1);
|
|
27
|
+
return `-${length}`;
|
|
28
|
+
}
|
|
29
|
+
isZero(length) {
|
|
30
|
+
return /^-?0(?:\.0+)?[a-z%]*$/i.test(length);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=SegmentPaddingCssRuleBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentPaddingCssRuleBuilder.js","sourceRoot":"","sources":["../../../../src/modules/rendering/styles/SegmentPaddingCssRuleBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IAEvC,KAAK,CAAC,OAAwB;QAC5B,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;aACxE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACpC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,YAAY,GAChB,GAAG,WAAW,CAAC,mBAAmB,KAAK,OAAO,CAAC,GAAG,IAAI;YACtD,GAAG,WAAW,CAAC,sBAAsB,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;QAC9D,OAAO,uBAAuB,QAAQ,aAAa,QAAQ,KAAK,YAAY,IAAI,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,MAAM,EAAE,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,MAAc;QAC3B,OAAO,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
package/dist/modules/rendering/{VideoFrameLayerClass.d.ts → styles/VideoFrameLayerBaselineCss.d.ts}
RENAMED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* stylesheet targets this class to position, clip, or filter the
|
|
5
|
-
* video frame.
|
|
6
|
-
*/
|
|
7
|
-
export declare const VIDEO_FRAME_LAYER_CLASS = "tscaps-video-frame-layer";
|
|
8
|
-
/**
|
|
9
|
-
* Default rule for {@link VIDEO_FRAME_LAYER_CLASS}: positions the
|
|
10
|
-
* layer over the subtitle's painted region via the
|
|
2
|
+
* Default rule for the `CssClass.VIDEO_FRAME_LAYER` element: positions
|
|
3
|
+
* the layer over the subtitle's painted region via the
|
|
11
4
|
* `--subtitle-region-*` custom properties and paints the current
|
|
12
5
|
* frame slice from `--video-frame`. Class-level specificity so
|
|
13
6
|
* sheet-scoped overrides always win.
|
|
@@ -18,4 +11,4 @@ export declare const VIDEO_FRAME_LAYER_CLASS = "tscaps-video-frame-layer";
|
|
|
18
11
|
* the region geometry.
|
|
19
12
|
*/
|
|
20
13
|
export declare const VIDEO_FRAME_LAYER_BASELINE_CSS = ".tscaps-video-frame-layer { position: absolute; left: var(--subtitle-region-x, 0); top: var(--subtitle-region-y, 0); width: var(--subtitle-region-width, 100%); height: var(--subtitle-region-height, 100%); max-width: none; max-height: none; background-image: var(--video-frame, none); background-size: 100% 100%; pointer-events: none; object-fit: fill; }";
|
|
21
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=VideoFrameLayerBaselineCss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoFrameLayerBaselineCss.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/styles/VideoFrameLayerBaselineCss.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,sWAA2W,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CssClass } from '../../document/CssClass';
|
|
2
|
+
/**
|
|
3
|
+
* Default rule for the `CssClass.VIDEO_FRAME_LAYER` element: positions
|
|
4
|
+
* the layer over the subtitle's painted region via the
|
|
5
|
+
* `--subtitle-region-*` custom properties and paints the current
|
|
6
|
+
* frame slice from `--video-frame`. Class-level specificity so
|
|
7
|
+
* sheet-scoped overrides always win.
|
|
8
|
+
*
|
|
9
|
+
* `max-width: none; max-height: none` defeats consumer CSS resets
|
|
10
|
+
* (e.g. Tailwind's `img, video { max-width: 100% }`) that would
|
|
11
|
+
* clip the layer to its content-hugging segment parent and break
|
|
12
|
+
* the region geometry.
|
|
13
|
+
*/
|
|
14
|
+
export const VIDEO_FRAME_LAYER_BASELINE_CSS = `.${CssClass.VIDEO_FRAME_LAYER} { position: absolute; left: var(--subtitle-region-x, 0); top: var(--subtitle-region-y, 0); width: var(--subtitle-region-width, 100%); height: var(--subtitle-region-height, 100%); max-width: none; max-height: none; background-image: var(--video-frame, none); background-size: 100% 100%; pointer-events: none; object-fit: fill; }`;
|
|
15
|
+
//# sourceMappingURL=VideoFrameLayerBaselineCss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoFrameLayerBaselineCss.js","sourceRoot":"","sources":["../../../../src/modules/rendering/styles/VideoFrameLayerBaselineCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,QAAQ,CAAC,iBAAiB,0UAA0U,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CssVariable } from '../../document/CssVariable';
|
|
2
|
+
/**
|
|
3
|
+
* One animation timing extracted from a probed element's computed
|
|
4
|
+
* style: the CSS variable whose start moment anchors the active
|
|
5
|
+
* window, and the duration the rule runs for once that moment passes.
|
|
6
|
+
* `durationS` is `Infinity` for an `animation-iteration-count:
|
|
7
|
+
* infinite` rule.
|
|
8
|
+
*/
|
|
9
|
+
export interface AbstractAnim {
|
|
10
|
+
cssVar: CssVariable;
|
|
11
|
+
durationS: number;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AbstractAnim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractAnim.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AbstractAnim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractAnim.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/AbstractAnim.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SubtitleFrame } from '../../rendering/SubtitleFrameRenderer';
|
|
2
|
+
import type { BatchPlanner } from '../../rendering/subtitle/BatchPlanner';
|
|
3
|
+
import type { SpriteSheetCompositor } from '../../rendering/subtitle/SpriteSheetCompositor';
|
|
4
|
+
import type { AnimationProbe } from '../../rendering/subtitle/AnimationProbe';
|
|
5
|
+
import type { SegmentPaintRegionCache } from '../../rendering/subtitle/SegmentPaintRegionCache';
|
|
6
|
+
/**
|
|
7
|
+
* Per-document render session. Routes each `getFrames` batch through
|
|
8
|
+
* the planner → compositor pipeline and clears the animation-timing
|
|
9
|
+
* cache and segment paint-region cache on dispose.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ActiveRenderSession {
|
|
12
|
+
private readonly batchPlanner;
|
|
13
|
+
private readonly spriteSheetCompositor;
|
|
14
|
+
private readonly animationProbe;
|
|
15
|
+
private readonly paintRegionCache;
|
|
16
|
+
constructor(batchPlanner: BatchPlanner, spriteSheetCompositor: SpriteSheetCompositor, animationProbe: AnimationProbe, paintRegionCache: SegmentPaintRegionCache);
|
|
17
|
+
getFrames(timestamps: ReadonlyArray<number>): Promise<Array<SubtitleFrame | null>>;
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ActiveRenderSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveRenderSession.d.ts","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAEnG;;;;GAIG;AACH,qBAAa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,uBAAuB;IAGtD,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAQxF,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-document render session. Routes each `getFrames` batch through
|
|
3
|
+
* the planner → compositor pipeline and clears the animation-timing
|
|
4
|
+
* cache and segment paint-region cache on dispose.
|
|
5
|
+
*/
|
|
6
|
+
export class ActiveRenderSession {
|
|
7
|
+
batchPlanner;
|
|
8
|
+
spriteSheetCompositor;
|
|
9
|
+
animationProbe;
|
|
10
|
+
paintRegionCache;
|
|
11
|
+
constructor(batchPlanner, spriteSheetCompositor, animationProbe, paintRegionCache) {
|
|
12
|
+
this.batchPlanner = batchPlanner;
|
|
13
|
+
this.spriteSheetCompositor = spriteSheetCompositor;
|
|
14
|
+
this.animationProbe = animationProbe;
|
|
15
|
+
this.paintRegionCache = paintRegionCache;
|
|
16
|
+
}
|
|
17
|
+
async getFrames(timestamps) {
|
|
18
|
+
if (timestamps.length === 0)
|
|
19
|
+
return [];
|
|
20
|
+
const plan = this.batchPlanner.plan(timestamps);
|
|
21
|
+
if (plan.groups.size === 0)
|
|
22
|
+
return timestamps.map(() => null);
|
|
23
|
+
const sprites = await this.spriteSheetCompositor.renderGroups(plan.groups);
|
|
24
|
+
return this.spriteSheetCompositor.buildFrames(plan.assignments, sprites);
|
|
25
|
+
}
|
|
26
|
+
dispose() {
|
|
27
|
+
this.animationProbe.clear();
|
|
28
|
+
this.paintRegionCache.clear();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ActiveRenderSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveRenderSession.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSession.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAGX;IACA;IACA;IACA;IAJnB,YACmB,YAA0B,EAC1B,qBAA4C,EAC5C,cAA8B,EAC9B,gBAAyC;QAHzC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,UAAiC;QAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Document } from '../../document/Document';
|
|
2
|
+
import type { WordSplitter } from '../../splitting/WordSplitter';
|
|
3
|
+
import type { WordFragmenter } from '../../bidi/WordFragmenter';
|
|
4
|
+
import type { VideoFrameSource } from '../../rendering/types/VideoFrameSource';
|
|
5
|
+
import type { BaselineCssComposer } from '../../rendering/styles/BaselineCssComposer';
|
|
6
|
+
import { ActiveRenderSession } from '../../rendering/subtitle/ActiveRenderSession';
|
|
7
|
+
import type { PreparedStyle } from '../../rendering/subtitle/PreparedStyle';
|
|
8
|
+
/**
|
|
9
|
+
* Assembles an `ActiveRenderSession` and its per-session collaborator
|
|
10
|
+
* graph: animation probe, segment paint-region cache, video-frame
|
|
11
|
+
* vars builder, segment wrapper renderer, batch planner, and sprite
|
|
12
|
+
* sheet compositor.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ActiveRenderSessionFactory {
|
|
15
|
+
private readonly wordSplitter;
|
|
16
|
+
private readonly wordFragmenter;
|
|
17
|
+
private readonly baselineCssComposer;
|
|
18
|
+
constructor(wordSplitter: WordSplitter, wordFragmenter: WordFragmenter, baselineCssComposer: BaselineCssComposer);
|
|
19
|
+
create(doc: Document, styles: Readonly<Record<string, PreparedStyle>>, width: number, height: number, videoFrameSource: VideoFrameSource | null): ActiveRenderSession;
|
|
20
|
+
}
|
|
21
|
+
//# 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,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAczF,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,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,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,46 @@
|
|
|
1
|
+
import { HorizontalSideResolver } from '../../bidi/HorizontalSideResolver';
|
|
2
|
+
import { HorizontalPlacementResolver } from '../../rendering/HorizontalPlacementResolver';
|
|
3
|
+
import { SvgFilterScoper } from '../../svg-filter/SvgFilterScoper';
|
|
4
|
+
import { SvgFilterLengthResolver } from '../../svg-filter/SvgFilterLengthResolver';
|
|
5
|
+
import { SvgFilterDefsRenderer } from '../../svg-filter/SvgFilterDefsRenderer';
|
|
6
|
+
import { SegmentSubtreeHtmlBuilder } from '../../rendering/subtitle/SegmentSubtreeHtmlBuilder';
|
|
7
|
+
import { SegmentSubtreeDecomposer } from '../../rendering/subtitle/SegmentSubtreeDecomposer';
|
|
8
|
+
import { SegmentPaintRegionResolver } from '../../rendering/subtitle/SegmentPaintRegionResolver';
|
|
9
|
+
import { SegmentPaintRegionCache } from '../../rendering/subtitle/SegmentPaintRegionCache';
|
|
10
|
+
import { VideoFrameVarsBuilder } from '../../rendering/subtitle/VideoFrameVarsBuilder';
|
|
11
|
+
import { SvgFilterMaterializer } from '../../rendering/subtitle/SvgFilterMaterializer';
|
|
12
|
+
import { SegmentWrapperRenderer } from '../../rendering/subtitle/SegmentWrapperRenderer';
|
|
13
|
+
import { AnimationProbe } from '../../rendering/subtitle/AnimationProbe';
|
|
14
|
+
import { BatchPlanner } from '../../rendering/subtitle/BatchPlanner';
|
|
15
|
+
import { SpriteSheetCompositor } from '../../rendering/subtitle/SpriteSheetCompositor';
|
|
16
|
+
import { ActiveRenderSession } from '../../rendering/subtitle/ActiveRenderSession';
|
|
17
|
+
/**
|
|
18
|
+
* Assembles an `ActiveRenderSession` and its per-session collaborator
|
|
19
|
+
* graph: animation probe, segment paint-region cache, video-frame
|
|
20
|
+
* vars builder, segment wrapper renderer, batch planner, and sprite
|
|
21
|
+
* sheet compositor.
|
|
22
|
+
*/
|
|
23
|
+
export class ActiveRenderSessionFactory {
|
|
24
|
+
wordSplitter;
|
|
25
|
+
wordFragmenter;
|
|
26
|
+
baselineCssComposer;
|
|
27
|
+
constructor(wordSplitter, wordFragmenter, baselineCssComposer) {
|
|
28
|
+
this.wordSplitter = wordSplitter;
|
|
29
|
+
this.wordFragmenter = wordFragmenter;
|
|
30
|
+
this.baselineCssComposer = baselineCssComposer;
|
|
31
|
+
}
|
|
32
|
+
create(doc, styles, width, height, videoFrameSource) {
|
|
33
|
+
const subtreeBuilder = new SegmentSubtreeHtmlBuilder(this.wordSplitter, this.wordFragmenter);
|
|
34
|
+
const subtreeDecomposer = new SegmentSubtreeDecomposer();
|
|
35
|
+
const paintRegionResolver = new SegmentPaintRegionResolver();
|
|
36
|
+
const paintRegionCache = new SegmentPaintRegionCache();
|
|
37
|
+
const filterMaterializer = new SvgFilterMaterializer(new SvgFilterDefsRenderer(new SvgFilterScoper(), new SvgFilterLengthResolver()), height);
|
|
38
|
+
const videoFrameVarsBuilder = new VideoFrameVarsBuilder(subtreeBuilder, paintRegionResolver, paintRegionCache, width, height, videoFrameSource);
|
|
39
|
+
const wrapperRenderer = new SegmentWrapperRenderer(subtreeBuilder, subtreeDecomposer, filterMaterializer, videoFrameVarsBuilder, new HorizontalPlacementResolver(new HorizontalSideResolver()), width, height);
|
|
40
|
+
const animationProbe = new AnimationProbe();
|
|
41
|
+
const batchPlanner = new BatchPlanner(doc, styles, animationProbe);
|
|
42
|
+
const spriteSheetCompositor = new SpriteSheetCompositor(styles, wrapperRenderer, this.baselineCssComposer, width, height);
|
|
43
|
+
return new ActiveRenderSession(batchPlanner, spriteSheetCompositor, animationProbe, paintRegionCache);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ActiveRenderSessionFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveRenderSessionFactory.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/ActiveRenderSessionFactory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAG7F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,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;IACA;IAHnB,YACmB,YAA0B,EAC1B,cAA8B,EAC9B,mBAAwC;QAFxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,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,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7F,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,qBAAqB,CAAC,IAAI,eAAe,EAAE,EAAE,IAAI,uBAAuB,EAAE,CAAC,EAC/E,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,IAAI,2BAA2B,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAC7D,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,39 @@
|
|
|
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 what the renderer emits, reads back
|
|
6
|
+
* resolved `animation-duration` / `animation-delay` from
|
|
7
|
+
* `getComputedStyle`, and decodes each timing back to the CSS
|
|
8
|
+
* variable that anchored its window. Caches per chain so the same one
|
|
9
|
+
* is probed at most once. `clear` empties the cache.
|
|
10
|
+
*
|
|
11
|
+
* A chain carries the element ids the renderer stamps as well as the
|
|
12
|
+
* classes, because a stylesheet can address one element rather than a
|
|
13
|
+
* class of them. Built from classes alone, the chain resolves a
|
|
14
|
+
* different animation than the node it stands for — none at all where
|
|
15
|
+
* only the element carries one, and the wrong window where the
|
|
16
|
+
* element's beats the template's. Either way the tile is reused across
|
|
17
|
+
* a frame that moved, and the animation exports as a still image.
|
|
18
|
+
*
|
|
19
|
+
* Only ids the stylesheet actually addresses go on, so a caption
|
|
20
|
+
* nobody has styled probes one chain per class combination as before.
|
|
21
|
+
*/
|
|
22
|
+
export declare class AnimationProbe {
|
|
23
|
+
private readonly timingByKey;
|
|
24
|
+
isItemAnimating(style: PreparedStyle, seg: Segment, t: number): boolean;
|
|
25
|
+
clear(): void;
|
|
26
|
+
/** The element as the probe will build it, addressed only where the stylesheet says so. */
|
|
27
|
+
private probed;
|
|
28
|
+
private animates;
|
|
29
|
+
private timingOf;
|
|
30
|
+
private describe;
|
|
31
|
+
/** Mounts the chain, reads what the leaf resolved to, and takes it back out. */
|
|
32
|
+
private probeChain;
|
|
33
|
+
private createNode;
|
|
34
|
+
private injectProbeMagic;
|
|
35
|
+
private readAnimTimings;
|
|
36
|
+
private parseDurationsS;
|
|
37
|
+
private evalAnims;
|
|
38
|
+
}
|
|
39
|
+
//# 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":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AA2B/E;;;;;;;;;;;;;;;;;;GAkBG;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;IAwCvE,KAAK,IAAI,IAAI;IAIb,2FAA2F;IAC3F,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,QAAQ;IAIhB,gFAAgF;IAChF,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,SAAS;CA6BlB"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { CssVariable } from '../../document/CssVariable';
|
|
2
|
+
import { DataAttribute } from '../../document/DataAttribute';
|
|
3
|
+
import { Decoration } from '../../document/Decoration';
|
|
4
|
+
const FINGERPRINT_BASE_S = 10000;
|
|
5
|
+
/**
|
|
6
|
+
* Decides whether a render item should redraw every frame: builds
|
|
7
|
+
* throw-away DOM chains matching what the renderer emits, reads back
|
|
8
|
+
* resolved `animation-duration` / `animation-delay` from
|
|
9
|
+
* `getComputedStyle`, and decodes each timing back to the CSS
|
|
10
|
+
* variable that anchored its window. Caches per chain so the same one
|
|
11
|
+
* is probed at most once. `clear` empties the cache.
|
|
12
|
+
*
|
|
13
|
+
* A chain carries the element ids the renderer stamps as well as the
|
|
14
|
+
* classes, because a stylesheet can address one element rather than a
|
|
15
|
+
* class of them. Built from classes alone, the chain resolves a
|
|
16
|
+
* different animation than the node it stands for — none at all where
|
|
17
|
+
* only the element carries one, and the wrong window where the
|
|
18
|
+
* element's beats the template's. Either way the tile is reused across
|
|
19
|
+
* a frame that moved, and the animation exports as a still image.
|
|
20
|
+
*
|
|
21
|
+
* Only ids the stylesheet actually addresses go on, so a caption
|
|
22
|
+
* nobody has styled probes one chain per class combination as before.
|
|
23
|
+
*/
|
|
24
|
+
export class AnimationProbe {
|
|
25
|
+
timingByKey = new Map();
|
|
26
|
+
isItemAnimating(style, seg, t) {
|
|
27
|
+
// Letter-level CSS typically combines time vars via calc(), which
|
|
28
|
+
// destroys the fingerprint-based probe; treat the segment as
|
|
29
|
+
// always animating in that mode and redraw every frame.
|
|
30
|
+
if (style.rendering.splitWordsIntoLetters)
|
|
31
|
+
return true;
|
|
32
|
+
// Styles that bake the underlying video frame into their visuals
|
|
33
|
+
// change every tick by definition — no two timestamps share state.
|
|
34
|
+
if (style.rendering.videoFrame.required)
|
|
35
|
+
return true;
|
|
36
|
+
// Filter definitions whose materialized output can vary with
|
|
37
|
+
// `currentTime` likewise force per-frame redraw; conservatively
|
|
38
|
+
// treat any non-empty filter set as time-varying.
|
|
39
|
+
if (!style.filters.definitions.isEmpty())
|
|
40
|
+
return true;
|
|
41
|
+
const segment = this.probed(style, 'div', seg.getCssClasses(t), seg.id);
|
|
42
|
+
const segmentWindows = { segment: seg.time, line: null, word: null };
|
|
43
|
+
if (this.animates(style, [segment], t, segmentWindows))
|
|
44
|
+
return true;
|
|
45
|
+
return [...seg.lines].some((line) => {
|
|
46
|
+
const lineElement = this.probed(style, 'div', line.getCssClasses(t), line.id);
|
|
47
|
+
const lineWindows = { ...segmentWindows, line: line.time };
|
|
48
|
+
if (this.animates(style, [segment, lineElement], t, lineWindows))
|
|
49
|
+
return true;
|
|
50
|
+
return [...line.words].some((word) => {
|
|
51
|
+
const wordElement = this.probed(style, 'span', word.getCssClasses(t), word.id);
|
|
52
|
+
const wordChain = [segment, lineElement, wordElement];
|
|
53
|
+
if (this.animates(style, wordChain, t, { ...lineWindows, word: word.time }))
|
|
54
|
+
return true;
|
|
55
|
+
const decoration = word.decoration;
|
|
56
|
+
if (!decoration)
|
|
57
|
+
return false;
|
|
58
|
+
const decorationElement = this.probed(style, 'span', [Decoration.CSS_CLASS], decoration.id);
|
|
59
|
+
return this.animates(style, [...wordChain, decorationElement], t, { ...lineWindows, word: decoration.customTime ?? word.time });
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
clear() {
|
|
64
|
+
this.timingByKey.clear();
|
|
65
|
+
}
|
|
66
|
+
/** The element as the probe will build it, addressed only where the stylesheet says so. */
|
|
67
|
+
probed(style, tag, classes, elementId) {
|
|
68
|
+
return { tag, classes, elementId: style.addressableElementIds.has(elementId) ? elementId : null };
|
|
69
|
+
}
|
|
70
|
+
animates(style, chain, t, windows) {
|
|
71
|
+
return this.evalAnims(this.timingOf(style, chain), t, windows);
|
|
72
|
+
}
|
|
73
|
+
timingOf(style, chain) {
|
|
74
|
+
const key = `${style.kind}|${chain.map((element) => this.describe(element)).join('>')}`;
|
|
75
|
+
let timing = this.timingByKey.get(key);
|
|
76
|
+
if (!timing) {
|
|
77
|
+
timing = this.probeChain(style, chain);
|
|
78
|
+
this.timingByKey.set(key, timing);
|
|
79
|
+
}
|
|
80
|
+
return timing;
|
|
81
|
+
}
|
|
82
|
+
describe(element) {
|
|
83
|
+
return `${element.classes.join(' ')}#${element.elementId ?? ''}`;
|
|
84
|
+
}
|
|
85
|
+
/** Mounts the chain, reads what the leaf resolved to, and takes it back out. */
|
|
86
|
+
probeChain(style, chain) {
|
|
87
|
+
const nodes = chain.map((element) => this.createNode(element));
|
|
88
|
+
for (let index = 1; index < nodes.length; index++)
|
|
89
|
+
nodes[index - 1].appendChild(nodes[index]);
|
|
90
|
+
const root = nodes[0];
|
|
91
|
+
const leaf = nodes[nodes.length - 1];
|
|
92
|
+
this.injectProbeMagic(leaf);
|
|
93
|
+
style.probeContainer.appendChild(root);
|
|
94
|
+
const timing = this.readAnimTimings(leaf);
|
|
95
|
+
style.probeContainer.removeChild(root);
|
|
96
|
+
return timing;
|
|
97
|
+
}
|
|
98
|
+
createNode(element) {
|
|
99
|
+
const node = document.createElement(element.tag);
|
|
100
|
+
node.className = element.classes.join(' ');
|
|
101
|
+
if (element.elementId !== null)
|
|
102
|
+
node.setAttribute(DataAttribute.ELEMENT_ID, element.elementId);
|
|
103
|
+
return node;
|
|
104
|
+
}
|
|
105
|
+
// Each CssVariable gets a fingerprint-shaped duration value so the
|
|
106
|
+
// computed `animation-delay` on a probed element identifies which
|
|
107
|
+
// variable a rule consumed.
|
|
108
|
+
injectProbeMagic(el) {
|
|
109
|
+
Object.values(CssVariable).forEach((cssVar, index) => {
|
|
110
|
+
el.style.setProperty(cssVar, `${(index + 1) * FINGERPRINT_BASE_S}s`);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
readAnimTimings(el) {
|
|
114
|
+
const computed = window.getComputedStyle(el);
|
|
115
|
+
const durations = this.parseDurationsS(computed.animationDuration);
|
|
116
|
+
const delays = this.parseDurationsS(computed.animationDelay);
|
|
117
|
+
const iterations = computed.animationIterationCount.split(',').map((s) => s.trim());
|
|
118
|
+
if (durations.every((d) => d === 0))
|
|
119
|
+
return [];
|
|
120
|
+
const anims = [];
|
|
121
|
+
const variables = Object.values(CssVariable);
|
|
122
|
+
for (let i = 0; i < durations.length; i++) {
|
|
123
|
+
const d = durations[i] ?? 0;
|
|
124
|
+
if (d === 0)
|
|
125
|
+
continue;
|
|
126
|
+
const dl = delays[i] ?? 0;
|
|
127
|
+
const fingerprintIndex = (dl / FINGERPRINT_BASE_S) - 1;
|
|
128
|
+
const cssVar = variables[fingerprintIndex];
|
|
129
|
+
if (!cssVar)
|
|
130
|
+
continue;
|
|
131
|
+
const isInfinite = (iterations[i] ?? '1') === 'infinite';
|
|
132
|
+
anims.push({ cssVar, durationS: isInfinite ? Infinity : d + 0.05 });
|
|
133
|
+
}
|
|
134
|
+
return anims;
|
|
135
|
+
}
|
|
136
|
+
parseDurationsS(value) {
|
|
137
|
+
if (!value)
|
|
138
|
+
return [0];
|
|
139
|
+
return value.split(',').map((s) => {
|
|
140
|
+
s = s.trim();
|
|
141
|
+
if (s.endsWith('ms'))
|
|
142
|
+
return parseFloat(s) / 1000;
|
|
143
|
+
if (s.endsWith('s'))
|
|
144
|
+
return parseFloat(s);
|
|
145
|
+
return 0;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
evalAnims(anims, t, windows) {
|
|
149
|
+
const { segment } = windows;
|
|
150
|
+
const line = windows.line ?? segment;
|
|
151
|
+
const word = windows.word ?? segment;
|
|
152
|
+
return anims.some((a) => {
|
|
153
|
+
let startT;
|
|
154
|
+
switch (a.cssVar) {
|
|
155
|
+
case CssVariable.SEGMENT_STARTS:
|
|
156
|
+
startT = segment.start;
|
|
157
|
+
break;
|
|
158
|
+
case CssVariable.SEGMENT_ENDS:
|
|
159
|
+
startT = segment.end;
|
|
160
|
+
break;
|
|
161
|
+
case CssVariable.LINE_NOT_NARRATED_YET_STARTS:
|
|
162
|
+
startT = segment.start;
|
|
163
|
+
break;
|
|
164
|
+
case CssVariable.LINE_NOT_NARRATED_YET_ENDS:
|
|
165
|
+
startT = line.start;
|
|
166
|
+
break;
|
|
167
|
+
case CssVariable.LINE_BEING_NARRATED_STARTS:
|
|
168
|
+
startT = line.start;
|
|
169
|
+
break;
|
|
170
|
+
case CssVariable.LINE_BEING_NARRATED_ENDS:
|
|
171
|
+
startT = line.end;
|
|
172
|
+
break;
|
|
173
|
+
case CssVariable.LINE_ALREADY_NARRATED_STARTS:
|
|
174
|
+
startT = line.end;
|
|
175
|
+
break;
|
|
176
|
+
case CssVariable.LINE_ALREADY_NARRATED_ENDS:
|
|
177
|
+
startT = segment.end;
|
|
178
|
+
break;
|
|
179
|
+
case CssVariable.WORD_NOT_NARRATED_YET_STARTS:
|
|
180
|
+
startT = segment.start;
|
|
181
|
+
break;
|
|
182
|
+
case CssVariable.WORD_NOT_NARRATED_YET_ENDS:
|
|
183
|
+
startT = word.start;
|
|
184
|
+
break;
|
|
185
|
+
case CssVariable.WORD_BEING_NARRATED_STARTS:
|
|
186
|
+
startT = word.start;
|
|
187
|
+
break;
|
|
188
|
+
case CssVariable.WORD_BEING_NARRATED_ENDS:
|
|
189
|
+
startT = word.end;
|
|
190
|
+
break;
|
|
191
|
+
case CssVariable.WORD_ALREADY_NARRATED_STARTS:
|
|
192
|
+
startT = word.end;
|
|
193
|
+
break;
|
|
194
|
+
case CssVariable.WORD_ALREADY_NARRATED_ENDS:
|
|
195
|
+
startT = segment.end;
|
|
196
|
+
break;
|
|
197
|
+
default: return false;
|
|
198
|
+
}
|
|
199
|
+
return t >= startT && t < startT + a.durationS;
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"BatchPlan.js","sourceRoot":"","sources":["../../../../src/modules/rendering/subtitle/BatchPlan.ts"],"names":[],"mappings":""}
|