@editframe/elements 0.47.2 → 0.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DelayedLoadingState.js +1 -1
- package/dist/DelayedLoadingState.js.map +1 -1
- package/dist/EF_FRAMEGEN.js +1 -2
- package/dist/EF_FRAMEGEN.js.map +1 -1
- package/dist/EF_RENDERING.js +1 -1
- package/dist/EF_RENDERING.js.map +1 -1
- package/dist/_virtual/{_@oxc-project_runtime@0.95.0 → _@oxc-project_runtime@0.122.0}/helpers/decorate.js +2 -3
- package/dist/attachContextRoot.js +1 -2
- package/dist/attachContextRoot.js.map +1 -1
- package/dist/canvas/EFCanvas.d.ts +4 -7
- package/dist/canvas/EFCanvas.js +20 -21
- package/dist/canvas/EFCanvas.js.map +1 -1
- package/dist/canvas/EFCanvasItem.d.ts +4 -5
- package/dist/canvas/EFCanvasItem.js +3 -4
- package/dist/canvas/EFCanvasItem.js.map +1 -1
- package/dist/canvas/api/CanvasAPI.d.ts +0 -1
- package/dist/canvas/api/CanvasAPI.js +1 -1
- package/dist/canvas/api/CanvasAPI.js.map +1 -1
- package/dist/canvas/coordinateTransform.js +1 -1
- package/dist/canvas/coordinateTransform.js.map +1 -1
- package/dist/canvas/getElementBounds.js +1 -1
- package/dist/canvas/getElementBounds.js.map +1 -1
- package/dist/canvas/overlays/SelectionOverlay.d.ts +4 -4
- package/dist/canvas/overlays/SelectionOverlay.js +6 -7
- package/dist/canvas/overlays/SelectionOverlay.js.map +1 -1
- package/dist/canvas/overlays/overlayState.js +1 -2
- package/dist/canvas/overlays/overlayState.js.map +1 -1
- package/dist/canvas/selection/SelectionController.js +1 -2
- package/dist/canvas/selection/SelectionController.js.map +1 -1
- package/dist/canvas/selection/SelectionModel.d.ts +0 -1
- package/dist/canvas/selection/SelectionModel.js +1 -1
- package/dist/canvas/selection/SelectionModel.js.map +1 -1
- package/dist/canvas/selection/selectionContext.d.ts +0 -1
- package/dist/canvas/selection/selectionContext.js +1 -2
- package/dist/canvas/selection/selectionContext.js.map +1 -1
- package/dist/elements/ContainerInfo.js +1 -1
- package/dist/elements/ContainerInfo.js.map +1 -1
- package/dist/elements/CrossUpdateController.js +1 -1
- package/dist/elements/CrossUpdateController.js.map +1 -1
- package/dist/elements/EFAudio.d.ts +4 -4
- package/dist/elements/EFAudio.js +4 -6
- package/dist/elements/EFAudio.js.map +1 -1
- package/dist/elements/EFCaptions.d.ts +4 -4
- package/dist/elements/EFCaptions.js +8 -10
- package/dist/elements/EFCaptions.js.map +1 -1
- package/dist/elements/EFImage.d.ts +7 -7
- package/dist/elements/EFImage.js +4 -6
- package/dist/elements/EFImage.js.map +1 -1
- package/dist/elements/EFMedia/BufferedSeekingInput.d.ts +2 -2
- package/dist/elements/EFMedia/BufferedSeekingInput.js +8 -9
- package/dist/elements/EFMedia/BufferedSeekingInput.js.map +1 -1
- package/dist/elements/EFMedia/CachedFetcher.js +1 -2
- package/dist/elements/EFMedia/CachedFetcher.js.map +1 -1
- package/dist/elements/EFMedia/MediaEngine.d.ts +0 -2
- package/dist/elements/EFMedia/MediaEngine.js +1 -2
- package/dist/elements/EFMedia/MediaEngine.js.map +1 -1
- package/dist/elements/EFMedia/SegmentIndex.d.ts +0 -3
- package/dist/elements/EFMedia/SegmentIndex.js +1 -2
- package/dist/elements/EFMedia/SegmentIndex.js.map +1 -1
- package/dist/elements/EFMedia/SegmentTransport.d.ts +0 -2
- package/dist/elements/EFMedia/SegmentTransport.js +1 -1
- package/dist/elements/EFMedia/SegmentTransport.js.map +1 -1
- package/dist/elements/EFMedia/TimingModel.d.ts +0 -2
- package/dist/elements/EFMedia/TimingModel.js +1 -1
- package/dist/elements/EFMedia/TimingModel.js.map +1 -1
- package/dist/elements/EFMedia/shared/AudioSpanUtils.js +1 -1
- package/dist/elements/EFMedia/shared/AudioSpanUtils.js.map +1 -1
- package/dist/elements/EFMedia/shared/GlobalInputCache.js +1 -2
- package/dist/elements/EFMedia/shared/GlobalInputCache.js.map +1 -1
- package/dist/elements/EFMedia/shared/PrecisionUtils.js +1 -1
- package/dist/elements/EFMedia/shared/PrecisionUtils.js.map +1 -1
- package/dist/elements/EFMedia/shared/ThumbnailExtractor.js +1 -2
- package/dist/elements/EFMedia/shared/ThumbnailExtractor.js.map +1 -1
- package/dist/elements/EFMedia/shared/timeoutUtils.js +1 -2
- package/dist/elements/EFMedia/shared/timeoutUtils.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js +1 -1
- package/dist/elements/EFMedia/videoTasks/MainVideoInputCache.js.map +1 -1
- package/dist/elements/EFMedia/videoTasks/ScrubInputCache.d.ts +0 -1
- package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js +12 -12
- package/dist/elements/EFMedia/videoTasks/ScrubInputCache.js.map +1 -1
- package/dist/elements/EFMedia.d.ts +2 -2
- package/dist/elements/EFMedia.js +2 -3
- package/dist/elements/EFMedia.js.map +1 -1
- package/dist/elements/EFMotionBlur.d.ts +0 -1
- package/dist/elements/EFMotionBlur.js +8 -15
- package/dist/elements/EFMotionBlur.js.map +1 -1
- package/dist/elements/EFPanZoom.d.ts +4 -4
- package/dist/elements/EFPanZoom.js +3 -4
- package/dist/elements/EFPanZoom.js.map +1 -1
- package/dist/elements/EFSourceMixin.js +2 -3
- package/dist/elements/EFSourceMixin.js.map +1 -1
- package/dist/elements/EFSurface.d.ts +6 -6
- package/dist/elements/EFSurface.js +3 -4
- package/dist/elements/EFSurface.js.map +1 -1
- package/dist/elements/EFTemporal.d.ts +0 -1
- package/dist/elements/EFTemporal.js +12 -9
- package/dist/elements/EFTemporal.js.map +1 -1
- package/dist/elements/EFText.d.ts +4 -4
- package/dist/elements/EFText.js +6 -7
- package/dist/elements/EFText.js.map +1 -1
- package/dist/elements/EFTextSegment.d.ts +4 -4
- package/dist/elements/EFTextSegment.js +3 -4
- package/dist/elements/EFTextSegment.js.map +1 -1
- package/dist/elements/EFTimegroup.d.ts +4 -10
- package/dist/elements/EFTimegroup.js +11 -12
- package/dist/elements/EFTimegroup.js.map +1 -1
- package/dist/elements/EFVideo.d.ts +6 -7
- package/dist/elements/EFVideo.js +7 -9
- package/dist/elements/EFVideo.js.map +1 -1
- package/dist/elements/EFWaveform.d.ts +4 -4
- package/dist/elements/EFWaveform.js +4 -6
- package/dist/elements/EFWaveform.js.map +1 -1
- package/dist/elements/ElementPositionInfo.js +1 -1
- package/dist/elements/ElementPositionInfo.js.map +1 -1
- package/dist/elements/FetchMixin.js +1 -1
- package/dist/elements/FetchMixin.js.map +1 -1
- package/dist/elements/SampleBuffer.js +1 -2
- package/dist/elements/SampleBuffer.js.map +1 -1
- package/dist/elements/TargetController.d.ts +0 -1
- package/dist/elements/TargetController.js +1 -1
- package/dist/elements/TargetController.js.map +1 -1
- package/dist/elements/TimegroupController.js +1 -1
- package/dist/elements/TimegroupController.js.map +1 -1
- package/dist/elements/cloneFactoryRegistry.js +1 -1
- package/dist/elements/cloneFactoryRegistry.js.map +1 -1
- package/dist/elements/durationConverter.js +4 -5
- package/dist/elements/durationConverter.js.map +1 -1
- package/dist/elements/easingUtils.js +1 -1
- package/dist/elements/easingUtils.js.map +1 -1
- package/dist/elements/findRootTemporal.js +1 -2
- package/dist/elements/findRootTemporal.js.map +1 -1
- package/dist/elements/parseTimeToMs.js +1 -1
- package/dist/elements/parseTimeToMs.js.map +1 -1
- package/dist/elements/renderTemporalAudio.js +1 -2
- package/dist/elements/renderTemporalAudio.js.map +1 -1
- package/dist/elements/setupTemporalHierarchy.js +1 -1
- package/dist/elements/setupTemporalHierarchy.js.map +1 -1
- package/dist/elements/updateAnimations.js +1 -2
- package/dist/elements/updateAnimations.js.map +1 -1
- package/dist/getRenderInfo.d.ts +0 -1
- package/dist/getRenderInfo.js +1 -2
- package/dist/getRenderInfo.js.map +1 -1
- package/dist/gui/ContextMixin.d.ts +0 -1
- package/dist/gui/ContextMixin.js +2 -3
- package/dist/gui/ContextMixin.js.map +1 -1
- package/dist/gui/Controllable.d.ts +0 -2
- package/dist/gui/Controllable.js +1 -2
- package/dist/gui/Controllable.js.map +1 -1
- package/dist/gui/EFActiveRootTemporal.d.ts +4 -5
- package/dist/gui/EFActiveRootTemporal.js +3 -4
- package/dist/gui/EFActiveRootTemporal.js.map +1 -1
- package/dist/gui/EFConfiguration.d.ts +4 -4
- package/dist/gui/EFConfiguration.js +3 -4
- package/dist/gui/EFConfiguration.js.map +1 -1
- package/dist/gui/EFControls.d.ts +2 -3
- package/dist/gui/EFControls.js +4 -5
- package/dist/gui/EFControls.js.map +1 -1
- package/dist/gui/EFDial.d.ts +4 -4
- package/dist/gui/EFDial.js +3 -4
- package/dist/gui/EFDial.js.map +1 -1
- package/dist/gui/EFFilmstrip.d.ts +6 -7
- package/dist/gui/EFFilmstrip.js +3 -4
- package/dist/gui/EFFilmstrip.js.map +1 -1
- package/dist/gui/EFFitScale.d.ts +3 -3
- package/dist/gui/EFFitScale.js +6 -7
- package/dist/gui/EFFitScale.js.map +1 -1
- package/dist/gui/EFFocusOverlay.d.ts +6 -6
- package/dist/gui/EFFocusOverlay.js +3 -4
- package/dist/gui/EFFocusOverlay.js.map +1 -1
- package/dist/gui/EFOverlayItem.d.ts +4 -4
- package/dist/gui/EFOverlayItem.js +3 -4
- package/dist/gui/EFOverlayItem.js.map +1 -1
- package/dist/gui/EFOverlayLayer.d.ts +4 -5
- package/dist/gui/EFOverlayLayer.js +3 -4
- package/dist/gui/EFOverlayLayer.js.map +1 -1
- package/dist/gui/EFPause.d.ts +4 -4
- package/dist/gui/EFPause.js +3 -4
- package/dist/gui/EFPause.js.map +1 -1
- package/dist/gui/EFPlay.d.ts +4 -4
- package/dist/gui/EFPlay.js +3 -4
- package/dist/gui/EFPlay.js.map +1 -1
- package/dist/gui/EFPreview.d.ts +4 -4
- package/dist/gui/EFPreview.js +3 -4
- package/dist/gui/EFPreview.js.map +1 -1
- package/dist/gui/EFResizableBox.d.ts +4 -4
- package/dist/gui/EFResizableBox.js +3 -4
- package/dist/gui/EFResizableBox.js.map +1 -1
- package/dist/gui/EFScrubber.d.ts +4 -4
- package/dist/gui/EFScrubber.js +3 -4
- package/dist/gui/EFScrubber.js.map +1 -1
- package/dist/gui/EFTimeDisplay.d.ts +4 -4
- package/dist/gui/EFTimeDisplay.js +3 -4
- package/dist/gui/EFTimeDisplay.js.map +1 -1
- package/dist/gui/EFTimelineRuler.d.ts +4 -4
- package/dist/gui/EFTimelineRuler.js +5 -6
- package/dist/gui/EFTimelineRuler.js.map +1 -1
- package/dist/gui/EFToggleLoop.d.ts +4 -4
- package/dist/gui/EFToggleLoop.js +3 -4
- package/dist/gui/EFToggleLoop.js.map +1 -1
- package/dist/gui/EFTogglePlay.d.ts +4 -4
- package/dist/gui/EFTogglePlay.js +3 -4
- package/dist/gui/EFTogglePlay.js.map +1 -1
- package/dist/gui/EFTransformHandles.d.ts +4 -4
- package/dist/gui/EFTransformHandles.js +3 -4
- package/dist/gui/EFTransformHandles.js.map +1 -1
- package/dist/gui/EFWorkbench.d.ts +6 -7
- package/dist/gui/EFWorkbench.js +13 -15
- package/dist/gui/EFWorkbench.js.map +1 -1
- package/dist/gui/EFWorkbench.spacebar.js +1 -1
- package/dist/gui/EFWorkbench.spacebar.js.map +1 -1
- package/dist/gui/FitScaleHelpers.js +1 -2
- package/dist/gui/FitScaleHelpers.js.map +1 -1
- package/dist/gui/PlaybackController.js +3 -4
- package/dist/gui/PlaybackController.js.map +1 -1
- package/dist/gui/TWMixin.js +1 -1
- package/dist/gui/TWMixin.js.map +1 -1
- package/dist/gui/TWMixin2.js +1 -2
- package/dist/gui/TWMixin2.js.map +1 -1
- package/dist/gui/TargetOrContextMixin.js +2 -3
- package/dist/gui/TargetOrContextMixin.js.map +1 -1
- package/dist/gui/currentTimeContext.js +1 -2
- package/dist/gui/currentTimeContext.js.map +1 -1
- package/dist/gui/durationContext.js +1 -2
- package/dist/gui/durationContext.js.map +1 -1
- package/dist/gui/efContext.js +1 -2
- package/dist/gui/efContext.js.map +1 -1
- package/dist/gui/fetchContext.js +1 -2
- package/dist/gui/fetchContext.js.map +1 -1
- package/dist/gui/focusContext.js +1 -2
- package/dist/gui/focusContext.js.map +1 -1
- package/dist/gui/focusedElementContext.js +1 -2
- package/dist/gui/focusedElementContext.js.map +1 -1
- package/dist/gui/hierarchy/EFHierarchy.d.ts +4 -4
- package/dist/gui/hierarchy/EFHierarchy.js +3 -4
- package/dist/gui/hierarchy/EFHierarchy.js.map +1 -1
- package/dist/gui/hierarchy/EFHierarchyItem.d.ts +2 -2
- package/dist/gui/hierarchy/EFHierarchyItem.js +13 -14
- package/dist/gui/hierarchy/EFHierarchyItem.js.map +1 -1
- package/dist/gui/hierarchy/hierarchyContext.js +1 -2
- package/dist/gui/hierarchy/hierarchyContext.js.map +1 -1
- package/dist/gui/icons.js +1 -2
- package/dist/gui/icons.js.map +1 -1
- package/dist/gui/panZoomTransformContext.js +1 -2
- package/dist/gui/panZoomTransformContext.js.map +1 -1
- package/dist/gui/playingContext.js +1 -2
- package/dist/gui/playingContext.js.map +1 -1
- package/dist/gui/previewSettingsContext.d.ts +0 -1
- package/dist/gui/previewSettingsContext.js +1 -2
- package/dist/gui/previewSettingsContext.js.map +1 -1
- package/dist/gui/shouldSignUrl.js +1 -1
- package/dist/gui/shouldSignUrl.js.map +1 -1
- package/dist/gui/theme.js +1 -1
- package/dist/gui/theme.js.map +1 -1
- package/dist/gui/timeline/EFTimeline.d.ts +2 -5
- package/dist/gui/timeline/EFTimeline.js +19 -20
- package/dist/gui/timeline/EFTimeline.js.map +1 -1
- package/dist/gui/timeline/EFTimelineRow.d.ts +2 -2
- package/dist/gui/timeline/EFTimelineRow.js +3 -4
- package/dist/gui/timeline/EFTimelineRow.js.map +1 -1
- package/dist/gui/timeline/TrimHandles.d.ts +4 -4
- package/dist/gui/timeline/TrimHandles.js +3 -4
- package/dist/gui/timeline/TrimHandles.js.map +1 -1
- package/dist/gui/timeline/flattenHierarchy.js +1 -2
- package/dist/gui/timeline/flattenHierarchy.js.map +1 -1
- package/dist/gui/timeline/timelineEditingContext.js +1 -2
- package/dist/gui/timeline/timelineEditingContext.js.map +1 -1
- package/dist/gui/timeline/timelineStateContext.js +1 -14
- package/dist/gui/timeline/timelineStateContext.js.map +1 -1
- package/dist/gui/timeline/tracks/AudioTrack.d.ts +0 -1
- package/dist/gui/timeline/tracks/AudioTrack.js +3 -4
- package/dist/gui/timeline/tracks/AudioTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/CaptionsTrack.d.ts +2 -2
- package/dist/gui/timeline/tracks/CaptionsTrack.js +9 -9
- package/dist/gui/timeline/tracks/CaptionsTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/EFThumbnailStrip.d.ts +4 -4
- package/dist/gui/timeline/tracks/EFThumbnailStrip.js +3 -4
- package/dist/gui/timeline/tracks/EFThumbnailStrip.js.map +1 -1
- package/dist/gui/timeline/tracks/HTMLTrack.d.ts +2 -2
- package/dist/gui/timeline/tracks/HTMLTrack.js +3 -4
- package/dist/gui/timeline/tracks/HTMLTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/ImageTrack.d.ts +2 -2
- package/dist/gui/timeline/tracks/ImageTrack.js +3 -4
- package/dist/gui/timeline/tracks/ImageTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/TextTrack.d.ts +2 -2
- package/dist/gui/timeline/tracks/TextTrack.js +4 -5
- package/dist/gui/timeline/tracks/TextTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/TimegroupTrack.d.ts +5 -6
- package/dist/gui/timeline/tracks/TimegroupTrack.js +3 -4
- package/dist/gui/timeline/tracks/TimegroupTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/TrackItem.d.ts +2 -2
- package/dist/gui/timeline/tracks/TrackItem.js +3 -4
- package/dist/gui/timeline/tracks/TrackItem.js.map +1 -1
- package/dist/gui/timeline/tracks/VideoTrack.d.ts +6 -7
- package/dist/gui/timeline/tracks/VideoTrack.js +3 -4
- package/dist/gui/timeline/tracks/VideoTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/WaveformTrack.js +3 -4
- package/dist/gui/timeline/tracks/WaveformTrack.js.map +1 -1
- package/dist/gui/timeline/tracks/ensureTrackItemInit.js +1 -1
- package/dist/gui/timeline/tracks/preloadTracks.d.ts +1 -9
- package/dist/gui/timeline/tracks/renderTrackChildren.js +1 -2
- package/dist/gui/timeline/tracks/renderTrackChildren.js.map +1 -1
- package/dist/gui/timeline/tracks/waveformUtils.js +3 -6
- package/dist/gui/timeline/tracks/waveformUtils.js.map +1 -1
- package/dist/gui/transformCalculations.js +1 -2
- package/dist/gui/transformCalculations.js.map +1 -1
- package/dist/gui/transformUtils.js +1 -1
- package/dist/gui/transformUtils.js.map +1 -1
- package/dist/gui/tree/EFTree.d.ts +4 -6
- package/dist/gui/tree/EFTree.js +3 -4
- package/dist/gui/tree/EFTree.js.map +1 -1
- package/dist/gui/tree/EFTreeItem.d.ts +4 -5
- package/dist/gui/tree/EFTreeItem.js +3 -4
- package/dist/gui/tree/EFTreeItem.js.map +1 -1
- package/dist/gui/tree/treeContext.d.ts +0 -1
- package/dist/gui/tree/treeContext.js +1 -2
- package/dist/gui/tree/treeContext.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/node.js +1 -2
- package/dist/node_modules/lit-html/development/directives/ref.d.ts +14 -0
- package/dist/node_modules/lit-html/development/lit-html.d.ts +46 -0
- package/dist/otel/BridgeSpanExporter.js +1 -2
- package/dist/otel/BridgeSpanExporter.js.map +1 -1
- package/dist/otel/setupBrowserTracing.js +1 -2
- package/dist/otel/setupBrowserTracing.js.map +1 -1
- package/dist/otel/tracingHelpers.d.ts +0 -2
- package/dist/otel/tracingHelpers.js +1 -2
- package/dist/otel/tracingHelpers.js.map +1 -1
- package/dist/preview/AdaptiveResolutionTracker.js +11 -2
- package/dist/preview/AdaptiveResolutionTracker.js.map +1 -1
- package/dist/preview/FrameController.d.ts +0 -1
- package/dist/preview/FrameController.js +8 -33
- package/dist/preview/FrameController.js.map +1 -1
- package/dist/preview/QualityUpgradeScheduler.js +1 -1
- package/dist/preview/QualityUpgradeScheduler.js.map +1 -1
- package/dist/preview/RenderContext.d.ts +0 -1
- package/dist/preview/RenderContext.js +11 -2
- package/dist/preview/RenderContext.js.map +1 -1
- package/dist/preview/RenderProfiler.js +1 -1
- package/dist/preview/RenderProfiler.js.map +1 -1
- package/dist/preview/RenderStats.js +1 -1
- package/dist/preview/RenderStats.js.map +1 -1
- package/dist/preview/encoding/canvasEncoder.js +7 -2
- package/dist/preview/encoding/canvasEncoder.js.map +1 -1
- package/dist/preview/encoding/mainThreadEncoder.js +1 -1
- package/dist/preview/encoding/mainThreadEncoder.js.map +1 -1
- package/dist/preview/encoding/workerEncoder.js +1 -1
- package/dist/preview/encoding/workerEncoder.js.map +1 -1
- package/dist/preview/logger.js +1 -1
- package/dist/preview/logger.js.map +1 -1
- package/dist/preview/previewSettings.js +1 -1
- package/dist/preview/previewSettings.js.map +1 -1
- package/dist/preview/previewTypes.js +1 -1
- package/dist/preview/previewTypes.js.map +1 -1
- package/dist/preview/renderElementToCanvas.d.ts +0 -1
- package/dist/preview/renderElementToCanvas.js +12 -5
- package/dist/preview/renderElementToCanvas.js.map +1 -1
- package/dist/preview/renderTimegroupToCanvas.d.ts +0 -1
- package/dist/preview/renderTimegroupToCanvas.js +6 -7
- package/dist/preview/renderTimegroupToCanvas.js.map +1 -1
- package/dist/preview/renderTimegroupToVideo.d.ts +0 -1
- package/dist/preview/renderTimegroupToVideo.js +20 -8
- package/dist/preview/renderTimegroupToVideo.js.map +1 -1
- package/dist/preview/renderVideoToVideo.js +11 -2
- package/dist/preview/renderVideoToVideo.js.map +1 -1
- package/dist/preview/renderers.d.ts +0 -1
- package/dist/preview/renderers.js +5 -2
- package/dist/preview/renderers.js.map +1 -1
- package/dist/preview/rendering/ScaleConfig.js +2 -3
- package/dist/preview/rendering/ScaleConfig.js.map +1 -1
- package/dist/preview/rendering/inlineImages.d.ts +0 -1
- package/dist/preview/rendering/inlineImages.js +1 -1
- package/dist/preview/rendering/inlineImages.js.map +1 -1
- package/dist/preview/rendering/loadImage.js +1 -2
- package/dist/preview/rendering/loadImage.js.map +1 -1
- package/dist/preview/rendering/renderToImageNative.js +4 -5
- package/dist/preview/rendering/renderToImageNative.js.map +1 -1
- package/dist/preview/rendering/serializeTimelineDirect.js +16 -4
- package/dist/preview/rendering/serializeTimelineDirect.js.map +1 -1
- package/dist/preview/statsTrackingStrategy.js +1 -1
- package/dist/preview/statsTrackingStrategy.js.map +1 -1
- package/dist/preview/workers/WorkerPool.js +5 -2
- package/dist/preview/workers/WorkerPool.js.map +1 -1
- package/dist/preview/workers/encoderWorkerInline.js +1 -1
- package/dist/preview/workers/encoderWorkerInline.js.map +1 -1
- package/dist/render/EFRenderAPI.d.ts +0 -1
- package/dist/render/EFRenderAPI.js +1 -2
- package/dist/render/EFRenderAPI.js.map +1 -1
- package/dist/render/getRenderData.js +1 -1
- package/dist/render/getRenderData.js.map +1 -1
- package/dist/transcoding/cache/RequestDeduplicator.js +1 -1
- package/dist/transcoding/cache/RequestDeduplicator.js.map +1 -1
- package/dist/transcoding/cache/URLTokenDeduplicator.js +1 -1
- package/dist/transcoding/cache/URLTokenDeduplicator.js.map +1 -1
- package/dist/transcoding/types/index.d.ts +0 -1
- package/dist/transcoding/utils/UrlGenerator.js +1 -1
- package/dist/transcoding/utils/UrlGenerator.js.map +1 -1
- package/dist/utils/LRUCache.js +1 -1
- package/dist/utils/LRUCache.js.map +1 -1
- package/dist/utils/frameTime.js +2 -9
- package/dist/utils/frameTime.js.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
2
2
|
import { EFVideo } from "../../../elements/EFVideo.js";
|
|
3
3
|
import { TrackItem } from "./TrackItem.js";
|
|
4
4
|
import { extractWaveformData } from "./waveformUtils.js";
|
|
@@ -9,7 +9,6 @@ import { css, html, nothing } from "lit";
|
|
|
9
9
|
import { customElement, state } from "lit/decorators.js";
|
|
10
10
|
import { styleMap } from "lit/directives/style-map.js";
|
|
11
11
|
import { createRef, ref } from "lit/directives/ref.js";
|
|
12
|
-
|
|
13
12
|
//#region src/gui/timeline/tracks/VideoTrack.ts
|
|
14
13
|
/** Padding for virtual rendering */
|
|
15
14
|
const VIRTUAL_RENDER_PADDING_PX = 100;
|
|
@@ -17,7 +16,7 @@ const VIRTUAL_RENDER_PADDING_PX = 100;
|
|
|
17
16
|
const THUMBNAIL_HEIGHT = 24;
|
|
18
17
|
/** Height of audio section when present */
|
|
19
18
|
const AUDIO_SECTION_HEIGHT = 14;
|
|
20
|
-
let EFVideoTrack = class EFVideoTrack
|
|
19
|
+
let EFVideoTrack = class EFVideoTrack extends TrackItem {
|
|
21
20
|
constructor(..._args) {
|
|
22
21
|
super(..._args);
|
|
23
22
|
this.audioCanvasRef = createRef();
|
|
@@ -257,6 +256,6 @@ __decorate([consume({
|
|
|
257
256
|
__decorate([state()], EFVideoTrack.prototype, "_waveformData", void 0);
|
|
258
257
|
__decorate([state()], EFVideoTrack.prototype, "_hasAudio", void 0);
|
|
259
258
|
EFVideoTrack = __decorate([customElement("ef-video-track")], EFVideoTrack);
|
|
260
|
-
|
|
261
259
|
//#endregion
|
|
260
|
+
|
|
262
261
|
//# sourceMappingURL=VideoTrack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoTrack.js","names":["EFVideoTrack","#checkAndLoadAudioWaveform","#lastSrc","#abortController","#scheduleRender","#renderRequested","#renderAudioOverlay","#drawAudioWaveform","#getTrackHeight"],"sources":["../../../../src/gui/timeline/tracks/VideoTrack.ts"],"sourcesContent":["import { consume } from \"@lit/context\";\nimport { css, html, nothing } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { EFVideo } from \"../../../elements/EFVideo.js\";\n\n// TrackItem must be pre-loaded before this module is imported\n// See preloadTracks.ts for the initialization sequence\nimport { TrackItem } from \"./TrackItem.js\";\nimport { extractWaveformData, type WaveformData } from \"./waveformUtils.js\";\nimport { timelineStateContext, type TimelineState } from \"../timelineStateContext.js\";\nimport \"./EFThumbnailStrip.js\";\n\n/** Padding for virtual rendering */\nconst VIRTUAL_RENDER_PADDING_PX = 100;\n\n/** Height of thumbnail section */\nconst THUMBNAIL_HEIGHT = 24;\n/** Height of audio section when present */\nconst AUDIO_SECTION_HEIGHT = 14;\n\n@customElement(\"ef-video-track\")\nexport class EFVideoTrack extends TrackItem {\n static override styles = [\n ...TrackItem.styles,\n css`\n .video-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n .thumbnail-section {\n position: relative;\n flex: 0 0 ${THUMBNAIL_HEIGHT}px;\n height: ${THUMBNAIL_HEIGHT}px;\n background: var(--ef-color-bg-inset);\n }\n .audio-section {\n position: relative;\n flex: 0 0 ${AUDIO_SECTION_HEIGHT}px;\n height: ${AUDIO_SECTION_HEIGHT}px;\n background: var(--ef-color-bg-elevated);\n border-top: 1px solid var(--ef-color-border-subtle);\n overflow: hidden;\n }\n .audio-section-canvas {\n position: absolute;\n top: 0;\n height: 100%;\n }\n `,\n ];\n\n audioCanvasRef = createRef<HTMLCanvasElement>();\n\n @consume({ context: timelineStateContext, subscribe: true })\n @state()\n private _timelineState?: TimelineState;\n\n @state()\n private _waveformData: WaveformData | null = null;\n\n @state()\n private _hasAudio = false;\n\n #lastSrc: string | null = null;\n #abortController: AbortController | null = null;\n #renderRequested = false;\n\n /**\n * Check if video has audio and load waveform data\n */\n async #checkAndLoadAudioWaveform(): Promise<void> {\n const video = this.element as EFVideo;\n const src = video?.src;\n\n if (!src || src === this.#lastSrc) {\n return;\n }\n\n this.#lastSrc = src;\n this._hasAudio = false;\n this._waveformData = null;\n\n // Cancel any in-progress load\n this.#abortController?.abort();\n this.#abortController = new AbortController();\n\n try {\n // Wait for media engine to determine if video has audio\n if (video.mediaEngineTask) {\n const mediaEngine = await video.mediaEngineTask.taskComplete;\n if (mediaEngine?.tracks.audio) {\n this._hasAudio = true;\n\n const waveformData = await extractWaveformData(video, this.#abortController.signal);\n\n if (waveformData) {\n this._waveformData = waveformData;\n this.#scheduleRender();\n }\n }\n }\n } catch (error) {\n if (!(error instanceof DOMException && error.name === \"AbortError\")) {\n // Silently fail - audio overlay is optional\n }\n }\n }\n\n #scheduleRender(): void {\n if (this.#renderRequested) return;\n this.#renderRequested = true;\n\n requestAnimationFrame(() => {\n this.#renderRequested = false;\n this.#renderAudioOverlay();\n });\n }\n\n #renderAudioOverlay(): void {\n const canvas = this.audioCanvasRef.value;\n const waveformData = this._waveformData;\n\n if (!canvas || !waveformData || !this._hasAudio) return;\n\n const video = this.element as EFVideo;\n const durationMs = video.durationMs ?? 0;\n if (durationMs === 0) return;\n\n const pixelsPerMs = this._timelineState?.pixelsPerMs ?? this.pixelsPerMs;\n const trackWidthPx = durationMs * pixelsPerMs;\n const trackStartMs = video.startTimeMs ?? 0;\n const trackStartPx = trackStartMs * pixelsPerMs;\n\n // Get scroll/viewport info\n const scrollLeft = this._timelineState?.viewportScrollLeft ?? 0;\n const viewportWidth = this._timelineState?.viewportWidth ?? 800;\n\n // Calculate visible region\n const visibleLeftPx = scrollLeft - VIRTUAL_RENDER_PADDING_PX;\n const visibleRightPx = scrollLeft + viewportWidth + VIRTUAL_RENDER_PADDING_PX;\n const trackEndPx = trackStartPx + trackWidthPx;\n\n // Check visibility\n if (trackEndPx < visibleLeftPx || trackStartPx > visibleRightPx) {\n canvas.style.display = \"none\";\n return;\n }\n canvas.style.display = \"block\";\n\n // Calculate visible portion within track\n const visibleStartInTrack = Math.max(0, visibleLeftPx - trackStartPx);\n const visibleEndInTrack = Math.min(trackWidthPx, visibleRightPx - trackStartPx);\n const visibleWidthPx = visibleEndInTrack - visibleStartInTrack;\n\n if (visibleWidthPx <= 0) return;\n\n const height = AUDIO_SECTION_HEIGHT;\n const dpr = window.devicePixelRatio || 1;\n\n // Set canvas size\n const targetWidth = Math.ceil(visibleWidthPx * dpr);\n const targetHeight = Math.ceil(height * dpr);\n\n if (canvas.width !== targetWidth || canvas.height !== targetHeight) {\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n }\n\n canvas.style.left = `${visibleStartInTrack}px`;\n canvas.style.width = `${visibleWidthPx}px`;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, visibleWidthPx, height);\n\n // Calculate time range to render\n const sourceInMs = video.sourceStartMs ?? 0;\n const timeStartMs = sourceInMs + visibleStartInTrack / pixelsPerMs;\n const timeEndMs = sourceInMs + visibleEndInTrack / pixelsPerMs;\n\n // Draw waveform in dedicated section\n this.#drawAudioWaveform(ctx, waveformData, visibleWidthPx, height, timeStartMs, timeEndMs);\n }\n\n #drawAudioWaveform(\n ctx: CanvasRenderingContext2D,\n waveformData: WaveformData,\n width: number,\n height: number,\n startMs: number,\n endMs: number,\n ): void {\n const { peaks, samplesPerSecond } = waveformData;\n\n const startSample = Math.floor((startMs / 1000) * samplesPerSecond);\n const endSample = Math.ceil((endMs / 1000) * samplesPerSecond);\n const sampleCount = endSample - startSample;\n\n if (sampleCount <= 0 || width <= 0) return;\n\n const centerY = height / 2;\n const halfHeight = height / 2 - 1;\n const pixelsPerSample = width / sampleCount;\n\n // Draw filled waveform\n ctx.fillStyle =\n getComputedStyle(this).getPropertyValue(\"--ef-color-success\").trim() || \"rgb(74, 222, 128)\";\n ctx.globalAlpha = 0.9;\n ctx.beginPath();\n\n // Draw top half (max values) left to right\n for (let i = 0; i <= sampleCount; i++) {\n const sampleIndex = startSample + i;\n const peakIndex = sampleIndex * 2;\n if (peakIndex + 1 >= peaks.length) break;\n\n const maxValue = peaks[peakIndex + 1] ?? 0;\n const px = i * pixelsPerSample;\n const py = centerY - maxValue * halfHeight;\n\n if (i === 0) {\n ctx.moveTo(px, py);\n } else {\n ctx.lineTo(px, py);\n }\n }\n\n // Draw bottom half (min values) right to left\n for (let i = sampleCount; i >= 0; i--) {\n const sampleIndex = startSample + i;\n const peakIndex = sampleIndex * 2;\n if (peakIndex >= peaks.length) continue;\n\n const minValue = peaks[peakIndex] ?? 0;\n const px = i * pixelsPerSample;\n const py = centerY - minValue * halfHeight;\n\n ctx.lineTo(px, py);\n }\n\n ctx.closePath();\n ctx.fill();\n\n // Draw center line\n ctx.globalAlpha = 0.3;\n ctx.strokeStyle =\n getComputedStyle(this).getPropertyValue(\"--ef-color-success\").trim() || \"rgb(74, 222, 128)\";\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.moveTo(0, centerY);\n ctx.lineTo(width, centerY);\n ctx.stroke();\n\n ctx.globalAlpha = 1;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.#checkAndLoadAudioWaveform();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#abortController?.abort();\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n super.updated(changedProperties);\n\n const video = this.element as EFVideo;\n if (video?.src !== this.#lastSrc) {\n this.#checkAndLoadAudioWaveform();\n }\n\n if (changedProperties.has(\"_timelineState\") || changedProperties.has(\"_waveformData\")) {\n this.#scheduleRender();\n }\n\n // Always schedule render after update\n if (this._waveformData) {\n this.#scheduleRender();\n }\n }\n\n /**\n * Get the total track height based on whether audio is present\n */\n #getTrackHeight(): number {\n if (this._hasAudio && this._waveformData) {\n return THUMBNAIL_HEIGHT + AUDIO_SECTION_HEIGHT;\n }\n return THUMBNAIL_HEIGHT;\n }\n\n override render() {\n const video = this.element as EFVideo;\n const elementId = (this.element as HTMLElement).id || \"\";\n\n // Don't render thumbnail strip until we have a valid EFVideo element\n if (!(video instanceof EFVideo)) {\n return html``;\n }\n const trimStartMs = this.element.trimStartMs ?? 0;\n const trimEndMs = this.element.trimEndMs ?? 0;\n const intrinsicDurationMs = this.element.intrinsicDurationMs ?? this.element.durationMs;\n\n const trackHeight = this.#getTrackHeight();\n const hasAudioSection = this._hasAudio && this._waveformData;\n\n const typeColor = this.getElementTypeColor();\n\n return html`<div style=${styleMap(this.gutterStyles)}>\n <div\n ?data-focused=${this.isFocused}\n @mouseenter=${() => {\n if (this.focusContext) {\n this.focusContext.focusedElement = this.element;\n }\n }}\n @mouseleave=${() => {\n if (this.focusContext) {\n this.focusContext.focusedElement = null;\n }\n }}\n >\n <div\n ?data-focused=${this.isFocused}\n class=\"trim-container\"\n style=${styleMap({\n ...this.trimPortionStyles,\n height: `${trackHeight}px`,\n backgroundColor: this.isFocused\n ? \"color-mix(in srgb, var(--ef-color-primary) 25%, transparent)\"\n : \"var(--ef-color-bg-inset)\",\n borderLeft: `3px solid ${typeColor}`,\n borderRadius: \"3px\",\n })}\n >\n <div class=\"video-content\">\n <div class=\"thumbnail-section\">\n <ef-thumbnail-strip\n .targetElement=${this.element}\n thumbnail-height=${THUMBNAIL_HEIGHT}\n thumbnail-spacing-px=\"48\"\n pixels-per-ms=${this.pixelsPerMs}\n ></ef-thumbnail-strip>\n </div>\n ${\n hasAudioSection\n ? html`<div class=\"audio-section\">\n <canvas ${ref(this.audioCanvasRef)} class=\"audio-section-canvas\"></canvas>\n </div>`\n : nothing\n }\n </div>\n ${\n this.enableTrim\n ? html`<ef-trim-handles\n element-id=${elementId}\n pixels-per-ms=${this.pixelsPerMs}\n trim-start-ms=${trimStartMs}\n trim-end-ms=${trimEndMs}\n intrinsic-duration-ms=${intrinsicDurationMs}\n @trim-change=${this.handleTrimChange}\n ></ef-trim-handles>`\n : nothing\n }\n </div>\n </div>\n ${this.renderChildren()}\n </div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ef-video-track\": EFVideoTrack;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,4BAA4B;;AAGlC,MAAM,mBAAmB;;AAEzB,MAAM,uBAAuB;AAGtB,yBAAMA,uBAAqB,UAAU;;;wBA+BzB,WAA8B;uBAOF;mBAGzB;;;gBAxCK,CACvB,GAAG,UAAU,QACb,GAAG;;;;;;;;oBAQa,iBAAiB;kBACnB,iBAAiB;;;;;oBAKf,qBAAqB;kBACvB,qBAAqB;;;;;;;;;;MAWpC;;CAcD,WAA0B;CAC1B,mBAA2C;CAC3C,mBAAmB;;;;CAKnB,OAAMC,4BAA4C;EAChD,MAAM,QAAQ,KAAK;EACnB,MAAM,MAAM,OAAO;AAEnB,MAAI,CAAC,OAAO,QAAQ,MAAKC,QACvB;AAGF,QAAKA,UAAW;AAChB,OAAK,YAAY;AACjB,OAAK,gBAAgB;AAGrB,QAAKC,iBAAkB,OAAO;AAC9B,QAAKA,kBAAmB,IAAI,iBAAiB;AAE7C,MAAI;AAEF,OAAI,MAAM,iBAER;SADoB,MAAM,MAAM,gBAAgB,eAC/B,OAAO,OAAO;AAC7B,UAAK,YAAY;KAEjB,MAAM,eAAe,MAAM,oBAAoB,OAAO,MAAKA,gBAAiB,OAAO;AAEnF,SAAI,cAAc;AAChB,WAAK,gBAAgB;AACrB,YAAKC,gBAAiB;;;;WAIrB,OAAO;AACd,OAAI,EAAE,iBAAiB,gBAAgB,MAAM,SAAS,eAAe;;;CAMzE,kBAAwB;AACtB,MAAI,MAAKC,gBAAkB;AAC3B,QAAKA,kBAAmB;AAExB,8BAA4B;AAC1B,SAAKA,kBAAmB;AACxB,SAAKC,oBAAqB;IAC1B;;CAGJ,sBAA4B;EAC1B,MAAM,SAAS,KAAK,eAAe;EACnC,MAAM,eAAe,KAAK;AAE1B,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,UAAW;EAEjD,MAAM,QAAQ,KAAK;EACnB,MAAM,aAAa,MAAM,cAAc;AACvC,MAAI,eAAe,EAAG;EAEtB,MAAM,cAAc,KAAK,gBAAgB,eAAe,KAAK;EAC7D,MAAM,eAAe,aAAa;EAElC,MAAM,gBADe,MAAM,eAAe,KACN;EAGpC,MAAM,aAAa,KAAK,gBAAgB,sBAAsB;EAC9D,MAAM,gBAAgB,KAAK,gBAAgB,iBAAiB;EAG5D,MAAM,gBAAgB,aAAa;EACnC,MAAM,iBAAiB,aAAa,gBAAgB;AAIpD,MAHmB,eAAe,eAGjB,iBAAiB,eAAe,gBAAgB;AAC/D,UAAO,MAAM,UAAU;AACvB;;AAEF,SAAO,MAAM,UAAU;EAGvB,MAAM,sBAAsB,KAAK,IAAI,GAAG,gBAAgB,aAAa;EACrE,MAAM,oBAAoB,KAAK,IAAI,cAAc,iBAAiB,aAAa;EAC/E,MAAM,iBAAiB,oBAAoB;AAE3C,MAAI,kBAAkB,EAAG;EAEzB,MAAM,SAAS;EACf,MAAM,MAAM,OAAO,oBAAoB;EAGvC,MAAM,cAAc,KAAK,KAAK,iBAAiB,IAAI;EACnD,MAAM,eAAe,KAAK,KAAK,SAAS,IAAI;AAE5C,MAAI,OAAO,UAAU,eAAe,OAAO,WAAW,cAAc;AAClE,UAAO,QAAQ;AACf,UAAO,SAAS;;AAGlB,SAAO,MAAM,OAAO,GAAG,oBAAoB;AAC3C,SAAO,MAAM,QAAQ,GAAG,eAAe;EAEvC,MAAM,MAAM,OAAO,WAAW,KAAK;AACnC,MAAI,CAAC,IAAK;AAEV,MAAI,aAAa,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE;AACtC,MAAI,UAAU,GAAG,GAAG,gBAAgB,OAAO;EAG3C,MAAM,aAAa,MAAM,iBAAiB;EAC1C,MAAM,cAAc,aAAa,sBAAsB;EACvD,MAAM,YAAY,aAAa,oBAAoB;AAGnD,QAAKC,kBAAmB,KAAK,cAAc,gBAAgB,QAAQ,aAAa,UAAU;;CAG5F,mBACE,KACA,cACA,OACA,QACA,SACA,OACM;EACN,MAAM,EAAE,OAAO,qBAAqB;EAEpC,MAAM,cAAc,KAAK,MAAO,UAAU,MAAQ,iBAAiB;EAEnE,MAAM,cADY,KAAK,KAAM,QAAQ,MAAQ,iBAAiB,GAC9B;AAEhC,MAAI,eAAe,KAAK,SAAS,EAAG;EAEpC,MAAM,UAAU,SAAS;EACzB,MAAM,aAAa,SAAS,IAAI;EAChC,MAAM,kBAAkB,QAAQ;AAGhC,MAAI,YACF,iBAAiB,KAAK,CAAC,iBAAiB,qBAAqB,CAAC,MAAM,IAAI;AAC1E,MAAI,cAAc;AAClB,MAAI,WAAW;AAGf,OAAK,IAAI,IAAI,GAAG,KAAK,aAAa,KAAK;GAErC,MAAM,aADc,cAAc,KACF;AAChC,OAAI,YAAY,KAAK,MAAM,OAAQ;GAEnC,MAAM,WAAW,MAAM,YAAY,MAAM;GACzC,MAAM,KAAK,IAAI;GACf,MAAM,KAAK,UAAU,WAAW;AAEhC,OAAI,MAAM,EACR,KAAI,OAAO,IAAI,GAAG;OAElB,KAAI,OAAO,IAAI,GAAG;;AAKtB,OAAK,IAAI,IAAI,aAAa,KAAK,GAAG,KAAK;GAErC,MAAM,aADc,cAAc,KACF;AAChC,OAAI,aAAa,MAAM,OAAQ;GAE/B,MAAM,WAAW,MAAM,cAAc;GACrC,MAAM,KAAK,IAAI;GACf,MAAM,KAAK,UAAU,WAAW;AAEhC,OAAI,OAAO,IAAI,GAAG;;AAGpB,MAAI,WAAW;AACf,MAAI,MAAM;AAGV,MAAI,cAAc;AAClB,MAAI,cACF,iBAAiB,KAAK,CAAC,iBAAiB,qBAAqB,CAAC,MAAM,IAAI;AAC1E,MAAI,YAAY;AAChB,MAAI,WAAW;AACf,MAAI,OAAO,GAAG,QAAQ;AACtB,MAAI,OAAO,OAAO,QAAQ;AAC1B,MAAI,QAAQ;AAEZ,MAAI,cAAc;;CAGpB,oBAA0B;AACxB,QAAM,mBAAmB;AACzB,QAAKN,2BAA4B;;CAGnC,uBAA6B;AAC3B,QAAM,sBAAsB;AAC5B,QAAKE,iBAAkB,OAAO;;CAGhC,QAAQ,mBAAiE;AACvE,QAAM,QAAQ,kBAAkB;AAGhC,MADc,KAAK,SACR,QAAQ,MAAKD,QACtB,OAAKD,2BAA4B;AAGnC,MAAI,kBAAkB,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,gBAAgB,CACnF,OAAKG,gBAAiB;AAIxB,MAAI,KAAK,cACP,OAAKA,gBAAiB;;;;;CAO1B,kBAA0B;AACxB,MAAI,KAAK,aAAa,KAAK,cACzB,QAAO,mBAAmB;AAE5B,SAAO;;CAGT,AAAS,SAAS;EAChB,MAAM,QAAQ,KAAK;EACnB,MAAM,YAAa,KAAK,QAAwB,MAAM;AAGtD,MAAI,EAAE,iBAAiB,SACrB,QAAO,IAAI;EAEb,MAAM,cAAc,KAAK,QAAQ,eAAe;EAChD,MAAM,YAAY,KAAK,QAAQ,aAAa;EAC5C,MAAM,sBAAsB,KAAK,QAAQ,uBAAuB,KAAK,QAAQ;EAE7E,MAAM,cAAc,MAAKI,gBAAiB;EAC1C,MAAM,kBAAkB,KAAK,aAAa,KAAK;EAE/C,MAAM,YAAY,KAAK,qBAAqB;AAE5C,SAAO,IAAI,cAAc,SAAS,KAAK,aAAa,CAAC;;wBAEjC,KAAK,UAAU;4BACX;AAClB,OAAI,KAAK,aACP,MAAK,aAAa,iBAAiB,KAAK;IAE1C;4BACkB;AAClB,OAAI,KAAK,aACP,MAAK,aAAa,iBAAiB;IAErC;;;0BAGgB,KAAK,UAAU;;kBAEvB,SAAS;GACf,GAAG,KAAK;GACR,QAAQ,GAAG,YAAY;GACvB,iBAAiB,KAAK,YAClB,iEACA;GACJ,YAAY,aAAa;GACzB,cAAc;GACf,CAAC,CAAC;;;;;iCAKoB,KAAK,QAAQ;mCACX,iBAAiB;;gCAEpB,KAAK,YAAY;;;cAInC,kBACI,IAAI;4BACM,IAAI,KAAK,eAAe,CAAC;0BAEnC,QACL;;YAGD,KAAK,aACD,IAAI;6BACS,UAAU;gCACP,KAAK,YAAY;gCACjB,YAAY;8BACd,UAAU;wCACA,oBAAoB;+BAC7B,KAAK,iBAAiB;qCAErC,QACL;;;QAGH,KAAK,gBAAgB,CAAC;;;;YA9T3B,QAAQ;CAAE,SAAS;CAAsB,WAAW;CAAM,CAAC,EAC3D,OAAO;YAGP,OAAO;YAGP,OAAO;2BAzCT,cAAc,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"VideoTrack.js","names":["#checkAndLoadAudioWaveform","#lastSrc","#abortController","#scheduleRender","#renderRequested","#renderAudioOverlay","#drawAudioWaveform","#getTrackHeight"],"sources":["../../../../src/gui/timeline/tracks/VideoTrack.ts"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
2
2
|
import { ICONS, phosphorIcon } from "../../icons.js";
|
|
3
3
|
import { TrackItem } from "./TrackItem.js";
|
|
4
4
|
import { nothing } from "lit";
|
|
5
5
|
import { customElement } from "lit/decorators.js";
|
|
6
|
-
|
|
7
6
|
//#region src/gui/timeline/tracks/WaveformTrack.ts
|
|
8
|
-
let EFWaveformTrack = class EFWaveformTrack
|
|
7
|
+
let EFWaveformTrack = class EFWaveformTrack extends TrackItem {
|
|
9
8
|
contents() {
|
|
10
9
|
return phosphorIcon(ICONS.waveform);
|
|
11
10
|
}
|
|
@@ -14,6 +13,6 @@ let EFWaveformTrack = class EFWaveformTrack$1 extends TrackItem {
|
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
15
|
EFWaveformTrack = __decorate([customElement("ef-waveform-track")], EFWaveformTrack);
|
|
17
|
-
|
|
18
16
|
//#endregion
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=WaveformTrack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveformTrack.js","names":[
|
|
1
|
+
{"version":3,"file":"WaveformTrack.js","names":[],"sources":["../../../../src/gui/timeline/tracks/WaveformTrack.ts"],"mappings":";;;;;;AAQO,IAAA,kBAAA,MAAM,wBAAwB,UAAU;CAC7C,WAAW;AACT,SAAO,aAAa,MAAM,SAAS;;CAGrC,iBAA6E;AAC3E,SAAO;;;8BAPV,cAAc,oBAAoB,CAAA,EAAA,gBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./TrackItem.js";
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import "./AudioTrack.js";
|
|
3
|
-
import "./VideoTrack.js";
|
|
4
|
-
import "./ImageTrack.js";
|
|
5
|
-
import "./TimegroupTrack.js";
|
|
6
|
-
import "./TextTrack.js";
|
|
7
|
-
import "./HTMLTrack.js";
|
|
8
|
-
import "./CaptionsTrack.js";
|
|
9
|
-
import "./WaveformTrack.js";
|
|
1
|
+
export { };
|
|
@@ -8,7 +8,6 @@ import { EFWaveform } from "../../../elements/EFWaveform.js";
|
|
|
8
8
|
import { shouldRenderElement } from "../../hierarchy/EFHierarchyItem.js";
|
|
9
9
|
import { EFTimegroup } from "../../../elements/EFTimegroup.js";
|
|
10
10
|
import { html, nothing } from "lit";
|
|
11
|
-
|
|
12
11
|
//#region src/gui/timeline/tracks/renderTrackChildren.ts
|
|
13
12
|
function renderTrackChildren(children, pixelsPerMs, hideSelectors, showSelectors, skipRootFiltering = false, enableTrim = false, useAbsolutePosition = false) {
|
|
14
13
|
return children.map((child) => {
|
|
@@ -113,7 +112,7 @@ function renderTrackChildren(children, pixelsPerMs, hideSelectors, showSelectors
|
|
|
113
112
|
return nothing;
|
|
114
113
|
});
|
|
115
114
|
}
|
|
116
|
-
|
|
117
115
|
//#endregion
|
|
118
116
|
export { renderTrackChildren };
|
|
117
|
+
|
|
119
118
|
//# sourceMappingURL=renderTrackChildren.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTrackChildren.js","names":[],"sources":["../../../../src/gui/timeline/tracks/renderTrackChildren.ts"],"
|
|
1
|
+
{"version":3,"file":"renderTrackChildren.js","names":[],"sources":["../../../../src/gui/timeline/tracks/renderTrackChildren.ts"],"mappings":";;;;;;;;;;;AAiBA,SAAgB,oBACd,UACA,aACA,eACA,eACA,oBAAoB,OACpB,aAAa,OACb,sBAAsB,OACqB;AAC3C,QAAO,SAAS,KAAK,UAAU;AAC7B,MAAI,CAAC,qBAAqB,CAAC,oBAAoB,OAAO,eAAe,cAAc,CACjF,QAAO;AAGT,MAAI,iBAAiB,YACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;;AAInC,MAAI,iBAAiB,QACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,QACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,QACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,WACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,qBACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,OACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,cACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,MAAM,YAAY,sBACpB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,MAAM,YAAY,iCACpB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,MAAM,YAAY,gCACpB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,MAAI,iBAAiB,WACnB,QAAO,IAAI;mBACE,MAAM;wBACD,YAAY;uBACb,WAAW;iCACD,oBAAoB;yBAC5B,cAAc;yBACd,cAAc;;AAGnC,SAAO;GACP"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
//#region src/gui/timeline/tracks/waveformUtils.ts
|
|
2
|
-
/** Samples per second for waveform data - balances resolution vs. data size */
|
|
3
|
-
const WAVEFORM_SAMPLES_PER_SECOND = 100;
|
|
4
1
|
/** Simple cache for waveform data keyed by audio URL */
|
|
5
2
|
const waveformCache = /* @__PURE__ */ new Map();
|
|
6
3
|
/**
|
|
@@ -36,9 +33,9 @@ async function extractWaveformData(element, signal) {
|
|
|
36
33
|
}
|
|
37
34
|
signal?.throwIfAborted();
|
|
38
35
|
const waveformData = {
|
|
39
|
-
peaks: extractPeaksFromBuffer(audioBuffer,
|
|
36
|
+
peaks: extractPeaksFromBuffer(audioBuffer, 100),
|
|
40
37
|
durationMs: audioBuffer.duration * 1e3,
|
|
41
|
-
samplesPerSecond:
|
|
38
|
+
samplesPerSecond: 100
|
|
42
39
|
};
|
|
43
40
|
waveformCache.set(src, waveformData);
|
|
44
41
|
return waveformData;
|
|
@@ -74,7 +71,7 @@ function extractPeaksFromBuffer(buffer, samplesPerSecond) {
|
|
|
74
71
|
}
|
|
75
72
|
return peaks;
|
|
76
73
|
}
|
|
77
|
-
|
|
78
74
|
//#endregion
|
|
79
75
|
export { extractWaveformData };
|
|
76
|
+
|
|
80
77
|
//# sourceMappingURL=waveformUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waveformUtils.js","names":[
|
|
1
|
+
{"version":3,"file":"waveformUtils.js","names":[],"sources":["../../../../src/gui/timeline/tracks/waveformUtils.ts"],"mappings":";AAwBA,MAAM,gCAAgB,IAAI,KAA2B;;;;;;;AAQrD,eAAsB,oBACpB,SACA,QAC8B;CAC9B,MAAM,MAAM,QAAQ;AACpB,KAAI,CAAC,IAAK,QAAO;CAEjB,MAAM,SAAS,cAAc,IAAI,IAAI;AACrC,KAAI,OACF,QAAO;AAGT,KAAI;EACF,MAAM,cAAc,MAAM,QAAQ,eAAe,OAAO;AACxD,UAAQ,gBAAgB;AAExB,MAAI,CAAC,aAAa,OAAO,MACvB,QAAO;EAGT,MAAM,aAAa,YAAY;AAC/B,MAAI,CAAC,cAAc,cAAc,EAC/B,QAAO;EAGT,MAAM,cAAc,UAAU,IAAI,iBAAiB,CAAC;EACpD,MAAM,YAAY,MAAM,QAAQ,uBAAuB,GAAG,YAAY,YAAY;AAClF,UAAQ,gBAAgB;AAExB,MAAI,CAAC,UACH,QAAO;EAGT,MAAM,cAAc,MAAM,UAAU,KAAK,aAAa;AACtD,UAAQ,gBAAgB;EAGxB,MAAM,eAAe,IAAI,oBAAoB,GAAG,GAAG,MAAM;EACzD,IAAI;AAEJ,MAAI;AACF,iBAAc,MAAM,aAAa,gBAAgB,YAAY;WACtD,aAAa;AACpB,WAAQ,KAAK,wCAAwC,YAAY;AACjE,UAAO;;AAGT,UAAQ,gBAAgB;EAMxB,MAAM,eAA6B;GACjC,OAJY,uBAAuB,aAAA,IAAyC;GAK5E,YAJwB,YAAY,WAAW;GAK/C,kBAAA;GACD;AAED,gBAAc,IAAI,KAAK,aAAa;AAEpC,SAAO;UACA,OAAO;AACd,MAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAClD,OAAM;AAER,UAAQ,KAAK,mCAAmC,MAAM;AACtD,SAAO;;;;;;;AAQX,SAAS,uBAAuB,QAAqB,kBAAwC;CAC3F,MAAM,cAAc,OAAO,eAAe,EAAE;CAC5C,MAAM,aAAa,OAAO;CAC1B,MAAM,WAAW,OAAO;CAGxB,MAAM,gBAAgB,KAAK,KAAK,WAAW,iBAAiB;CAG5D,MAAM,QAAQ,IAAI,aAAa,gBAAgB,EAAE;CAGjD,MAAM,mBAAmB,KAAK,MAAM,aAAa,iBAAiB;AAElE,MAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAAK;EACtC,MAAM,cAAc,IAAI;EACxB,MAAM,YAAY,KAAK,IAAI,cAAc,kBAAkB,YAAY,OAAO;EAE9E,IAAI,MAAM;EACV,IAAI,MAAM;AAEV,OAAK,IAAI,IAAI,aAAa,IAAI,WAAW,KAAK;GAC5C,MAAM,SAAS,YAAY,MAAM;AACjC,OAAI,SAAS,IAAK,OAAM;AACxB,OAAI,SAAS,IAAK,OAAM;;AAI1B,QAAM,IAAI,KAAK;AACf,QAAM,IAAI,IAAI,KAAK;;AAGrB,QAAO"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getCornerPoint, getOppositeCorner } from "./transformUtils.js";
|
|
2
|
-
|
|
3
2
|
//#region src/gui/transformCalculations.ts
|
|
4
3
|
/**
|
|
5
4
|
* Calculate the axis-aligned bounding box of a rotated rectangle.
|
|
@@ -211,7 +210,7 @@ function parseRotationFromTransform(transform) {
|
|
|
211
210
|
if (a === void 0 || b === void 0 || isNaN(a) || isNaN(b)) return 0;
|
|
212
211
|
return Math.atan2(b, a) * (180 / Math.PI);
|
|
213
212
|
}
|
|
214
|
-
|
|
215
213
|
//#endregion
|
|
216
214
|
export { calculateDragBounds, calculateResizeBounds, getResizeHandleCursor, getRotatedBoundingBox, parseRotationFromTransform };
|
|
215
|
+
|
|
217
216
|
//# sourceMappingURL=transformCalculations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformCalculations.js","names":["newX: number","newY: number"],"sources":["../../src/gui/transformCalculations.ts"],"sourcesContent":["import { getCornerPoint, getOppositeCorner } from \"./transformUtils.js\";\nimport type { TransformBounds } from \"./EFTransformHandles.js\";\n\nexport type ResizeHandle = \"nw\" | \"n\" | \"ne\" | \"e\" | \"se\" | \"s\" | \"sw\" | \"w\";\n\n/**\n * Calculate the axis-aligned bounding box of a rotated rectangle.\n * Given the element's position (top-left), size, and rotation,\n * returns the min/max x/y that fully contains the rotated rectangle.\n */\nexport function getRotatedBoundingBox(\n x: number,\n y: number,\n width: number,\n height: number,\n rotationDegrees: number,\n): { minX: number; minY: number; maxX: number; maxY: number } {\n // If no rotation, simple case\n if (rotationDegrees === 0) {\n return { minX: x, minY: y, maxX: x + width, maxY: y + height };\n }\n\n const rotationRadians = (rotationDegrees * Math.PI) / 180;\n const cos = Math.cos(rotationRadians);\n const sin = Math.sin(rotationRadians);\n\n // Center of the rectangle\n const centerX = x + width / 2;\n const centerY = y + height / 2;\n\n // Half dimensions\n const halfW = width / 2;\n const halfH = height / 2;\n\n // Four corners relative to center (before rotation)\n const corners = [\n { x: -halfW, y: -halfH }, // top-left\n { x: halfW, y: -halfH }, // top-right\n { x: halfW, y: halfH }, // bottom-right\n { x: -halfW, y: halfH }, // bottom-left\n ];\n\n // Rotate each corner and find bounds\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n for (const corner of corners) {\n // Rotate corner around center\n const rotatedX = corner.x * cos - corner.y * sin + centerX;\n const rotatedY = corner.x * sin + corner.y * cos + centerY;\n\n minX = Math.min(minX, rotatedX);\n minY = Math.min(minY, rotatedY);\n maxX = Math.max(maxX, rotatedX);\n maxY = Math.max(maxY, rotatedY);\n }\n\n return { minX, minY, maxX, maxY };\n}\n\ntype CursorType =\n | \"n-resize\"\n | \"e-resize\"\n | \"s-resize\"\n | \"w-resize\"\n | \"ne-resize\"\n | \"nw-resize\"\n | \"se-resize\"\n | \"sw-resize\";\n\n/**\n * Get the cursor type for a resize handle based on rotation.\n * The cursor should reflect the actual direction the handle will resize in screen space.\n *\n * @param handle - The resize handle identifier\n * @param rotationDegrees - Current rotation in degrees (0-360)\n * @returns CSS cursor value\n */\nexport function getResizeHandleCursor(handle: ResizeHandle, rotationDegrees: number): CursorType {\n // Map handles to their base angles (in degrees, where 0° is north, clockwise)\n const handleAngles: Record<ResizeHandle, number> = {\n n: 0,\n ne: 45,\n e: 90,\n se: 135,\n s: 180,\n sw: 225,\n w: 270,\n nw: 315,\n };\n\n // Calculate the effective angle after rotation\n const baseAngle = handleAngles[handle];\n const effectiveAngle = (baseAngle + rotationDegrees) % 360;\n const normalizedAngle = effectiveAngle < 0 ? effectiveAngle + 360 : effectiveAngle;\n\n // Map angle back to cursor\n // Edge handles (n, e, s, w) map to cardinal directions\n // Corner handles (ne, nw, se, sw) map to diagonal directions\n if (normalizedAngle >= 337.5 || normalizedAngle < 22.5) {\n return \"n-resize\";\n } else if (normalizedAngle >= 22.5 && normalizedAngle < 67.5) {\n return \"ne-resize\";\n } else if (normalizedAngle >= 67.5 && normalizedAngle < 112.5) {\n return \"e-resize\";\n } else if (normalizedAngle >= 112.5 && normalizedAngle < 157.5) {\n return \"se-resize\";\n } else if (normalizedAngle >= 157.5 && normalizedAngle < 202.5) {\n return \"s-resize\";\n } else if (normalizedAngle >= 202.5 && normalizedAngle < 247.5) {\n return \"sw-resize\";\n } else if (normalizedAngle >= 247.5 && normalizedAngle < 292.5) {\n return \"w-resize\";\n } else {\n // 292.5 to 337.5\n return \"nw-resize\";\n }\n}\n\n/**\n * Convert screen coordinate delta to canvas coordinate delta.\n * @param screenDeltaX - Screen pixel delta X\n * @param screenDeltaY - Screen pixel delta Y\n * @param canvasScale - Canvas zoom scale (must be > 0)\n * @returns Canvas coordinate delta\n */\nexport function screenToCanvasDelta(\n screenDeltaX: number,\n screenDeltaY: number,\n canvasScale: number,\n): { x: number; y: number } {\n if (canvasScale <= 0) {\n throw new Error(\"Canvas scale must be greater than 0\");\n }\n return {\n x: screenDeltaX / canvasScale,\n y: screenDeltaY / canvasScale,\n };\n}\n\n/**\n * Convert canvas coordinate delta to screen coordinate delta.\n * @param canvasDeltaX - Canvas coordinate delta X\n * @param canvasDeltaY - Canvas coordinate delta Y\n * @param canvasScale - Canvas zoom scale (must be > 0)\n * @returns Screen pixel delta\n */\nexport function canvasToScreenDelta(\n canvasDeltaX: number,\n canvasDeltaY: number,\n canvasScale: number,\n): { x: number; y: number } {\n if (canvasScale <= 0) {\n throw new Error(\"Canvas scale must be greater than 0\");\n }\n return {\n x: canvasDeltaX * canvasScale,\n y: canvasDeltaY * canvasScale,\n };\n}\n\n/**\n * Calculate new bounds for drag operation in canvas coordinates.\n * Pure function - no side effects.\n *\n * Works in canvas coordinate space with zoom as a parameter.\n * Converts screen deltas to canvas deltas.\n *\n * @param startPosition - Starting position in canvas coordinates\n * @param screenDeltaX - Mouse movement delta in screen pixels\n * @param screenDeltaY - Mouse movement delta in screen pixels\n * @param zoomScale - Canvas zoom scale (1.0 = no zoom, 2.0 = 2x zoom, etc.)\n * @returns New bounds with updated position (in canvas coordinates)\n */\nexport function calculateDragBounds(\n startPosition: { x: number; y: number },\n screenDeltaX: number,\n screenDeltaY: number,\n zoomScale: number = 1,\n): { x: number; y: number } {\n if (zoomScale <= 0) {\n throw new Error(\"Zoom scale must be greater than 0\");\n }\n\n // Convert screen deltas to canvas deltas\n const canvasDeltaX = screenDeltaX / zoomScale;\n const canvasDeltaY = screenDeltaY / zoomScale;\n\n return {\n x: startPosition.x + canvasDeltaX,\n y: startPosition.y + canvasDeltaY,\n };\n}\n\n/**\n * Options for resize calculation.\n * Modifier keys and constraints.\n */\nexport interface ResizeOptions {\n /** Lock aspect ratio (Shift key or multi-selection) */\n lockAspectRatio?: boolean;\n /** Resize from center instead of opposite corner (Ctrl key) */\n resizeFromCenter?: boolean;\n}\n\n/**\n * Calculate new bounds for resize operation in canvas coordinates.\n * Pure function - no side effects.\n *\n * Works in canvas coordinate space with zoom as a parameter.\n * Converts screen deltas to canvas deltas, calculates new bounds in canvas coordinates.\n *\n * @param startSize - Starting size in canvas coordinates\n * @param startPosition - Starting position in canvas coordinates\n * @param startCorner - Starting corner position in canvas coordinates\n * @param handle - Resize handle being dragged\n * @param screenDeltaX - Mouse movement delta in screen pixels\n * @param screenDeltaY - Mouse movement delta in screen pixels\n * @param rotationDegrees - Current rotation in degrees\n * @param minSize - Minimum size constraint in canvas coordinates\n * @param zoomScale - Canvas zoom scale (1.0 = no zoom, 2.0 = 2x zoom, etc.)\n * @param options - Optional resize modifiers (lockAspectRatio, resizeFromCenter)\n * @returns New bounds with updated size and position (in canvas coordinates)\n */\nexport function calculateResizeBounds(\n startSize: { width: number; height: number },\n startPosition: { x: number; y: number },\n startCorner: { x: number; y: number },\n handle: ResizeHandle,\n screenDeltaX: number,\n screenDeltaY: number,\n rotationDegrees: number,\n minSize: number,\n zoomScale: number = 1,\n options: ResizeOptions = {},\n): TransformBounds {\n if (zoomScale <= 0) {\n throw new Error(\"Zoom scale must be greater than 0\");\n }\n\n const { lockAspectRatio = false, resizeFromCenter = false } = options;\n const initialAspectRatio = startSize.width / startSize.height;\n\n // Convert screen deltas to canvas deltas\n const canvasDeltaX = screenDeltaX / zoomScale;\n const canvasDeltaY = screenDeltaY / zoomScale;\n\n const rotationRadians = (rotationDegrees * Math.PI) / 180;\n const oppositeCorner = getOppositeCorner(handle);\n\n // Rotate canvas deltas to align with element's local coordinate system\n const cos = Math.cos(-rotationRadians);\n const sin = Math.sin(-rotationRadians);\n const rotatedDeltaX = cos * canvasDeltaX - sin * canvasDeltaY;\n const rotatedDeltaY = sin * canvasDeltaX + cos * canvasDeltaY;\n\n // For center resize, delta applies to both sides (double effect)\n const deltaMultiplier = resizeFromCenter ? 2 : 1;\n\n // Calculate new size in canvas coordinates\n let newWidth = startSize.width;\n let newHeight = startSize.height;\n\n if (handle.includes(\"e\")) {\n newWidth = startSize.width + rotatedDeltaX * deltaMultiplier;\n } else if (handle.includes(\"w\")) {\n newWidth = startSize.width - rotatedDeltaX * deltaMultiplier;\n }\n\n if (handle.includes(\"s\")) {\n newHeight = startSize.height + rotatedDeltaY * deltaMultiplier;\n } else if (handle.includes(\"n\")) {\n newHeight = startSize.height - rotatedDeltaY * deltaMultiplier;\n }\n\n // Apply aspect ratio constraint if enabled\n if (lockAspectRatio) {\n const isCornerHandle = handle.length === 2; // \"ne\", \"nw\", \"se\", \"sw\"\n const isHorizontalOnly = handle === \"e\" || handle === \"w\";\n const isVerticalOnly = handle === \"n\" || handle === \"s\";\n\n if (isCornerHandle) {\n // For corners: use the dimension with larger change\n const widthScale = newWidth / startSize.width;\n const heightScale = newHeight / startSize.height;\n const uniformScale =\n Math.abs(widthScale - 1) > Math.abs(heightScale - 1) ? widthScale : heightScale;\n newWidth = startSize.width * uniformScale;\n newHeight = startSize.height * uniformScale;\n } else if (isHorizontalOnly) {\n // Horizontal handle: adjust height to match aspect ratio\n newHeight = newWidth / initialAspectRatio;\n } else if (isVerticalOnly) {\n // Vertical handle: adjust width to match aspect ratio\n newWidth = newHeight * initialAspectRatio;\n }\n }\n\n // Apply min size constraint (in canvas coordinates)\n newWidth = Math.max(minSize, newWidth);\n newHeight = Math.max(minSize, newHeight);\n\n // Re-apply aspect ratio after min size if needed\n if (lockAspectRatio && (newWidth === minSize || newHeight === minSize)) {\n if (newWidth === minSize) {\n newHeight = Math.max(minSize, minSize / initialAspectRatio);\n } else {\n newWidth = Math.max(minSize, minSize * initialAspectRatio);\n }\n }\n\n // Calculate new position based on resize mode\n let newX: number;\n let newY: number;\n\n if (resizeFromCenter) {\n // Keep center fixed\n const centerX = startPosition.x + startSize.width / 2;\n const centerY = startPosition.y + startSize.height / 2;\n newX = centerX - newWidth / 2;\n newY = centerY - newHeight / 2;\n } else {\n // Keep opposite corner fixed\n const newOppositeCorner = getCornerPoint(\n startPosition.x,\n startPosition.y,\n newWidth,\n newHeight,\n rotationRadians,\n oppositeCorner.x,\n oppositeCorner.y,\n );\n\n const offsetX = startCorner.x - newOppositeCorner.x;\n const offsetY = startCorner.y - newOppositeCorner.y;\n newX = startPosition.x + offsetX;\n newY = startPosition.y + offsetY;\n }\n\n return {\n x: newX,\n y: newY,\n width: newWidth,\n height: newHeight,\n };\n}\n\n/**\n * Calculate new rotation angle.\n * Pure function - no side effects.\n *\n * @param startAngle - Starting angle in degrees (0-360)\n * @param startRotation - Starting rotation value in degrees\n * @param currentMouseX - Current mouse X in screen pixels\n * @param currentMouseY - Current mouse Y in screen pixels\n * @param centerX - Element center X in screen pixels\n * @param centerY - Element center Y in screen pixels\n * @param rotationStep - Optional rotation step for snapping (in degrees)\n * @returns New rotation angle in degrees\n */\nexport function calculateRotation(\n startAngle: number,\n startRotation: number,\n currentMouseX: number,\n currentMouseY: number,\n centerX: number,\n centerY: number,\n rotationStep?: number,\n): number {\n const dx = currentMouseX - centerX;\n const dy = currentMouseY - centerY;\n const radians = Math.atan2(dy, dx);\n const currentAngle = radians * (180 / Math.PI) + 90;\n\n // Normalize angle difference to [-180, 180] to avoid wrapping issues\n let deltaAngle = currentAngle - startAngle;\n while (deltaAngle > 180) deltaAngle -= 360;\n while (deltaAngle < -180) deltaAngle += 360;\n\n let newRotation = startRotation + deltaAngle;\n\n if (rotationStep !== undefined && rotationStep > 0) {\n newRotation = Math.round(newRotation / rotationStep) * rotationStep;\n }\n\n return newRotation;\n}\n\n/**\n * Parse rotation angle from CSS transform.\n * Handles both rotate() syntax and matrix() transforms.\n * Pure function - no side effects.\n *\n * @param transform - CSS transform string (e.g., \"rotate(45deg)\" or \"matrix(a, b, c, d, e, f)\")\n * @returns Rotation angle in degrees\n */\nexport function parseRotationFromTransform(transform: string): number {\n if (!transform || transform === \"none\") return 0;\n\n // Try rotate() syntax first (e.g., \"rotate(45deg)\", \"rotate(0.5rad)\")\n const rotateMatch = transform.match(/rotate\\(([^)]+)\\)/);\n if (rotateMatch?.[1]) {\n const value = rotateMatch[1].trim();\n const numValue = parseFloat(value);\n const unit = value.replace(String(numValue), \"\").trim();\n if (unit === \"rad\" || unit === \"radians\") {\n return (numValue * 180) / Math.PI;\n }\n return numValue; // degrees (default)\n }\n\n // Fall back to matrix transform: matrix(a, b, c, d, tx, ty)\n // For rotation: a = cos(θ), b = sin(θ)\n const matrixMatch = transform.match(/matrix\\(([^)]+)\\)/);\n if (!matrixMatch?.[1]) return 0;\n\n const values = matrixMatch[1].split(\",\").map((v) => parseFloat(v.trim()));\n if (values.length < 2) return 0;\n\n const a = values[0];\n const b = values[1];\n if (a === undefined || b === undefined || isNaN(a) || isNaN(b)) {\n return 0;\n }\n\n return Math.atan2(b, a) * (180 / Math.PI);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformCalculations.js","names":[],"sources":["../../src/gui/transformCalculations.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformUtils.js","names":[],"sources":["../../src/gui/transformUtils.ts"],"
|
|
1
|
+
{"version":3,"file":"transformUtils.js","names":[],"sources":["../../src/gui/transformUtils.ts"],"mappings":";;;;;;;;AAQA,SAAgB,YACd,IACA,IACA,GACA,GACA,SAC0B;CAC1B,MAAM,MAAM,KAAK,IAAI,QAAQ;CAC7B,MAAM,MAAM,KAAK,IAAI,QAAQ;AAG7B,QAAO;EAAE,GAFE,OAAO,IAAI,MAAM,OAAO,IAAI,MAAM;EAE7B,GADL,OAAO,IAAI,MAAM,OAAO,IAAI,MAAM;EACtB;;;;;;;;;;;;AAazB,SAAgB,eACd,GACA,GACA,OACA,QACA,iBACA,YACA,YAC0B;AAK1B,QAAO,YAJS,IAAI,QAAQ,GACZ,IAAI,SAAS,GACR,IAAI,aAAa,OACjB,IAAI,aAAa,QAC2B,gBAAgB;;;;;;AAOnF,SAAgB,kBAAkB,QAA0C;AAC1E,SAAQ,QAAR;EACE,KAAK,KACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAG;EACvB,KAAK,IACH,QAAO;GAAE,GAAG;GAAK,GAAG;GAAG;EACzB,KAAK,KACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAG;EACvB,KAAK,IACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAK;EACzB,KAAK,KACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAG;EACvB,KAAK,IACH,QAAO;GAAE,GAAG;GAAK,GAAG;GAAG;EACzB,KAAK,KACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAG;EACvB,KAAK,IACH,QAAO;GAAE,GAAG;GAAG,GAAG;GAAK;EACzB,QACE,QAAO;GAAE,GAAG;GAAK,GAAG;GAAK"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
+
import { TemplateResult as TemplateResult$1 } from "../../node_modules/lit-html/development/lit-html.js";
|
|
1
2
|
import { TreeItem } from "./treeContext.js";
|
|
2
|
-
import "
|
|
3
|
-
import * as lit13 from "lit";
|
|
3
|
+
import * as _$lit from "lit";
|
|
4
4
|
import { LitElement, PropertyValues } from "lit";
|
|
5
|
-
import * as lit_html12 from "lit-html";
|
|
6
5
|
|
|
7
6
|
//#region src/gui/tree/EFTree.d.ts
|
|
8
|
-
|
|
9
7
|
/**
|
|
10
8
|
* Generic tree component for displaying hierarchical data.
|
|
11
9
|
*
|
|
@@ -29,7 +27,7 @@ import * as lit_html12 from "lit-html";
|
|
|
29
27
|
* ```
|
|
30
28
|
*/
|
|
31
29
|
declare class EFTree extends LitElement {
|
|
32
|
-
static styles:
|
|
30
|
+
static styles: _$lit.CSSResult;
|
|
33
31
|
/** Tree items to display */
|
|
34
32
|
items: TreeItem[];
|
|
35
33
|
/** Optional header text */
|
|
@@ -48,7 +46,7 @@ declare class EFTree extends LitElement {
|
|
|
48
46
|
protected willUpdate(changedProperties: PropertyValues): void;
|
|
49
47
|
protected updated(changedProperties: PropertyValues): void;
|
|
50
48
|
connectedCallback(): void;
|
|
51
|
-
render():
|
|
49
|
+
render(): TemplateResult$1<1>;
|
|
52
50
|
}
|
|
53
51
|
declare global {
|
|
54
52
|
interface HTMLElementTagNameMap {
|
package/dist/gui/tree/EFTree.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
2
2
|
import { collectAllIds, treeContext } from "./treeContext.js";
|
|
3
3
|
import "./EFTreeItem.js";
|
|
4
4
|
import { provide } from "@lit/context";
|
|
5
5
|
import { LitElement, css, html, nothing } from "lit";
|
|
6
6
|
import { customElement, property, state } from "lit/decorators.js";
|
|
7
|
-
|
|
8
7
|
//#region src/gui/tree/EFTree.ts
|
|
9
|
-
let EFTree = class EFTree
|
|
8
|
+
let EFTree = class EFTree extends LitElement {
|
|
10
9
|
constructor(..._args) {
|
|
11
10
|
super(..._args);
|
|
12
11
|
this.items = [];
|
|
@@ -162,7 +161,7 @@ __decorate([property({
|
|
|
162
161
|
__decorate([state()], EFTree.prototype, "treeState", void 0);
|
|
163
162
|
__decorate([provide({ context: treeContext }), state()], EFTree.prototype, "providedContext", void 0);
|
|
164
163
|
EFTree = __decorate([customElement("ef-tree")], EFTree);
|
|
165
|
-
|
|
166
164
|
//#endregion
|
|
167
165
|
export { EFTree };
|
|
166
|
+
|
|
168
167
|
//# sourceMappingURL=EFTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EFTree.js","names":[
|
|
1
|
+
{"version":3,"file":"EFTree.js","names":[],"sources":["../../../src/gui/tree/EFTree.ts"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { TemplateResult as TemplateResult$1 } from "../../node_modules/lit-html/development/lit-html.js";
|
|
1
2
|
import { TreeContext, TreeItem } from "./treeContext.js";
|
|
2
|
-
import * as
|
|
3
|
+
import * as _$lit from "lit";
|
|
3
4
|
import { LitElement, nothing } from "lit";
|
|
4
|
-
import * as lit_html13 from "lit-html";
|
|
5
5
|
|
|
6
6
|
//#region src/gui/tree/EFTreeItem.d.ts
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* Generic tree item component.
|
|
10
9
|
*
|
|
@@ -17,7 +16,7 @@ import * as lit_html13 from "lit-html";
|
|
|
17
16
|
* @fires tree-item-click - When item is clicked (for selection)
|
|
18
17
|
*/
|
|
19
18
|
declare class EFTreeItem extends LitElement {
|
|
20
|
-
static styles:
|
|
19
|
+
static styles: _$lit.CSSResult;
|
|
21
20
|
treeContext?: TreeContext;
|
|
22
21
|
item: TreeItem;
|
|
23
22
|
private localExpanded;
|
|
@@ -26,7 +25,7 @@ declare class EFTreeItem extends LitElement {
|
|
|
26
25
|
get hasChildren(): boolean;
|
|
27
26
|
private handleClick;
|
|
28
27
|
private handleExpandClick;
|
|
29
|
-
render():
|
|
28
|
+
render(): TemplateResult$1<1> | typeof nothing;
|
|
30
29
|
}
|
|
31
30
|
declare global {
|
|
32
31
|
interface HTMLElementTagNameMap {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.
|
|
1
|
+
import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
2
2
|
import { treeContext } from "./treeContext.js";
|
|
3
3
|
import { consume } from "@lit/context";
|
|
4
4
|
import { LitElement, css, html, nothing } from "lit";
|
|
5
5
|
import { customElement, property, state } from "lit/decorators.js";
|
|
6
|
-
|
|
7
6
|
//#region src/gui/tree/EFTreeItem.ts
|
|
8
|
-
let EFTreeItem = class EFTreeItem
|
|
7
|
+
let EFTreeItem = class EFTreeItem extends LitElement {
|
|
9
8
|
constructor(..._args) {
|
|
10
9
|
super(..._args);
|
|
11
10
|
this.localExpanded = true;
|
|
@@ -140,7 +139,7 @@ __decorate([property({
|
|
|
140
139
|
})], EFTreeItem.prototype, "item", void 0);
|
|
141
140
|
__decorate([state()], EFTreeItem.prototype, "localExpanded", void 0);
|
|
142
141
|
EFTreeItem = __decorate([customElement("ef-tree-item")], EFTreeItem);
|
|
143
|
-
|
|
144
142
|
//#endregion
|
|
145
143
|
export { EFTreeItem };
|
|
144
|
+
|
|
146
145
|
//# sourceMappingURL=EFTreeItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EFTreeItem.js","names":[
|
|
1
|
+
{"version":3,"file":"EFTreeItem.js","names":[],"sources":["../../../src/gui/tree/EFTreeItem.ts"],"mappings":";;;;;;AAmBO,IAAA,aAAA,MAAM,mBAAmB,WAAW;;;uBA4EjB;;;gBA3ER,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EnB,IAAI,aAAsB;AACxB,MAAI,CAAC,KAAK,eAAe,CAAC,KAAK,KAAM,QAAO;AAC5C,SAAO,KAAK,YAAY,MAAM,eAAe,KAAK,KAAK;;CAGzD,IAAI,aAAsB;AACxB,MAAI,CAAC,KAAK,eAAe,CAAC,KAAK,KAAM,QAAO,KAAK;AACjD,SAAO,KAAK,YAAY,MAAM,YAAY,IAAI,KAAK,KAAK,GAAG;;CAG7D,IAAI,cAAuB;AACzB,SAAO,QAAQ,KAAK,MAAM,YAAY,KAAK,KAAK,SAAS,SAAS,EAAE;;CAGtE,YAAoB,GAAgB;AAClC,IAAE,iBAAiB;AACnB,MAAI,KAAK,eAAe,KAAK,KAC3B,MAAK,YAAY,QAAQ,OAAO,KAAK,KAAK,GAAG;;CAIjD,kBAA0B,GAAgB;AACxC,IAAE,iBAAiB;AACnB,MAAI,KAAK,eAAe,KAAK,KAC3B,MAAK,YAAY,QAAQ,eAAe,KAAK,KAAK,GAAG;MAErD,MAAK,gBAAgB,CAAC,KAAK;;CAI/B,SAAS;AACP,MAAI,CAAC,KAAK,KAAM,QAAO;EAEvB,MAAM,WAAW,KAAK;AAEtB,SAAO,IAAI;;;yBAGU,KAAK,WAAW;iBACxB,KAAK,YAAY;;UAGxB,KAAK,cACD,IAAI;;;iCAGe,SAAS;yBACjB,KAAK,kBAAkB;;;;;;gBAOlC,IAAI,oCACT;UACC,KAAK,KAAK,OAAO,IAAI,sBAAsB,KAAK,KAAK,KAAK,WAAW,QAAQ;8BACzD,KAAK,KAAK,MAAM;;QAGtC,KAAK,cACD,IAAI;oDACoC,CAAC,SAAS;gBAC9C,KAAK,KAAK,SAAU,KACnB,UAAU,IAAI,uBAAuB,MAAM,kBAC7C,CAAC;;cAGJ,QACL;;;;YA9EJ,QAAQ;CAAE,SAAS;CAAa,WAAW;CAAM,CAAC,CAAA,EAAA,WAAA,WAAA,eAAA,KAAA,EAAA;YAGlD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAO,CAAC,CAAA,EAAA,WAAA,WAAA,QAAA,KAAA,EAAA;YAG5C,OAAO,CAAA,EAAA,WAAA,WAAA,iBAAA,KAAA,EAAA;yBA5ET,cAAc,eAAe,CAAA,EAAA,WAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createContext } from "@lit/context";
|
|
2
|
-
|
|
3
2
|
//#region src/gui/tree/treeContext.ts
|
|
4
3
|
/**
|
|
5
4
|
* Lit context for tree components
|
|
@@ -17,7 +16,7 @@ function collectAllIds(items) {
|
|
|
17
16
|
for (const item of items) traverse(item);
|
|
18
17
|
return ids;
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
//#endregion
|
|
22
20
|
export { collectAllIds, treeContext };
|
|
21
|
+
|
|
23
22
|
//# sourceMappingURL=treeContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeContext.js","names":[],"sources":["../../../src/gui/tree/treeContext.ts"],"
|
|
1
|
+
{"version":3,"file":"treeContext.js","names":[],"sources":["../../../src/gui/tree/treeContext.ts"],"mappings":";;;;;AAqDA,MAAa,cAAc,cAA2B,kBAAkB;;;;AAKxE,SAAgB,cAAc,OAAgC;CAC5D,MAAM,sBAAM,IAAI,KAAa;CAE7B,SAAS,SAAS,MAAgB;AAChC,MAAI,IAAI,KAAK,GAAG;AAChB,MAAI,KAAK,SACP,MAAK,MAAM,SAAS,KAAK,SACvB,UAAS,MAAM;;AAKrB,MAAK,MAAM,QAAQ,MACjB,UAAS,KAAK;AAGhB,QAAO"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { TraceContext } from "./otel/tracingHelpers.js";
|
|
2
|
-
import "./EF_FRAMEGEN.js";
|
|
3
2
|
import { TemporalMixinInterface, isEFTemporal } from "./elements/EFTemporal.js";
|
|
4
3
|
import { EFMedia } from "./elements/EFMedia.js";
|
|
5
4
|
import { ContainerInfo, getContainerInfoFromElement } from "./elements/ContainerInfo.js";
|
|
@@ -55,7 +54,6 @@ import { EFCanvasItem } from "./canvas/EFCanvasItem.js";
|
|
|
55
54
|
import { CanvasAPI } from "./canvas/api/CanvasAPI.js";
|
|
56
55
|
import { SelectionModel } from "./canvas/selection/SelectionModel.js";
|
|
57
56
|
import { RenderInfo, RenderInfoSchema, getRenderInfo } from "./getRenderInfo.js";
|
|
58
|
-
import "./render/EFRenderAPI.js";
|
|
59
57
|
import { getRenderData } from "./render/getRenderData.js";
|
|
60
58
|
import { CanvasPreviewOptions, CanvasPreviewResult, CaptureOptions, ContentReadyMode } from "./preview/renderTimegroupToCanvas.types.js";
|
|
61
59
|
import { RenderElementOptions, renderElementToCanvas } from "./preview/renderElementToCanvas.js";
|
package/dist/index.js
CHANGED
|
@@ -55,10 +55,9 @@ import { RenderInfoSchema, getRenderInfo } from "./getRenderInfo.js";
|
|
|
55
55
|
import "./render/EFRenderAPI.js";
|
|
56
56
|
import { getRenderData } from "./render/getRenderData.js";
|
|
57
57
|
import { renderElementToCanvas } from "./preview/renderElementToCanvas.js";
|
|
58
|
-
|
|
59
58
|
//#region src/index.ts
|
|
60
59
|
if (typeof window !== "undefined") window.EF_REGISTERED = true;
|
|
61
|
-
|
|
62
60
|
//#endregion
|
|
63
61
|
export { CanvasAPI, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, EFMotionBlur, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, PositionInfoMixin, RenderInfoSchema, SelectionModel, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, computeFitScale, elementNeedsFitScale, getCloneFactory, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, registerCloneFactory, renderElementToCanvas, rotatePoint, shouldShowFrameMarkers, treeContext, unregisterCloneFactory, version };
|
|
62
|
+
|
|
64
63
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8NA,IAAI,OAAO,WAAW,YAEpB,QAAO,gBAAgB"}
|
package/dist/node.js
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region ../../node_modules/lit-html/development/directives/ref.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* An object that holds a ref value.
|
|
4
|
+
*/
|
|
5
|
+
declare class Ref<T = Element> {
|
|
6
|
+
/**
|
|
7
|
+
* The current Element value of the ref, or else `undefined` if the ref is no
|
|
8
|
+
* longer rendered.
|
|
9
|
+
*/
|
|
10
|
+
readonly value?: T;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { type Ref };
|
|
14
|
+
//# sourceMappingURL=ref.d.ts.map
|