@tscaps/engine 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -8
- package/dist/modules/document/CssVariable.d.ts +6 -0
- package/dist/modules/document/CssVariable.d.ts.map +1 -1
- package/dist/modules/document/CssVariable.js +6 -0
- package/dist/modules/document/CssVariable.js.map +1 -1
- package/dist/modules/document/Document.d.ts +3 -0
- package/dist/modules/document/Document.d.ts.map +1 -1
- package/dist/modules/document/Document.js +12 -1
- package/dist/modules/document/Document.js.map +1 -1
- package/dist/modules/document/DocumentEditor.d.ts +16 -4
- package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
- package/dist/modules/document/DocumentEditor.js +14 -10
- package/dist/modules/document/DocumentEditor.js.map +1 -1
- package/dist/modules/document/Line.d.ts +6 -0
- package/dist/modules/document/Line.d.ts.map +1 -1
- package/dist/modules/document/Line.js +10 -0
- package/dist/modules/document/Line.js.map +1 -1
- package/dist/modules/document/Word.d.ts +8 -0
- package/dist/modules/document/Word.d.ts.map +1 -1
- package/dist/modules/document/Word.js +11 -1
- package/dist/modules/document/Word.js.map +1 -1
- package/dist/modules/pipeline/RenderPipelineBuilder.d.ts +1 -1
- package/dist/modules/pipeline/RenderPipelineBuilder.d.ts.map +1 -1
- package/dist/modules/pipeline/RenderPipelineBuilder.js +15 -5
- package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts +18 -8
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +27 -21
- package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
- package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +41 -33
- package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
- package/dist/modules/rendering/index.d.ts +4 -0
- package/dist/modules/rendering/index.d.ts.map +1 -1
- package/dist/modules/rendering/index.js +2 -0
- package/dist/modules/rendering/index.js.map +1 -1
- package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts +13 -6
- package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/ActiveRenderSession.js +16 -9
- package/dist/modules/rendering/subtitle/ActiveRenderSession.js.map +1 -1
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +5 -2
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +26 -8
- package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -1
- package/dist/modules/rendering/subtitle/AnimationStateFingerprint.d.ts +20 -0
- package/dist/modules/rendering/subtitle/AnimationStateFingerprint.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/AnimationStateFingerprint.js +2 -0
- package/dist/modules/rendering/subtitle/AnimationStateFingerprint.js.map +1 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts +4 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.js +8 -0
- package/dist/modules/rendering/subtitle/AssetGroupBuilder.js.map +1 -1
- package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +50 -5
- package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/BatchPlanner.js +97 -15
- package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -1
- package/dist/modules/rendering/subtitle/ElementWidthMeasurer.d.ts +56 -0
- package/dist/modules/rendering/subtitle/ElementWidthMeasurer.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/ElementWidthMeasurer.js +119 -0
- package/dist/modules/rendering/subtitle/ElementWidthMeasurer.js.map +1 -0
- package/dist/modules/rendering/subtitle/ElementWidths.d.ts +23 -0
- package/dist/modules/rendering/subtitle/ElementWidths.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/ElementWidths.js +29 -0
- package/dist/modules/rendering/subtitle/ElementWidths.js.map +1 -0
- package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.d.ts +18 -0
- package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.js +42 -0
- package/dist/modules/rendering/subtitle/ImageDecodeSpriteSheetRasterProbe.js.map +1 -0
- package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.d.ts +35 -0
- package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.js +64 -0
- package/dist/modules/rendering/subtitle/KeyframeScanAnimationStateFingerprint.js.map +1 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +2 -0
- package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +12 -1
- package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -1
- package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.d.ts +28 -0
- package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.js +23 -0
- package/dist/modules/rendering/subtitle/SegmentAnchorVarsBuilder.js.map +1 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +3 -0
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +12 -3
- package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -1
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +7 -1
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +23 -5
- package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -1
- package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.d.ts +29 -0
- package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.js +2 -0
- package/dist/modules/rendering/subtitle/SpriteSheetProbeObserver.js.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.d.ts +19 -0
- package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.js +2 -0
- package/dist/modules/rendering/subtitle/SpriteSheetRasterProbe.js.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.d.ts +31 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.js +89 -0
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProbe.js.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationReading.d.ts +49 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationReading.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationReading.js +87 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationReading.js.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.d.ts +17 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.js +53 -0
- package/dist/modules/rendering/subtitle/SubtreeAnimationSupport.js.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.d.ts +62 -0
- package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.js +153 -0
- package/dist/modules/rendering/subtitle/SubtreeMountAnimationStateFingerprint.js.map +1 -0
- package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.d.ts +47 -0
- package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.js +69 -0
- package/dist/modules/rendering/subtitle/SvgFilterStateFingerprint.js.map +1 -0
- package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.d.ts +9 -0
- package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.d.ts.map +1 -0
- package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.js +10 -0
- package/dist/modules/rendering/subtitle/UnknownAnimationStateFingerprint.js.map +1 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -1
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +2 -0
- package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -1
- package/dist/modules/rendering/types/ElementRenderOverrides.d.ts +2 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -1
- package/dist/modules/rendering/types/ElementRenderOverrides.js +4 -0
- package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -1
- package/dist/modules/splitting/BalancedLineSplitter.d.ts +9 -0
- package/dist/modules/splitting/BalancedLineSplitter.d.ts.map +1 -1
- package/dist/modules/splitting/BalancedLineSplitter.js +15 -3
- package/dist/modules/splitting/BalancedLineSplitter.js.map +1 -1
- package/dist/modules/splitting/BalancedPixelWidthLineSplitter.d.ts +1 -4
- package/dist/modules/splitting/BalancedPixelWidthLineSplitter.d.ts.map +1 -1
- package/dist/modules/splitting/BalancedPixelWidthLineSplitter.js +5 -7
- package/dist/modules/splitting/BalancedPixelWidthLineSplitter.js.map +1 -1
- package/dist/modules/splitting/DomProbeCanvasTextMeasurer.d.ts +16 -7
- package/dist/modules/splitting/DomProbeCanvasTextMeasurer.d.ts.map +1 -1
- package/dist/modules/splitting/DomProbeCanvasTextMeasurer.js +44 -33
- package/dist/modules/splitting/DomProbeCanvasTextMeasurer.js.map +1 -1
- package/dist/modules/splitting/TextMeasurer.d.ts +9 -4
- package/dist/modules/splitting/TextMeasurer.d.ts.map +1 -1
- package/dist/modules/svg-filter/SvgFilter.d.ts +9 -0
- package/dist/modules/svg-filter/SvgFilter.d.ts.map +1 -1
- package/dist/modules/svg-filter/SvgFilter.js +17 -0
- package/dist/modules/svg-filter/SvgFilter.js.map +1 -1
- package/dist/modules/svg-filter/SvgFilterDefinitions.d.ts +7 -0
- package/dist/modules/svg-filter/SvgFilterDefinitions.d.ts.map +1 -1
- package/dist/modules/svg-filter/SvgFilterDefinitions.js +17 -0
- package/dist/modules/svg-filter/SvgFilterDefinitions.js.map +1 -1
- package/dist/modules/tagging/RegexTagger.js +1 -2
- package/dist/modules/tagging/RegexTagger.js.map +1 -1
- package/dist/modules/tagging/SpanTagger.js +1 -2
- package/dist/modules/tagging/SpanTagger.js.map +1 -1
- package/dist/modules/tagging/StructureTagger.js +1 -2
- package/dist/modules/tagging/StructureTagger.js.map +1 -1
- package/dist/modules/tagging/WordlistTagger.js +1 -2
- package/dist/modules/tagging/WordlistTagger.js.map +1 -1
- package/dist/modules/transcription/AudioSegmentLayout.d.ts +23 -0
- package/dist/modules/transcription/AudioSegmentLayout.d.ts.map +1 -0
- package/dist/modules/transcription/AudioSegmentLayout.js +40 -0
- package/dist/modules/transcription/AudioSegmentLayout.js.map +1 -0
- package/dist/modules/transcription/FallbackAudioDecoder.d.ts +25 -0
- package/dist/modules/transcription/FallbackAudioDecoder.d.ts.map +1 -0
- package/dist/modules/transcription/FallbackAudioDecoder.js +46 -0
- package/dist/modules/transcription/FallbackAudioDecoder.js.map +1 -0
- package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.d.ts +71 -0
- package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.d.ts.map +1 -0
- package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.js +145 -0
- package/dist/modules/transcription/MediaBunnyAudioOnlyRemuxer.js.map +1 -0
- package/dist/modules/transcription/WebAudioAudioDecoder.d.ts +46 -0
- package/dist/modules/transcription/WebAudioAudioDecoder.d.ts.map +1 -0
- package/dist/modules/transcription/WebAudioAudioDecoder.js +123 -0
- package/dist/modules/transcription/WebAudioAudioDecoder.js.map +1 -0
- package/dist/modules/transcription/index.d.ts +4 -0
- package/dist/modules/transcription/index.d.ts.map +1 -1
- package/dist/modules/transcription/index.js +3 -0
- package/dist/modules/transcription/index.js.map +1 -1
- package/dist/modules/video/RenderJob.d.ts +23 -0
- package/dist/modules/video/RenderJob.d.ts.map +1 -1
- package/dist/modules/video/index.d.ts +5 -3
- package/dist/modules/video/index.d.ts.map +1 -1
- package/dist/modules/video/index.js +2 -0
- package/dist/modules/video/index.js.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts +33 -1
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +97 -20
- package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js +1 -0
- package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js.map +1 -1
- package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.d.ts +20 -9
- package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.js +56 -14
- package/dist/modules/video/mediabunny/caption/BatchedSubtitleLayerSource.js.map +1 -1
- package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.d.ts +29 -10
- package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.js +48 -17
- package/dist/modules/video/mediabunny/caption/ComposedSubtitleLayerSource.js.map +1 -1
- package/dist/modules/video/mediabunny/caption/SubtitleLayerSource.d.ts +28 -11
- package/dist/modules/video/mediabunny/caption/SubtitleLayerSource.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.d.ts +33 -12
- package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.js +53 -18
- package/dist/modules/video/mediabunny/caption/VideoBoundSubtitleLayerSource.js.map +1 -1
- package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.js +7 -3
- package/dist/modules/video/mediabunny/encoder/MediaBunnyCanvasVideoTrackEncoder.js.map +1 -1
- package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.d.ts +45 -0
- package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.js +93 -0
- package/dist/modules/video/mediabunny/frame/BufferedVideoFrameSource.js.map +1 -0
- package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.js +3 -1
- package/dist/modules/video/mediabunny/frame/DefaultVideoFrameDecoderFactory.js.map +1 -1
- package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.d.ts +26 -0
- package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.js +55 -0
- package/dist/modules/video/mediabunny/frame/RetainedVideoFrame.js.map +1 -0
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderFactory.d.ts +6 -1
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderFactory.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.d.ts +14 -0
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.js +14 -0
- package/dist/modules/video/mediabunny/frame/VideoFrameDecoderSelectionFailedError.js.map +1 -0
- package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.d.ts +16 -0
- package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.d.ts.map +1 -0
- package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.js +23 -0
- package/dist/modules/video/mediabunny/frame/WebCodecsOnlyVideoFrameDecoderFactory.js.map +1 -0
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts +9 -3
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts.map +1 -1
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +24 -7
- package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -1
- package/dist/modules/video/mediabunny/painter/FramePainter.d.ts +35 -14
- package/dist/modules/video/mediabunny/painter/FramePainter.d.ts.map +1 -1
- package/package.json +4 -1
- package/dist/modules/rendering/subtitle/AbstractAnim.d.ts +0 -13
- package/dist/modules/rendering/subtitle/AbstractAnim.d.ts.map +0 -1
- package/dist/modules/rendering/subtitle/AbstractAnim.js +0 -2
- package/dist/modules/rendering/subtitle/AbstractAnim.js.map +0 -1
- package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +0 -39
- package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +0 -1
- package/dist/modules/rendering/subtitle/AnimationProbe.js +0 -203
- package/dist/modules/rendering/subtitle/AnimationProbe.js.map +0 -1
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts +0 -17
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts.map +0 -1
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js +0 -58
- package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js.map +0 -1
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +0 -27
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +0 -1
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js +0 -84
- package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js.map +0 -1
|
@@ -19,10 +19,7 @@ export declare class BalancedPixelWidthLineSplitter implements LineSplitter {
|
|
|
19
19
|
constructor(_config: BalancedPixelWidthLineSplitterConfig, _measurer: TextMeasurer);
|
|
20
20
|
split(segments: ReadonlyArray<Segment>): Segment[];
|
|
21
21
|
private buildMeasurements;
|
|
22
|
-
/**
|
|
23
|
-
* Width of `words[a..b]` (inclusive, in original segment indices) rendered
|
|
24
|
-
* alone on a line: sum of word widths plus one inter-word gap per pair.
|
|
25
|
-
*/
|
|
22
|
+
/** Width of `words[a..b]` (inclusive, in original segment indices) rendered alone on a line. */
|
|
26
23
|
private rangeWidth;
|
|
27
24
|
private buildLines;
|
|
28
25
|
private splitRecursive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalancedPixelWidthLineSplitter.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/BalancedPixelWidthLineSplitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"BalancedPixelWidthLineSplitter.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/BalancedPixelWidthLineSplitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgBD;;;;;;GAMG;AACH,qBAAa,8BAA+B,YAAW,YAAY;IAE/D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,OAAO,EAAE,oCAAoC,EAC7C,SAAS,EAAE,YAAY;IAG1C,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE;IAWlD,OAAO,CAAC,iBAAiB;IAUzB,gGAAgG;IAChG,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;CAiBzB"}
|
|
@@ -28,16 +28,14 @@ export class BalancedPixelWidthLineSplitter {
|
|
|
28
28
|
const prefixSums = new Array(words.length + 1);
|
|
29
29
|
prefixSums[0] = 0;
|
|
30
30
|
for (let i = 0; i < words.length; i++) {
|
|
31
|
-
|
|
31
|
+
const word = words[i];
|
|
32
|
+
prefixSums[i + 1] = prefixSums[i] + this._measurer.measure(word.text, word.getTagCssClasses());
|
|
32
33
|
}
|
|
33
|
-
return { wordWidthPrefixSums: prefixSums
|
|
34
|
+
return { wordWidthPrefixSums: prefixSums };
|
|
34
35
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Width of `words[a..b]` (inclusive, in original segment indices) rendered
|
|
37
|
-
* alone on a line: sum of word widths plus one inter-word gap per pair.
|
|
38
|
-
*/
|
|
36
|
+
/** Width of `words[a..b]` (inclusive, in original segment indices) rendered alone on a line. */
|
|
39
37
|
rangeWidth(m, a, b) {
|
|
40
|
-
return m.wordWidthPrefixSums[b + 1] - m.wordWidthPrefixSums[a]
|
|
38
|
+
return m.wordWidthPrefixSums[b + 1] - m.wordWidthPrefixSums[a];
|
|
41
39
|
}
|
|
42
40
|
buildLines(words, m) {
|
|
43
41
|
const { maxLines } = this._config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalancedPixelWidthLineSplitter.js","sourceRoot":"","sources":["../../../src/modules/splitting/BalancedPixelWidthLineSplitter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"BalancedPixelWidthLineSplitter.js","sourceRoot":"","sources":["../../../src/modules/splitting/BalancedPixelWidthLineSplitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,15 +19,24 @@ export interface DomProbeCanvasTextMeasurerParams {
|
|
|
19
19
|
* `@font-face` blocks are stripped from `css` before injection: re-applying
|
|
20
20
|
* them resets `document.fonts.status` to 'loading'.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* Typography is resolved per set of classes the measured run carries, since
|
|
23
|
+
* a stylesheet is free to size `.emphasis` differently from a plain word.
|
|
24
|
+
* Repeated resolutions of the same `(css, cssVars, container size, classes)`
|
|
25
|
+
* reuse a module-level cache and touch no DOM.
|
|
25
26
|
*/
|
|
26
27
|
export declare class DomProbeCanvasTextMeasurer implements TextMeasurer {
|
|
27
|
-
private readonly
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
private readonly _params;
|
|
29
|
+
private readonly _css;
|
|
30
|
+
private readonly _signature;
|
|
31
|
+
constructor(_params: DomProbeCanvasTextMeasurerParams);
|
|
32
|
+
measure(text: string, cssClasses: ReadonlyArray<string>): number;
|
|
33
|
+
/**
|
|
34
|
+
* The typography a run carrying `cssClasses` resolves to.
|
|
35
|
+
*
|
|
36
|
+
* Order is not part of the identity — the same classes in another order
|
|
37
|
+
* cascade the same and must not probe twice.
|
|
38
|
+
*/
|
|
39
|
+
private typographyFor;
|
|
31
40
|
private probe;
|
|
32
41
|
private signatureOf;
|
|
33
42
|
private ensureProbe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomProbeCanvasTextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/DomProbeCanvasTextMeasurer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAMpE,MAAM,WAAW,gCAAgC;IAC/C,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"DomProbeCanvasTextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/DomProbeCanvasTextMeasurer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAMpE,MAAM,WAAW,gCAAgC;IAC/C,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;CACzB;AAqCD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAIjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAEP,OAAO,EAAE,gCAAgC;IAKtE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;IAehE;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,OAAO;IAOf;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,mBAAmB;IAO3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,cAAc;CAQvB"}
|
|
@@ -18,9 +18,11 @@ let _appliedCss = null;
|
|
|
18
18
|
let _appliedWidth = null;
|
|
19
19
|
let _appliedHeight = null;
|
|
20
20
|
let _appliedCssVars = new Map();
|
|
21
|
-
// Resolved typography keyed by the `(css, size, cssVars)` signature
|
|
22
|
-
// produced it. Cache hits skip the probe entirely — no DOM writes, no
|
|
23
|
-
// `getComputedStyle`, no style flush.
|
|
21
|
+
// Resolved typography keyed by the `(css, size, cssVars, classes)` signature
|
|
22
|
+
// that produced it. Cache hits skip the probe entirely — no DOM writes, no
|
|
23
|
+
// `getComputedStyle`, no style flush. A caption reaches a handful of distinct
|
|
24
|
+
// class sets at most, so the per-set entries stay a rounding error next to the
|
|
25
|
+
// per-word measuring they spare from being wrong.
|
|
24
26
|
const _typographyCache = new Map();
|
|
25
27
|
/**
|
|
26
28
|
* Resolves text width by reading typography from a persistent
|
|
@@ -32,42 +34,53 @@ const _typographyCache = new Map();
|
|
|
32
34
|
* `@font-face` blocks are stripped from `css` before injection: re-applying
|
|
33
35
|
* them resets `document.fonts.status` to 'loading'.
|
|
34
36
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* Typography is resolved per set of classes the measured run carries, since
|
|
38
|
+
* a stylesheet is free to size `.emphasis` differently from a plain word.
|
|
39
|
+
* Repeated resolutions of the same `(css, cssVars, container size, classes)`
|
|
40
|
+
* reuse a module-level cache and touch no DOM.
|
|
38
41
|
*/
|
|
39
42
|
export class DomProbeCanvasTextMeasurer {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
this._typography = this.probe(css, params);
|
|
50
|
-
_typographyCache.set(signature, this._typography);
|
|
43
|
+
_params;
|
|
44
|
+
_css;
|
|
45
|
+
_signature;
|
|
46
|
+
constructor(_params) {
|
|
47
|
+
this._params = _params;
|
|
48
|
+
this._css = _params.css.replace(/@font-face[^{]*\{[^}]*\}/g, '');
|
|
49
|
+
this._signature = this.signatureOf(this._css, _params);
|
|
51
50
|
}
|
|
52
|
-
measure(text) {
|
|
53
|
-
const
|
|
51
|
+
measure(text, cssClasses) {
|
|
52
|
+
const typography = this.typographyFor(cssClasses);
|
|
53
|
+
const t = this.applyTransform(text, typography.textTransform);
|
|
54
54
|
const cctx = this.ensureCanvasContext();
|
|
55
|
-
cctx.font =
|
|
55
|
+
cctx.font = typography.font;
|
|
56
|
+
// Letter spacing lands after every character, the last one included, so
|
|
57
|
+
// the run is one gap wider than the gaps *between* its letters.
|
|
56
58
|
return (cctx.measureText(t).width +
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
t.length * typography.letterSpacingPx +
|
|
60
|
+
typography.paddingX +
|
|
61
|
+
typography.marginX);
|
|
60
62
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
/**
|
|
64
|
+
* The typography a run carrying `cssClasses` resolves to.
|
|
65
|
+
*
|
|
66
|
+
* Order is not part of the identity — the same classes in another order
|
|
67
|
+
* cascade the same and must not probe twice.
|
|
68
|
+
*/
|
|
69
|
+
typographyFor(cssClasses) {
|
|
70
|
+
const key = `${this._signature}|${[...cssClasses].sort().join('.')}`;
|
|
71
|
+
const cached = _typographyCache.get(key);
|
|
72
|
+
if (cached)
|
|
73
|
+
return cached;
|
|
74
|
+
const resolved = this.probe(cssClasses);
|
|
75
|
+
_typographyCache.set(key, resolved);
|
|
76
|
+
return resolved;
|
|
65
77
|
}
|
|
66
|
-
probe(
|
|
78
|
+
probe(cssClasses) {
|
|
67
79
|
const probe = this.ensureProbe();
|
|
68
|
-
this.syncContainerSize(probe.container,
|
|
69
|
-
this.syncCss(
|
|
70
|
-
this.syncCssVars(probe.container,
|
|
80
|
+
this.syncContainerSize(probe.container, this._params.containerWidth, this._params.containerHeight);
|
|
81
|
+
this.syncCss(this._css);
|
|
82
|
+
this.syncCssVars(probe.container, this._params.cssVars);
|
|
83
|
+
probe.word.className = [Word.CSS_CLASS, LineState.NOT_NARRATED_YET, ...cssClasses].join(' ');
|
|
71
84
|
const cs = getComputedStyle(probe.word);
|
|
72
85
|
const fontStyle = this.requireValue(cs.fontStyle, 'font-style');
|
|
73
86
|
const fontWeight = this.requireValue(cs.fontWeight, 'font-weight');
|
|
@@ -76,7 +89,6 @@ export class DomProbeCanvasTextMeasurer {
|
|
|
76
89
|
return {
|
|
77
90
|
font: `${fontStyle} ${fontWeight} ${fontSize} ${fontFamily}`,
|
|
78
91
|
letterSpacingPx: this.parsePx(cs.letterSpacing),
|
|
79
|
-
wordSpacingPx: this.parsePx(cs.wordSpacing),
|
|
80
92
|
paddingX: this.parsePx(cs.paddingLeft) + this.parsePx(cs.paddingRight),
|
|
81
93
|
marginX: this.parsePx(cs.marginLeft) + this.parsePx(cs.marginRight),
|
|
82
94
|
textTransform: this.normalizeTextTransform(cs.textTransform),
|
|
@@ -106,7 +118,6 @@ export class DomProbeCanvasTextMeasurer {
|
|
|
106
118
|
lineEl.className = `${Line.CSS_CLASS} ${LineState.NOT_NARRATED_YET}`;
|
|
107
119
|
this.pinAnimations(lineEl);
|
|
108
120
|
_word = document.createElement('span');
|
|
109
|
-
_word.className = `${Word.CSS_CLASS} ${LineState.NOT_NARRATED_YET}`;
|
|
110
121
|
_word.textContent = 'M';
|
|
111
122
|
this.pinAnimations(_word);
|
|
112
123
|
lineEl.appendChild(_word);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomProbeCanvasTextMeasurer.js","sourceRoot":"","sources":["../../../src/modules/splitting/DomProbeCanvasTextMeasurer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DomProbeCanvasTextMeasurer.js","sourceRoot":"","sources":["../../../src/modules/splitting/DomProbeCanvasTextMeasurer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,14 @@
|
|
|
7
7
|
* can recover from CSS alone.
|
|
8
8
|
*/
|
|
9
9
|
export interface TextMeasurer {
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Width of `text` rendered as a single inline run, in px.
|
|
12
|
+
*
|
|
13
|
+
* `cssClasses` are the classes the run will carry beyond the word's own,
|
|
14
|
+
* which is what a stylesheet sizing some words differently keys off. Pass
|
|
15
|
+
* them or a word a template grows is measured at the size of one it
|
|
16
|
+
* leaves alone.
|
|
17
|
+
*/
|
|
18
|
+
measure(text: string, cssClasses: ReadonlyArray<string>): number;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=TextMeasurer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/TextMeasurer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B
|
|
1
|
+
{"version":3,"file":"TextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/modules/splitting/TextMeasurer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CAClE"}
|
|
@@ -17,7 +17,16 @@ export declare class SvgFilter {
|
|
|
17
17
|
readonly id: string;
|
|
18
18
|
readonly attributes: ReadonlyMap<string, string>;
|
|
19
19
|
private readonly source;
|
|
20
|
+
private readonly referencedVariables;
|
|
20
21
|
constructor(id: string, attributes: ReadonlyMap<string, string>, source: string);
|
|
22
|
+
/**
|
|
23
|
+
* Custom property names the body reads, so a caller can describe the
|
|
24
|
+
* scope this filter is sensitive to without materializing it. Read
|
|
25
|
+
* with the same pattern `materialize` substitutes on, which is what
|
|
26
|
+
* keeps the two answers about the same set of names.
|
|
27
|
+
*/
|
|
28
|
+
get variableNames(): ReadonlySet<string>;
|
|
21
29
|
materialize(scope: SvgFilterScope): string;
|
|
30
|
+
private static scanVariableNames;
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=SvgFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgFilter.d.ts","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAIzE;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"SvgFilter.d.ts","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAIzE;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IAIlB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;gBAG/C,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,EAAE,MAAM;IAKjC;;;;;OAKG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,MAAM,CAAC,CAEvC;IAED,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IAS1C,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAKjC"}
|
|
@@ -17,10 +17,21 @@ export class SvgFilter {
|
|
|
17
17
|
id;
|
|
18
18
|
attributes;
|
|
19
19
|
source;
|
|
20
|
+
referencedVariables;
|
|
20
21
|
constructor(id, attributes, source) {
|
|
21
22
|
this.id = id;
|
|
22
23
|
this.attributes = attributes;
|
|
23
24
|
this.source = source;
|
|
25
|
+
this.referencedVariables = SvgFilter.scanVariableNames(source);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom property names the body reads, so a caller can describe the
|
|
29
|
+
* scope this filter is sensitive to without materializing it. Read
|
|
30
|
+
* with the same pattern `materialize` substitutes on, which is what
|
|
31
|
+
* keeps the two answers about the same set of names.
|
|
32
|
+
*/
|
|
33
|
+
get variableNames() {
|
|
34
|
+
return this.referencedVariables;
|
|
24
35
|
}
|
|
25
36
|
materialize(scope) {
|
|
26
37
|
return this.source.replace(VAR_REF_RE, (match, name, fallback) => {
|
|
@@ -32,5 +43,11 @@ export class SvgFilter {
|
|
|
32
43
|
return match;
|
|
33
44
|
});
|
|
34
45
|
}
|
|
46
|
+
static scanVariableNames(source) {
|
|
47
|
+
const names = new Set();
|
|
48
|
+
for (const reference of source.matchAll(VAR_REF_RE))
|
|
49
|
+
names.add(reference[1]);
|
|
50
|
+
return names;
|
|
51
|
+
}
|
|
35
52
|
}
|
|
36
53
|
//# sourceMappingURL=SvgFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgFilter.js","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,+DAA+D,CAAC;AAEnF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"SvgFilter.js","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,+DAA+D,CAAC;AAEnF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,SAAS;IAIT;IACA;IACQ;IALF,mBAAmB,CAAsB;IAE1D,YACW,EAAU,EACV,UAAuC,EAC/B,MAAc;QAFtB,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAA6B;QAC/B,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,KAAqB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,MAAc;QAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -7,8 +7,15 @@ import type { SvgFilter } from '../svg-filter/SvgFilter';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class SvgFilterDefinitions {
|
|
9
9
|
private readonly _filters;
|
|
10
|
+
private sortedVariableNames;
|
|
10
11
|
static empty(): SvgFilterDefinitions;
|
|
11
12
|
constructor(_filters: ReadonlyArray<SvgFilter>);
|
|
13
|
+
/**
|
|
14
|
+
* Every custom property name these bodies read, sorted, so two
|
|
15
|
+
* scopes can be compared over the names that matter to this set and
|
|
16
|
+
* in a stable order. Computed on first use and kept.
|
|
17
|
+
*/
|
|
18
|
+
variableNames(): ReadonlyArray<string>;
|
|
12
19
|
get filters(): ReadonlyArray<SvgFilter>;
|
|
13
20
|
get ids(): ReadonlySet<string>;
|
|
14
21
|
isEmpty(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgFilterDefinitions.d.ts","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilterDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"SvgFilterDefinitions.d.ts","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilterDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,oBAAoB;IAOnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,OAAO,CAAC,mBAAmB,CAAsC;IAEjE,MAAM,CAAC,KAAK,IAAI,oBAAoB;gBAIP,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC;IAE/D;;;;OAIG;IACH,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC;IAWtC,IAAI,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAEtC;IAED,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAE7B;IAED,OAAO,IAAI,OAAO;CAGnB"}
|
|
@@ -6,12 +6,29 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export class SvgFilterDefinitions {
|
|
8
8
|
_filters;
|
|
9
|
+
sortedVariableNames = null;
|
|
9
10
|
static empty() {
|
|
10
11
|
return new SvgFilterDefinitions([]);
|
|
11
12
|
}
|
|
12
13
|
constructor(_filters) {
|
|
13
14
|
this._filters = _filters;
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Every custom property name these bodies read, sorted, so two
|
|
18
|
+
* scopes can be compared over the names that matter to this set and
|
|
19
|
+
* in a stable order. Computed on first use and kept.
|
|
20
|
+
*/
|
|
21
|
+
variableNames() {
|
|
22
|
+
if (this.sortedVariableNames === null) {
|
|
23
|
+
const names = new Set();
|
|
24
|
+
for (const filter of this._filters) {
|
|
25
|
+
for (const name of filter.variableNames)
|
|
26
|
+
names.add(name);
|
|
27
|
+
}
|
|
28
|
+
this.sortedVariableNames = [...names].sort();
|
|
29
|
+
}
|
|
30
|
+
return this.sortedVariableNames;
|
|
31
|
+
}
|
|
15
32
|
get filters() {
|
|
16
33
|
return this._filters;
|
|
17
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SvgFilterDefinitions.js","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilterDefinitions.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;
|
|
1
|
+
{"version":3,"file":"SvgFilterDefinitions.js","sourceRoot":"","sources":["../../../src/modules/svg-filter/SvgFilterDefinitions.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAOF;IANrB,mBAAmB,GAAiC,IAAI,CAAC;IAEjE,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAA6B,QAAkC;QAAlC,aAAQ,GAAR,QAAQ,CAA0B;IAAG,CAAC;IAEnE;;;;OAIG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;YAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa;oBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Tagger } from '../tagging/Tagger';
|
|
2
|
-
import { Line } from '../document/Line';
|
|
3
2
|
import { Tag } from '../tags/Tag';
|
|
4
3
|
// Tags words whose text matches a given regular expression.
|
|
5
4
|
export class RegexTagger extends Tagger {
|
|
@@ -26,7 +25,7 @@ export class RegexTagger extends Tagger {
|
|
|
26
25
|
const newSemanticTags = new Set([...word.semanticTags, Tag.of(this.tagName)]);
|
|
27
26
|
return word.with({ semanticTags: newSemanticTags });
|
|
28
27
|
});
|
|
29
|
-
return
|
|
28
|
+
return line.with({ words });
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
//# sourceMappingURL=RegexTagger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegexTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/RegexTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"RegexTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/RegexTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,4DAA4D;AAC5D,MAAM,OAAO,WAAY,SAAQ,MAAM;IAIlB;IAHF,KAAK,CAAS;IAE/B,YACmB,OAAe,EAChC,OAAwB,EACxB,KAAc;QAEd,KAAK,EAAE,CAAC;QAJS,YAAO,GAAP,OAAO,CAAQ;QAKhC,IAAI,CAAC,KAAK;YACR,OAAO,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,GAAG,CAAC,QAAkB;QACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CACxF,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,UAAU,CAAC,OAAgB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAEO,OAAO,CAAC,IAAU;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Tagger } from '../tagging/Tagger';
|
|
2
|
-
import { Line } from '../document/Line';
|
|
3
2
|
import { Tag } from '../tags/Tag';
|
|
4
3
|
/**
|
|
5
4
|
* Tags every word that falls inside a span delimited by two
|
|
@@ -63,7 +62,7 @@ export class SpanTagger extends Tagger {
|
|
|
63
62
|
}
|
|
64
63
|
rebuildLine(line, taggedWords) {
|
|
65
64
|
const words = line.words.map((word) => taggedWords.has(word) ? this.withTag(word) : word);
|
|
66
|
-
return
|
|
65
|
+
return line.with({ words });
|
|
67
66
|
}
|
|
68
67
|
withTag(word) {
|
|
69
68
|
const semanticTags = new Set([...word.semanticTags, Tag.of(this.tagName)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/SpanTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SpanTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/SpanTagger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Tagger } from '../tagging/Tagger';
|
|
2
|
-
import { Line } from '../document/Line';
|
|
3
2
|
import { Tag } from '../tags/Tag';
|
|
4
3
|
import { StructureTag } from '../tags/StructureTag';
|
|
5
4
|
/**
|
|
@@ -51,7 +50,7 @@ export class StructureTagger extends Tagger {
|
|
|
51
50
|
if (sectionLineIdx === sectionLines.length - 1)
|
|
52
51
|
tags.add(Tag.of(StructureTag.LAST_LINE_IN_SECTION));
|
|
53
52
|
const taggedWords = line.words.map((word, wordIdx) => this.tagWord(word, wordIdx, line.words.length, segmentWords, sectionWords));
|
|
54
|
-
return
|
|
53
|
+
return line.with({ words: taggedWords, structureTags: tags });
|
|
55
54
|
}
|
|
56
55
|
tagWord(word, wordIdx, totalInLine, segmentWords, sectionWords) {
|
|
57
56
|
const tags = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructureTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/StructureTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"StructureTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/StructureTagger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Tagger } from '../tagging/Tagger';
|
|
2
|
-
import { Line } from '../document/Line';
|
|
3
2
|
import { Tag } from '../tags/Tag';
|
|
4
3
|
// Tags words that appear in a predefined word list (case-insensitive).
|
|
5
4
|
export class WordlistTagger extends Tagger {
|
|
@@ -25,7 +24,7 @@ export class WordlistTagger extends Tagger {
|
|
|
25
24
|
const newSemanticTags = new Set([...word.semanticTags, Tag.of(this.tagName)]);
|
|
26
25
|
return word.with({ semanticTags: newSemanticTags });
|
|
27
26
|
});
|
|
28
|
-
return
|
|
27
|
+
return line.with({ words });
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
//# sourceMappingURL=WordlistTagger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WordlistTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/WordlistTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"WordlistTagger.js","sourceRoot":"","sources":["../../../src/modules/tagging/WordlistTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,uEAAuE;AACvE,MAAM,OAAO,cAAe,SAAQ,MAAM;IAIrB;IAHF,OAAO,CAAc;IAEtC,YACmB,OAAe,EAChC,KAAe;QAEf,KAAK,EAAE,CAAC;QAHS,YAAO,GAAP,OAAO,CAAQ;QAIhC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,GAAG,CAAC,QAAkB;QACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CACxF,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,UAAU,CAAC,OAAgB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAEO,OAAO,CAAC,IAAU;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the segments of a track begin and end, on the source's own
|
|
3
|
+
* timeline. Each is trusted over one stretch of `segmentSeconds`
|
|
4
|
+
* counted from zero and reaches `marginSeconds` past it at both ends,
|
|
5
|
+
* so its edge frames have the neighbours a codec reconstructs them
|
|
6
|
+
* from.
|
|
7
|
+
*
|
|
8
|
+
* `segmentSeconds` of `Infinity` describes one segment covering
|
|
9
|
+
* everything.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AudioSegmentLayout {
|
|
12
|
+
private readonly segmentSeconds;
|
|
13
|
+
private readonly marginSeconds;
|
|
14
|
+
constructor(segmentSeconds: number, marginSeconds: number);
|
|
15
|
+
/** Timestamp from which the segment collects packets. */
|
|
16
|
+
collectsFrom(index: number): number;
|
|
17
|
+
/** Timestamp from which the segment's samples are a faithful decode. */
|
|
18
|
+
usableFrom(index: number): number;
|
|
19
|
+
/** Timestamp at which the segment stops collecting packets. */
|
|
20
|
+
endsAt(index: number): number;
|
|
21
|
+
private boundary;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=AudioSegmentLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioSegmentLayout.d.ts","sourceRoot":"","sources":["../../../src/modules/transcription/AudioSegmentLayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM;IAGxC,yDAAyD;IACzD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKnC,wEAAwE;IACxE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjC,+DAA+D;IAC/D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7B,OAAO,CAAC,QAAQ;CAMjB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the segments of a track begin and end, on the source's own
|
|
3
|
+
* timeline. Each is trusted over one stretch of `segmentSeconds`
|
|
4
|
+
* counted from zero and reaches `marginSeconds` past it at both ends,
|
|
5
|
+
* so its edge frames have the neighbours a codec reconstructs them
|
|
6
|
+
* from.
|
|
7
|
+
*
|
|
8
|
+
* `segmentSeconds` of `Infinity` describes one segment covering
|
|
9
|
+
* everything.
|
|
10
|
+
*/
|
|
11
|
+
export class AudioSegmentLayout {
|
|
12
|
+
segmentSeconds;
|
|
13
|
+
marginSeconds;
|
|
14
|
+
constructor(segmentSeconds, marginSeconds) {
|
|
15
|
+
this.segmentSeconds = segmentSeconds;
|
|
16
|
+
this.marginSeconds = marginSeconds;
|
|
17
|
+
}
|
|
18
|
+
/** Timestamp from which the segment collects packets. */
|
|
19
|
+
collectsFrom(index) {
|
|
20
|
+
if (index === 0)
|
|
21
|
+
return -Infinity;
|
|
22
|
+
return this.boundary(index) - this.marginSeconds;
|
|
23
|
+
}
|
|
24
|
+
/** Timestamp from which the segment's samples are a faithful decode. */
|
|
25
|
+
usableFrom(index) {
|
|
26
|
+
return this.boundary(index);
|
|
27
|
+
}
|
|
28
|
+
/** Timestamp at which the segment stops collecting packets. */
|
|
29
|
+
endsAt(index) {
|
|
30
|
+
return this.boundary(index + 1) + this.marginSeconds;
|
|
31
|
+
}
|
|
32
|
+
boundary(index) {
|
|
33
|
+
// Spelled out because `0 * Infinity` is NaN, and an unsegmented
|
|
34
|
+
// layout is exactly the case where that happens.
|
|
35
|
+
if (index === 0)
|
|
36
|
+
return 0;
|
|
37
|
+
return index * this.segmentSeconds;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=AudioSegmentLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioSegmentLayout.js","sourceRoot":"","sources":["../../../src/modules/transcription/AudioSegmentLayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAkB;IAGV;IACA;IAFnB,YACmB,cAAsB,EACtB,aAAqB;QADrB,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IACrC,CAAC;IAEJ,yDAAyD;IACzD,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;IACnD,CAAC;IAED,wEAAwE;IACxE,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;IACvD,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,gEAAgE;QAChE,iDAAiD;QACjD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;IACrC,CAAC;CACF"}
|