@codingfactory/mediables-vue 2.0.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/PixiFrameExporter-BTU38EVl.cjs +2 -0
- package/dist/PixiFrameExporter-BTU38EVl.cjs.map +1 -0
- package/dist/PixiFrameExporter-Bb3QNWP-.js +199 -0
- package/dist/PixiFrameExporter-Bb3QNWP-.js.map +1 -0
- package/dist/adapters/MediablesAdapter.d.ts +19 -0
- package/dist/adapters/SpatieAdapter.d.ts +18 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/components/AdminMediaBrowser.vue.d.ts +11 -0
- package/dist/components/AdminMediaBrowserExample.vue.d.ts +2 -0
- package/dist/components/AdminMediaBulkActionsToolbar.vue.d.ts +2 -0
- package/dist/components/AdminMediaGrid.vue.d.ts +17 -0
- package/dist/components/AdminMediaListItem.vue.d.ts +10 -0
- package/dist/components/AdminMediaManager.vue.d.ts +25 -0
- package/dist/components/AdminMediaUploader.vue.d.ts +11 -0
- package/dist/components/AlbumBrowser.vue.d.ts +17 -0
- package/dist/components/AlbumManager.vue.d.ts +16 -0
- package/dist/components/AlbumMediaGrid.vue.d.ts +28 -0
- package/dist/components/AlbumTree.vue.d.ts +35 -0
- package/dist/components/BulkActionsToolbar.vue.d.ts +2 -0
- package/dist/components/ConversionProgressIndicator.vue.d.ts +2 -0
- package/dist/components/Editor.vue.d.ts +29 -0
- package/dist/components/ExampleGridAndList.vue.d.ts +2 -0
- package/dist/components/ExampleUsage.vue.d.ts +2 -0
- package/dist/components/Grid.vue.d.ts +2 -0
- package/dist/components/ImageEditor/ImageEditor.vue.d.ts +3 -0
- package/dist/components/ImageEditorModal.vue.d.ts +16 -0
- package/dist/components/ImagePicker.vue.d.ts +32 -0
- package/dist/components/ImageUploadZone.vue.d.ts +7 -0
- package/dist/components/Item.vue.d.ts +2 -0
- package/dist/components/Library.vue.d.ts +2 -0
- package/dist/components/ManagedMediaGallery.vue.d.ts +12 -0
- package/dist/components/MediaAttacher.vue.d.ts +21 -0
- package/dist/components/MediaBrowser.vue.d.ts +2 -0
- package/dist/components/MediaCard.vue.d.ts +2 -0
- package/dist/components/MediaFilters.vue.d.ts +2 -0
- package/dist/components/MediaGrid.vue.d.ts +31 -0
- package/dist/components/MediaInfoEditor.vue.d.ts +7 -0
- package/dist/components/MediaManager.vue.d.ts +2 -0
- package/dist/components/MediaUploadWithProgress.vue.d.ts +2 -0
- package/dist/components/MediaUploader.vue.d.ts +2 -0
- package/dist/components/MediaWorkspace.vue.d.ts +19 -0
- package/dist/components/Modal.vue.d.ts +2 -0
- package/dist/components/ModelMediaManager.vue.d.ts +80 -0
- package/dist/components/Pagination.vue.d.ts +2 -0
- package/dist/components/Search.vue.d.ts +2 -0
- package/dist/components/VideoEditorSimple.vue.d.ts +2 -0
- package/dist/components/VideoExportPanel.vue.d.ts +2 -0
- package/dist/components/VideoTimeline.vue.d.ts +2 -0
- package/dist/components/VideoTimelineSimple.vue.d.ts +2 -0
- package/dist/components/VideoToolsPanel.vue.d.ts +2 -0
- package/dist/components/albums/AlbumTreeNode.vue.d.ts +23 -0
- package/dist/components/attachment/MediaAttachment.vue.d.ts +23 -0
- package/dist/components/attachment/index.d.ts +4 -0
- package/dist/components/collection/MediaCollection.vue.d.ts +27 -0
- package/dist/components/collection/MediaCollectionDropzone.vue.d.ts +18 -0
- package/dist/components/collection/MediaCollectionItem.vue.d.ts +2 -0
- package/dist/components/collection/index.d.ts +6 -0
- package/dist/components/form/MediaHiddenFields.vue.d.ts +2 -0
- package/dist/components/form/index.d.ts +4 -0
- package/dist/components/image/ImageEditor.vue.d.ts +2 -0
- package/dist/components/image/ImageItem.vue.d.ts +2 -0
- package/dist/components/renderless/MediaAttachmentProvider.vue.d.ts +12 -0
- package/dist/components/renderless/MediaCollectionProvider.vue.d.ts +12 -0
- package/dist/components/renderless/index.d.ts +7 -0
- package/dist/components/timeline/TimeRuler.vue.d.ts +2 -0
- package/dist/components/timeline/VideoTrack.vue.d.ts +2 -0
- package/dist/components/tools/VideoFiltersPanel.vue.d.ts +7 -0
- package/dist/components/tools/VideoTextPanel.vue.d.ts +2 -0
- package/dist/components/video/AudioTrackManager.vue.d.ts +2 -0
- package/dist/components/video/EditorControls.vue.d.ts +2 -0
- package/dist/components/video/ExportPanel.vue.d.ts +2 -0
- package/dist/components/video/FilterSelector.vue.d.ts +2 -0
- package/dist/components/video/LiveStreamManager.vue.d.ts +2 -0
- package/dist/components/video/StreamCredentials.vue.d.ts +2 -0
- package/dist/components/video/StreamStatus.vue.d.ts +2 -0
- package/dist/components/video/TextOverlayPanel.vue.d.ts +2 -0
- package/dist/components/video/ThumbnailPicker.vue.d.ts +2 -0
- package/dist/components/video/TimelineClip.vue.d.ts +2 -0
- package/dist/components/video/TimelineControls.vue.d.ts +2 -0
- package/dist/components/video/TransitionSelector.vue.d.ts +2 -0
- package/dist/components/video/VideoControls.vue.d.ts +2 -0
- package/dist/components/video/VideoEditor.vue.d.ts +8 -0
- package/dist/components/video/VideoEditorDialog.vue.d.ts +12 -0
- package/dist/components/video/VideoFilterCarousel.vue.d.ts +2 -0
- package/dist/components/video/VideoFilterPreview.vue.d.ts +18 -0
- package/dist/components/video/VideoPlayer.vue.d.ts +2 -0
- package/dist/components/video/VideoPreview.vue.d.ts +3 -0
- package/dist/components/video/VideoPreviewCSS.vue.d.ts +2 -0
- package/dist/components/video/VideoPreviewEngine.vue.d.ts +3 -0
- package/dist/components/video/VideoTimeline.vue.d.ts +2 -0
- package/dist/components/video/VideoUploadProgress.vue.d.ts +2 -0
- package/dist/components/video/VideoUploader.vue.d.ts +29 -0
- package/dist/components/video/index.d.ts +19 -0
- package/dist/composables/useAccordion.d.ts +138 -0
- package/dist/composables/useAlbumDragDrop.d.ts +24 -0
- package/dist/composables/useAlbums.d.ts +17 -0
- package/dist/composables/useFloatingPills.d.ts +111 -0
- package/dist/composables/useHaptic.d.ts +10 -0
- package/dist/composables/useImageEditorModal.d.ts +277 -0
- package/dist/composables/useLiveStream.d.ts +66 -0
- package/dist/composables/useMediaAttachment.d.ts +105 -0
- package/dist/composables/useMediaCollection.d.ts +122 -0
- package/dist/composables/useMediaConversionProgress.d.ts +31 -0
- package/dist/composables/useMediaDragSort.d.ts +56 -0
- package/dist/composables/useMediaSelection.d.ts +27 -0
- package/dist/composables/useMediaUploadQueue.d.ts +61 -0
- package/dist/composables/useMediaValidation.d.ts +59 -0
- package/dist/composables/useRadialMenu.d.ts +116 -0
- package/dist/composables/useSanctumClient.d.ts +31 -0
- package/dist/composables/useTheme.d.ts +7 -0
- package/dist/composables/useToast.d.ts +25 -0
- package/dist/composables/useVideoEditor.d.ts +127 -0
- package/dist/composables/useVideoFilters.d.ts +176 -0
- package/dist/composables/useVideoPlayer.d.ts +50 -0
- package/dist/composables/useVideoUpload.d.ts +134 -0
- package/dist/filters/controlMapping.d.ts +31 -0
- package/dist/filters/css-registry.d.ts +83 -0
- package/dist/filters/definitions/adjustment.d.ts +2 -0
- package/dist/filters/definitions/adjustmentAdvanced.d.ts +2 -0
- package/dist/filters/definitions/advancedBloom.d.ts +2 -0
- package/dist/filters/definitions/alpha.d.ts +2 -0
- package/dist/filters/definitions/ascii.d.ts +2 -0
- package/dist/filters/definitions/backdropBlur.d.ts +2 -0
- package/dist/filters/definitions/bevel.d.ts +2 -0
- package/dist/filters/definitions/bloom.d.ts +2 -0
- package/dist/filters/definitions/blur.d.ts +2 -0
- package/dist/filters/definitions/bulgePinch.d.ts +2 -0
- package/dist/filters/definitions/colorGradient.d.ts +2 -0
- package/dist/filters/definitions/colorMap.d.ts +2 -0
- package/dist/filters/definitions/colorMatrix.d.ts +2 -0
- package/dist/filters/definitions/colorOverlay.d.ts +2 -0
- package/dist/filters/definitions/colorReplace.d.ts +2 -0
- package/dist/filters/definitions/convolution.d.ts +2 -0
- package/dist/filters/definitions/crossHatch.d.ts +2 -0
- package/dist/filters/definitions/crt.d.ts +2 -0
- package/dist/filters/definitions/displacement.d.ts +2 -0
- package/dist/filters/definitions/dot.d.ts +2 -0
- package/dist/filters/definitions/dropShadow.d.ts +2 -0
- package/dist/filters/definitions/emboss.d.ts +2 -0
- package/dist/filters/definitions/glitch.d.ts +2 -0
- package/dist/filters/definitions/glow.d.ts +2 -0
- package/dist/filters/definitions/godray.d.ts +2 -0
- package/dist/filters/definitions/grayscale.d.ts +2 -0
- package/dist/filters/definitions/hslAdjustment.d.ts +2 -0
- package/dist/filters/definitions/kawaseBlur.d.ts +2 -0
- package/dist/filters/definitions/lightmap.d.ts +2 -0
- package/dist/filters/definitions/motionBlur.d.ts +2 -0
- package/dist/filters/definitions/multiColorReplace.d.ts +2 -0
- package/dist/filters/definitions/noise.d.ts +2 -0
- package/dist/filters/definitions/oldFilm.d.ts +2 -0
- package/dist/filters/definitions/outline.d.ts +2 -0
- package/dist/filters/definitions/pixelate.d.ts +2 -0
- package/dist/filters/definitions/radialBlur.d.ts +2 -0
- package/dist/filters/definitions/reflection.d.ts +2 -0
- package/dist/filters/definitions/rgbSplit.d.ts +2 -0
- package/dist/filters/definitions/shockwave.d.ts +2 -0
- package/dist/filters/definitions/simplexNoise.d.ts +2 -0
- package/dist/filters/definitions/tiltShift.d.ts +2 -0
- package/dist/filters/definitions/twist.d.ts +2 -0
- package/dist/filters/definitions/vignette.d.ts +2 -0
- package/dist/filters/definitions/zoomBlur.d.ts +2 -0
- package/dist/filters/factory.d.ts +38 -0
- package/dist/filters/filters/controlMapping.d.ts +31 -0
- package/dist/filters/filters/definitions/adjustment.d.ts +2 -0
- package/dist/filters/filters/definitions/adjustmentAdvanced.d.ts +2 -0
- package/dist/filters/filters/definitions/advancedBloom.d.ts +2 -0
- package/dist/filters/filters/definitions/alpha.d.ts +2 -0
- package/dist/filters/filters/definitions/ascii.d.ts +2 -0
- package/dist/filters/filters/definitions/backdropBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/bevel.d.ts +2 -0
- package/dist/filters/filters/definitions/bloom.d.ts +2 -0
- package/dist/filters/filters/definitions/blur.d.ts +2 -0
- package/dist/filters/filters/definitions/bulgePinch.d.ts +2 -0
- package/dist/filters/filters/definitions/colorGradient.d.ts +2 -0
- package/dist/filters/filters/definitions/colorMap.d.ts +2 -0
- package/dist/filters/filters/definitions/colorMatrix.d.ts +2 -0
- package/dist/filters/filters/definitions/colorOverlay.d.ts +2 -0
- package/dist/filters/filters/definitions/colorReplace.d.ts +2 -0
- package/dist/filters/filters/definitions/convolution.d.ts +2 -0
- package/dist/filters/filters/definitions/crossHatch.d.ts +2 -0
- package/dist/filters/filters/definitions/crt.d.ts +2 -0
- package/dist/filters/filters/definitions/displacement.d.ts +2 -0
- package/dist/filters/filters/definitions/dot.d.ts +2 -0
- package/dist/filters/filters/definitions/dropShadow.d.ts +2 -0
- package/dist/filters/filters/definitions/emboss.d.ts +2 -0
- package/dist/filters/filters/definitions/glitch.d.ts +2 -0
- package/dist/filters/filters/definitions/glow.d.ts +2 -0
- package/dist/filters/filters/definitions/godray.d.ts +2 -0
- package/dist/filters/filters/definitions/grayscale.d.ts +2 -0
- package/dist/filters/filters/definitions/hslAdjustment.d.ts +2 -0
- package/dist/filters/filters/definitions/kawaseBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/lightmap.d.ts +2 -0
- package/dist/filters/filters/definitions/motionBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/multiColorReplace.d.ts +2 -0
- package/dist/filters/filters/definitions/noise.d.ts +2 -0
- package/dist/filters/filters/definitions/oldFilm.d.ts +2 -0
- package/dist/filters/filters/definitions/outline.d.ts +2 -0
- package/dist/filters/filters/definitions/pixelate.d.ts +2 -0
- package/dist/filters/filters/definitions/radialBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/reflection.d.ts +2 -0
- package/dist/filters/filters/definitions/rgbSplit.d.ts +2 -0
- package/dist/filters/filters/definitions/shockwave.d.ts +2 -0
- package/dist/filters/filters/definitions/simplexNoise.d.ts +2 -0
- package/dist/filters/filters/definitions/tiltShift.d.ts +2 -0
- package/dist/filters/filters/definitions/twist.d.ts +2 -0
- package/dist/filters/filters/definitions/vignette.d.ts +2 -0
- package/dist/filters/filters/definitions/zoomBlur.d.ts +2 -0
- package/dist/filters/filters/factory.d.ts +36 -0
- package/dist/filters/filters/index.d.ts +93 -0
- package/dist/filters/filters/registry.d.ts +89 -0
- package/dist/filters/index.d.ts +93 -0
- package/dist/filters/registry.d.ts +89 -0
- package/dist/filters/video-compatible.d.ts +77 -0
- package/dist/filters/video-css-filters.d.ts +153 -0
- package/dist/index-6yUGA--H.cjs +42 -0
- package/dist/index-6yUGA--H.cjs.map +1 -0
- package/dist/index-CcGWfCCV.js +7799 -0
- package/dist/index-CcGWfCCV.js.map +1 -0
- package/dist/index-DTUgsw7J.cjs +76 -0
- package/dist/index-DTUgsw7J.cjs.map +1 -0
- package/dist/index-VrUG0lmk.js +28655 -0
- package/dist/index-VrUG0lmk.js.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/js/workers/material-color-extractor.js +215 -0
- package/dist/mediables-vanilla.cjs +2 -0
- package/dist/mediables-vanilla.cjs.map +1 -0
- package/dist/mediables-vanilla.mjs +12 -0
- package/dist/mediables-vanilla.mjs.map +1 -0
- package/dist/mediables-vue.cjs +2 -0
- package/dist/mediables-vue.cjs.map +1 -0
- package/dist/mediables-vue.mjs +67 -0
- package/dist/mediables-vue.mjs.map +1 -0
- package/dist/render-page/assets/index-hBfvGPpt.js +48933 -0
- package/dist/render-page/index.html +18 -0
- package/dist/services/VideoJobClient.d.ts +79 -0
- package/dist/stores/albumStore.d.ts +4 -0
- package/dist/stores/mediaVariantStore.d.ts +1 -0
- package/dist/stores/useAdminMediaStore.d.ts +16 -0
- package/dist/stores/useMediaStore.d.ts +25 -0
- package/dist/stores/useVideoStore.d.ts +21 -0
- package/dist/stores/variantPollStore.d.ts +5 -0
- package/dist/stores/video.d.ts +1 -0
- package/dist/style.css +1 -0
- package/dist/types/adapter.d.ts +181 -0
- package/dist/types/album.d.ts +28 -0
- package/dist/types/api.d.ts +88 -0
- package/dist/types/collection.d.ts +306 -0
- package/dist/types/editor.d.ts +172 -0
- package/dist/types/image.d.ts +210 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/media.d.ts +107 -0
- package/dist/types/types/address.d.ts +66 -0
- package/dist/types/types/admin/intelligent-po.d.ts +47 -0
- package/dist/types/types/admin/products/index.d.ts +17 -0
- package/dist/types/types/admin/purchase-order.d.ts +50 -0
- package/dist/types/types/admin/receipt.d.ts +86 -0
- package/dist/types/types/admin/vendor.d.ts +61 -0
- package/dist/types/types/ai.d.ts +63 -0
- package/dist/types/types/aiActions.d.ts +42 -0
- package/dist/types/types/aiDesigner.d.ts +77 -0
- package/dist/types/types/api-errors.d.ts +6 -0
- package/dist/types/types/api.d.ts +109 -0
- package/dist/types/types/bundle.d.ts +131 -0
- package/dist/types/types/bundles/analytics.d.ts +64 -0
- package/dist/types/types/bundles.d.ts +108 -0
- package/dist/types/types/cart.d.ts +81 -0
- package/dist/types/types/checkout.d.ts +40 -0
- package/dist/types/types/component-config.d.ts +26 -0
- package/dist/types/types/components.d.ts +32 -0
- package/dist/types/types/content.d.ts +138 -0
- package/dist/types/types/coupon.d.ts +32 -0
- package/dist/types/types/customer-product-history.d.ts +210 -0
- package/dist/types/types/drag-contracts.d.ts +40 -0
- package/dist/types/types/drag-drop.d.ts +19 -0
- package/dist/types/types/editor.d.ts +127 -0
- package/dist/types/types/errors.d.ts +36 -0
- package/dist/types/types/feedback.d.ts +122 -0
- package/dist/types/types/image.d.ts +210 -0
- package/dist/types/types/index.d.ts +62 -0
- package/dist/types/types/instagram.d.ts +86 -0
- package/dist/types/types/ionic-components.d.ts +152 -0
- package/dist/types/types/layout.d.ts +127 -0
- package/dist/types/types/media-gateway.d.ts +34 -0
- package/dist/types/types/media.d.ts +178 -0
- package/dist/types/types/notifications.d.ts +123 -0
- package/dist/types/types/order-management.d.ts +245 -0
- package/dist/types/types/pageBuilder/block.d.ts +34 -0
- package/dist/types/types/pageBuilder/blocks.d.ts +82 -0
- package/dist/types/types/pageBuilder/cache.d.ts +33 -0
- package/dist/types/types/pageBuilder/editor.d.ts +15 -0
- package/dist/types/types/pageBuilder/field.d.ts +11 -0
- package/dist/types/types/pageBuilder/index.d.ts +24 -0
- package/dist/types/types/pageBuilder/revisions.d.ts +40 -0
- package/dist/types/types/pageBuilder/templates.d.ts +62 -0
- package/dist/types/types/pattern.d.ts +40 -0
- package/dist/types/types/payment.d.ts +21 -0
- package/dist/types/types/payments.d.ts +10 -0
- package/dist/types/types/pipeline.d.ts +12 -0
- package/dist/types/types/pixi/filter-args.d.ts +274 -0
- package/dist/types/types/pixi/filters-extended.d.ts +157 -0
- package/dist/types/types/pixi/filters.d.ts +38 -0
- package/dist/types/types/preview.d.ts +36 -0
- package/dist/types/types/pricing.d.ts +31 -0
- package/dist/types/types/quickbooks.d.ts +43 -0
- package/dist/types/types/receipt.d.ts +121 -0
- package/dist/types/types/rewards.d.ts +110 -0
- package/dist/types/types/saved-cart.d.ts +51 -0
- package/dist/types/types/settings.d.ts +63 -0
- package/dist/types/types/shipment.d.ts +62 -0
- package/dist/types/types/shipping.d.ts +98 -0
- package/dist/types/types/sidebar-variations.d.ts +226 -0
- package/dist/types/types/slots.d.ts +2 -0
- package/dist/types/types/specification-types.d.ts +70 -0
- package/dist/types/types/specifications.d.ts +163 -0
- package/dist/types/types/store.d.ts +64 -0
- package/dist/types/types/template.d.ts +8 -0
- package/dist/types/types/user.d.ts +47 -0
- package/dist/types/types/variant-groups.d.ts +158 -0
- package/dist/types/types/wishlist.d.ts +73 -0
- package/dist/types/types/workflow-wizard.d.ts +12 -0
- package/dist/types/video.d.ts +449 -0
- package/dist/utils/category-tree-constants.d.ts +42 -0
- package/dist/utils/cookies.d.ts +3 -0
- package/dist/utils/crypto-polyfill.d.ts +4 -0
- package/dist/utils/datetime.d.ts +43 -0
- package/dist/utils/debounce.d.ts +10 -0
- package/dist/utils/debugConsole.d.ts +69 -0
- package/dist/utils/editor/argHelpers.d.ts +6 -0
- package/dist/utils/formatters.d.ts +105 -0
- package/dist/utils/isPresignedAwsUrl.d.ts +67 -0
- package/dist/utils/media-helpers.d.ts +34 -0
- package/dist/utils/normalisePricing.d.ts +11 -0
- package/dist/utils/recipe-generator.d.ts +34 -0
- package/dist/utils/string.d.ts +29 -0
- package/dist/utils/unwrapApiResponse.d.ts +5 -0
- package/dist/utils/uuid.d.ts +30 -0
- package/dist/utils/validators.d.ts +28 -0
- package/dist/utils/video-export.d.ts +60 -0
- package/dist/v3-ionic-1-demo.html +440 -0
- package/dist/video-engine/VideoEngine.d.ts +267 -0
- package/dist/video-engine/adapters/AudioManager.d.ts +106 -0
- package/dist/video-engine/adapters/CSSFilterAdapter.d.ts +106 -0
- package/dist/video-engine/adapters/ExportManager.d.ts +88 -0
- package/dist/video-engine/adapters/FilterBridge.d.ts +96 -0
- package/dist/video-engine/adapters/MediablesCompositionAdapter.d.ts +56 -0
- package/dist/video-engine/adapters/PixiFrameExporter.d.ts +52 -0
- package/dist/video-engine/adapters/RenderQueue.d.ts +119 -0
- package/dist/video-engine/adapters/TextOverlayManager.d.ts +93 -0
- package/dist/video-engine/adapters/TimelineAdapter.d.ts +58 -0
- package/dist/video-engine/adapters/TransitionManager.d.ts +76 -0
- package/dist/video-engine/adapters/WebCodecsExport.d.ts +36 -0
- package/dist/video-engine/compositions/examples/example.d.ts +2 -0
- package/dist/video-engine/filters/CSSFilterSystem.d.ts +213 -0
- package/dist/video-engine/index.d.ts +14 -0
- package/dist/video-engine/presets/ExportPresets.d.ts +70 -0
- package/dist/video-engine/types/index.d.ts +96 -0
- package/dist/video-engine/types.d.ts +1 -0
- package/dist/video-engine/utils/EventEmitter.d.ts +12 -0
- package/dist/video-engine/utils/MediaSourceResolver.d.ts +9 -0
- package/dist/video-engine/utils/error-reporter.d.ts +159 -0
- package/dist/video-engine/utils/keyboard-shortcuts.d.ts +120 -0
- package/dist/video-engine/utils/pixi-video-fallback.d.ts +2 -0
- package/docs/video-subsystem/README.md +490 -0
- package/docs/video-subsystem/api-reference.md +747 -0
- package/docs/video-subsystem/component-examples.md +1477 -0
- package/docs/video-subsystem/integration-guide.md +1021 -0
- package/package.json +102 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main VideoEngine class
|
|
3
|
+
* Provides high-level API for video editing operations
|
|
4
|
+
*/
|
|
5
|
+
import type { VideoComposition, VideoClip, TextOverlay, Transition, Filter, ExportOptions, ExportResult, EngineState, EngineOptions, AudioTrack, BrowserCapabilities, PerformanceMetrics, PerformanceBottleneck, OptimizationSuggestion, MemoryUsage, EngineEvent } from './types';
|
|
6
|
+
interface FilterDefinition {
|
|
7
|
+
type: string;
|
|
8
|
+
name: string;
|
|
9
|
+
min: number;
|
|
10
|
+
max: number;
|
|
11
|
+
default: number;
|
|
12
|
+
}
|
|
13
|
+
interface TransitionDefinition {
|
|
14
|
+
type: string;
|
|
15
|
+
name: string;
|
|
16
|
+
}
|
|
17
|
+
export default class VideoEngine {
|
|
18
|
+
private adapter;
|
|
19
|
+
private composition;
|
|
20
|
+
private state;
|
|
21
|
+
private lastError;
|
|
22
|
+
private eventListeners;
|
|
23
|
+
private options;
|
|
24
|
+
private currentTime;
|
|
25
|
+
private isPlaying;
|
|
26
|
+
private playbackRate;
|
|
27
|
+
private previewCanvas;
|
|
28
|
+
private exportProgress;
|
|
29
|
+
private memoryUsage;
|
|
30
|
+
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Initialize the video engine
|
|
33
|
+
*/
|
|
34
|
+
initialize(options?: EngineOptions): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Destroy the engine and cleanup resources
|
|
37
|
+
*/
|
|
38
|
+
destroy(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Reset the engine to initial state
|
|
41
|
+
*/
|
|
42
|
+
reset(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Load a composition
|
|
45
|
+
*/
|
|
46
|
+
loadComposition(composition: VideoComposition): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Get current composition
|
|
49
|
+
*/
|
|
50
|
+
getComposition(): VideoComposition | null;
|
|
51
|
+
/**
|
|
52
|
+
* Clear current composition
|
|
53
|
+
*/
|
|
54
|
+
clearComposition(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Save current composition
|
|
57
|
+
*/
|
|
58
|
+
saveComposition(): VideoComposition;
|
|
59
|
+
/**
|
|
60
|
+
* Play video
|
|
61
|
+
*/
|
|
62
|
+
play(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Pause video
|
|
65
|
+
*/
|
|
66
|
+
pause(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Stop video
|
|
69
|
+
*/
|
|
70
|
+
stop(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Seek to time
|
|
73
|
+
*/
|
|
74
|
+
seek(time: number): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Get current time
|
|
77
|
+
*/
|
|
78
|
+
getCurrentTime(): number;
|
|
79
|
+
/**
|
|
80
|
+
* Get duration
|
|
81
|
+
*/
|
|
82
|
+
getDuration(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Get engine state
|
|
85
|
+
*/
|
|
86
|
+
getState(): EngineState;
|
|
87
|
+
/**
|
|
88
|
+
* Set playback rate
|
|
89
|
+
*/
|
|
90
|
+
setPlaybackRate(rate: number): void;
|
|
91
|
+
/**
|
|
92
|
+
* Add a clip
|
|
93
|
+
*/
|
|
94
|
+
addClip(clip: VideoClip): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Remove a clip
|
|
97
|
+
*/
|
|
98
|
+
removeClip(clipId: string): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Update a clip
|
|
101
|
+
*/
|
|
102
|
+
updateClip(clipId: string, updates: Partial<VideoClip>): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Move a clip
|
|
105
|
+
*/
|
|
106
|
+
moveClip(clipId: string, newStartTime: number, newTrack?: number): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Trim a clip
|
|
109
|
+
*/
|
|
110
|
+
trimClip(clipId: string, inPoint: number, outPoint: number): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Split a clip
|
|
113
|
+
*/
|
|
114
|
+
splitClip(clipId: string, splitTime: number): Promise<[VideoClip, VideoClip]>;
|
|
115
|
+
/**
|
|
116
|
+
* Apply a filter
|
|
117
|
+
*/
|
|
118
|
+
applyFilter(filter: Filter): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Remove a filter
|
|
121
|
+
*/
|
|
122
|
+
removeFilter(filterId: string): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Update a filter
|
|
125
|
+
*/
|
|
126
|
+
updateFilter(filterId: string, updates: Partial<Filter>): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Get available filters
|
|
129
|
+
*/
|
|
130
|
+
getAvailableFilters(): FilterDefinition[];
|
|
131
|
+
/**
|
|
132
|
+
* Add text overlay
|
|
133
|
+
*/
|
|
134
|
+
addTextOverlay(text: TextOverlay): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Remove text overlay
|
|
137
|
+
*/
|
|
138
|
+
removeTextOverlay(textId: string): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Update text overlay
|
|
141
|
+
*/
|
|
142
|
+
updateTextOverlay(textId: string, updates: Partial<TextOverlay>): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Add transition
|
|
145
|
+
*/
|
|
146
|
+
addTransition(transition: Transition): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Remove transition
|
|
149
|
+
*/
|
|
150
|
+
removeTransition(transitionId: string): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Update transition
|
|
153
|
+
*/
|
|
154
|
+
updateTransition(transitionId: string, updates: Partial<Transition>): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Get available transitions
|
|
157
|
+
*/
|
|
158
|
+
getAvailableTransitions(): TransitionDefinition[];
|
|
159
|
+
/**
|
|
160
|
+
* Set volume
|
|
161
|
+
*/
|
|
162
|
+
setVolume(clipId: string, volume: number): void;
|
|
163
|
+
/**
|
|
164
|
+
* Mute clip
|
|
165
|
+
*/
|
|
166
|
+
muteClip(clipId: string, muted: boolean): void;
|
|
167
|
+
/**
|
|
168
|
+
* Add audio track
|
|
169
|
+
*/
|
|
170
|
+
addAudioTrack(audio: AudioTrack): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Remove audio track
|
|
173
|
+
*/
|
|
174
|
+
removeAudioTrack(trackId: string): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Export video
|
|
177
|
+
*/
|
|
178
|
+
export(_options: ExportOptions): Promise<ExportResult>;
|
|
179
|
+
/**
|
|
180
|
+
* Start export
|
|
181
|
+
*/
|
|
182
|
+
startExport(options: ExportOptions): void;
|
|
183
|
+
/**
|
|
184
|
+
* Cancel export
|
|
185
|
+
*/
|
|
186
|
+
cancelExport(): void;
|
|
187
|
+
/**
|
|
188
|
+
* Check if can export
|
|
189
|
+
*/
|
|
190
|
+
canExport(_options: ExportOptions): Promise<boolean>;
|
|
191
|
+
/**
|
|
192
|
+
* Get export progress
|
|
193
|
+
*/
|
|
194
|
+
getExportProgress(): number;
|
|
195
|
+
/**
|
|
196
|
+
* Check if currently playing
|
|
197
|
+
*/
|
|
198
|
+
getIsPlaying(): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Get current playback rate
|
|
201
|
+
*/
|
|
202
|
+
getPlaybackRate(): number;
|
|
203
|
+
/**
|
|
204
|
+
* Render frame
|
|
205
|
+
*/
|
|
206
|
+
renderFrame(time: number): Promise<void>;
|
|
207
|
+
/**
|
|
208
|
+
* Get preview canvas
|
|
209
|
+
*/
|
|
210
|
+
getPreviewCanvas(): HTMLCanvasElement;
|
|
211
|
+
/**
|
|
212
|
+
* Get preview dimensions
|
|
213
|
+
*/
|
|
214
|
+
getPreviewDimensions(): {
|
|
215
|
+
width: number;
|
|
216
|
+
height: number;
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Set preview quality
|
|
220
|
+
*/
|
|
221
|
+
setPreviewQuality(quality: 'low' | 'medium' | 'high'): void;
|
|
222
|
+
/**
|
|
223
|
+
* Get performance metrics
|
|
224
|
+
*/
|
|
225
|
+
getPerformanceMetrics(): PerformanceMetrics;
|
|
226
|
+
/**
|
|
227
|
+
* Analyze performance
|
|
228
|
+
*/
|
|
229
|
+
analyzePerformance(): Promise<PerformanceBottleneck[]>;
|
|
230
|
+
/**
|
|
231
|
+
* Get optimization suggestions
|
|
232
|
+
*/
|
|
233
|
+
getOptimizationSuggestions(): Promise<OptimizationSuggestion[]>;
|
|
234
|
+
/**
|
|
235
|
+
* Get memory usage
|
|
236
|
+
*/
|
|
237
|
+
getMemoryUsage(): MemoryUsage;
|
|
238
|
+
/**
|
|
239
|
+
* Check capabilities
|
|
240
|
+
*/
|
|
241
|
+
checkCapabilities(): Promise<BrowserCapabilities>;
|
|
242
|
+
/**
|
|
243
|
+
* Check codec support
|
|
244
|
+
*/
|
|
245
|
+
isCodecSupported(codec: string): Promise<boolean>;
|
|
246
|
+
/**
|
|
247
|
+
* Get max resolution
|
|
248
|
+
*/
|
|
249
|
+
getMaxResolution(): {
|
|
250
|
+
width: number;
|
|
251
|
+
height: number;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Event handling
|
|
255
|
+
*/
|
|
256
|
+
on(event: EngineEvent, handler: Function): void;
|
|
257
|
+
off(event: EngineEvent, handler: Function): void;
|
|
258
|
+
once(event: EngineEvent, handler: Function): void;
|
|
259
|
+
private emit;
|
|
260
|
+
/**
|
|
261
|
+
* Error handling
|
|
262
|
+
*/
|
|
263
|
+
simulateCriticalError(error: Error): void;
|
|
264
|
+
getLastError(): Error | null;
|
|
265
|
+
clearError(): void;
|
|
266
|
+
}
|
|
267
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as core from '../core/mediables-engine.js';
|
|
2
|
+
type Composition = core.Composition;
|
|
3
|
+
type AudioClip = core.AudioClip;
|
|
4
|
+
type AudioSource = core.AudioSource;
|
|
5
|
+
type Track = core.Track;
|
|
6
|
+
export interface AudioTrackConfig {
|
|
7
|
+
source: string | File | AudioSource;
|
|
8
|
+
volume?: number;
|
|
9
|
+
startTime?: number;
|
|
10
|
+
duration?: number;
|
|
11
|
+
fadeIn?: number;
|
|
12
|
+
fadeOut?: number;
|
|
13
|
+
loop?: boolean;
|
|
14
|
+
name?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AudioLayer {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
clip: AudioClip;
|
|
20
|
+
track: Track;
|
|
21
|
+
config: AudioTrackConfig;
|
|
22
|
+
}
|
|
23
|
+
export declare class AudioManager {
|
|
24
|
+
private composition;
|
|
25
|
+
private audioLayers;
|
|
26
|
+
private audioSources;
|
|
27
|
+
private nextId;
|
|
28
|
+
private masterVolume;
|
|
29
|
+
constructor(composition: Composition);
|
|
30
|
+
/**
|
|
31
|
+
* Load an audio source
|
|
32
|
+
*/
|
|
33
|
+
loadAudioSource(url: string, name?: string): Promise<AudioSource>;
|
|
34
|
+
/**
|
|
35
|
+
* Add background music track
|
|
36
|
+
*/
|
|
37
|
+
addBackgroundMusic(config: AudioTrackConfig): Promise<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Add an audio track to the composition
|
|
40
|
+
*/
|
|
41
|
+
addAudioTrack(config: AudioTrackConfig): Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Create volume keyframes for fade effects
|
|
44
|
+
*/
|
|
45
|
+
private createVolumeKeyframes;
|
|
46
|
+
/**
|
|
47
|
+
* Update audio track volume
|
|
48
|
+
*/
|
|
49
|
+
updateVolume(id: string, volume: number): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Apply fade in effect to an audio track
|
|
52
|
+
*/
|
|
53
|
+
applyFadeIn(id: string, duration: number): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Apply fade out effect to an audio track
|
|
56
|
+
*/
|
|
57
|
+
applyFadeOut(id: string, duration: number): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Remove an audio track
|
|
60
|
+
*/
|
|
61
|
+
removeAudioTrack(id: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Mute/unmute an audio track
|
|
64
|
+
*/
|
|
65
|
+
muteTrack(id: string, muted: boolean): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Set master volume (affects all tracks)
|
|
68
|
+
*/
|
|
69
|
+
setMasterVolume(volume: number): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get master volume
|
|
72
|
+
*/
|
|
73
|
+
getMasterVolume(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Get all audio layers
|
|
76
|
+
*/
|
|
77
|
+
getAudioLayers(): AudioLayer[];
|
|
78
|
+
/**
|
|
79
|
+
* Get audio layer by ID
|
|
80
|
+
*/
|
|
81
|
+
getAudioLayer(id: string): AudioLayer | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Clear all audio tracks
|
|
84
|
+
*/
|
|
85
|
+
clearAllAudioTracks(): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Sync audio with video timeline
|
|
88
|
+
*/
|
|
89
|
+
syncWithVideo(videoStartTime: number, videoEndTime: number): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Export audio configuration for saving
|
|
92
|
+
*/
|
|
93
|
+
exportConfiguration(): Array<{
|
|
94
|
+
id: string;
|
|
95
|
+
name: string;
|
|
96
|
+
config: AudioTrackConfig;
|
|
97
|
+
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Import audio configuration
|
|
100
|
+
*/
|
|
101
|
+
importConfiguration(configs: Array<{
|
|
102
|
+
name: string;
|
|
103
|
+
config: AudioTrackConfig;
|
|
104
|
+
}>): Promise<void>;
|
|
105
|
+
}
|
|
106
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS Filter Adapter for Video Composition
|
|
3
|
+
* Replaces PIXI filters with native CSS filters for reliable video export
|
|
4
|
+
*/
|
|
5
|
+
import * as core from '../core/mediables-engine.js';
|
|
6
|
+
import type { VideoRecipe, AppliedFilter } from '../../types/video';
|
|
7
|
+
export declare class CSSFilterCompositionAdapter {
|
|
8
|
+
readonly composition: core.Composition;
|
|
9
|
+
private clips;
|
|
10
|
+
private clipTimelineStart;
|
|
11
|
+
private initPromise;
|
|
12
|
+
private fitMode;
|
|
13
|
+
private fps;
|
|
14
|
+
private resizeObserver;
|
|
15
|
+
private clipFilterManagers;
|
|
16
|
+
private currentFilterString;
|
|
17
|
+
private originalComputeFrame;
|
|
18
|
+
private renderCanvas;
|
|
19
|
+
private renderContext;
|
|
20
|
+
constructor(width?: number, height?: number, fps?: number, options?: {
|
|
21
|
+
fitMode?: 'none' | 'contain' | 'cover';
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Setup render interception to apply CSS filters
|
|
25
|
+
*/
|
|
26
|
+
private setupRenderInterception;
|
|
27
|
+
/**
|
|
28
|
+
* Apply CSS filters to the composition's canvas
|
|
29
|
+
*/
|
|
30
|
+
private applyCSSFiltersToCanvas;
|
|
31
|
+
/**
|
|
32
|
+
* Get the currently active clip ID based on playback position
|
|
33
|
+
*/
|
|
34
|
+
private getCurrentClipId;
|
|
35
|
+
/**
|
|
36
|
+
* Load a recipe and create the composition
|
|
37
|
+
*/
|
|
38
|
+
loadRecipe(recipe: VideoRecipe, mediaUrls?: Record<string, string>): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Convenience alias used by legacy callers.
|
|
41
|
+
* Resolves the media URL and delegates to `loadRecipe()`.
|
|
42
|
+
*/
|
|
43
|
+
loadFromRecipe(recipe: VideoRecipe): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Move a clip to a new timeline start (seconds).
|
|
46
|
+
*/
|
|
47
|
+
moveClip(clipId: string, newTimelineStart: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Trim a clip's source range (seconds).
|
|
50
|
+
* Only applies to video clips.
|
|
51
|
+
*/
|
|
52
|
+
trimClip(clipId: string, sourceIn: number, sourceOut: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Apply CSS filters to a clip
|
|
55
|
+
*/
|
|
56
|
+
private applyFiltersToClip;
|
|
57
|
+
/**
|
|
58
|
+
* Update filters for a clip
|
|
59
|
+
*/
|
|
60
|
+
setClipFilters(clipId: string, filters: AppliedFilter[]): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get CSS filter string for export
|
|
63
|
+
* This is crucial for video export to work correctly
|
|
64
|
+
*/
|
|
65
|
+
getCSSFilterStringForExport(frame: number): string;
|
|
66
|
+
/**
|
|
67
|
+
* Add a timeline clip
|
|
68
|
+
*/
|
|
69
|
+
private addTimelineClip;
|
|
70
|
+
/**
|
|
71
|
+
* Add text overlay
|
|
72
|
+
*/
|
|
73
|
+
private addTextOverlay;
|
|
74
|
+
/**
|
|
75
|
+
* Apply fit mode to clip
|
|
76
|
+
*/
|
|
77
|
+
private applyFitToClip;
|
|
78
|
+
/**
|
|
79
|
+
* Attach player element
|
|
80
|
+
*/
|
|
81
|
+
attachPlayer(element: HTMLDivElement): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Playback controls
|
|
84
|
+
*/
|
|
85
|
+
play(): void;
|
|
86
|
+
pause(): void;
|
|
87
|
+
seek(frame: number): void;
|
|
88
|
+
seekToTime(seconds: number): void;
|
|
89
|
+
/**
|
|
90
|
+
* Export helpers
|
|
91
|
+
*/
|
|
92
|
+
get duration(): core.Timestamp;
|
|
93
|
+
get durationInSeconds(): number;
|
|
94
|
+
get currentTimeInSeconds(): number;
|
|
95
|
+
get width(): number;
|
|
96
|
+
get height(): number;
|
|
97
|
+
setFitMode(mode: 'none' | 'contain' | 'cover'): void;
|
|
98
|
+
/**
|
|
99
|
+
* Clean up
|
|
100
|
+
*/
|
|
101
|
+
dispose(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Legacy alias for `dispose()`.
|
|
104
|
+
*/
|
|
105
|
+
destroy(): void;
|
|
106
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ExportManager - Handles video export using Mediables video engine's Encoder
|
|
3
|
+
* Supports multiple formats, quality presets, and progress tracking
|
|
4
|
+
*/
|
|
5
|
+
import type { Composition } from '../core/mediables-engine.js';
|
|
6
|
+
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
7
|
+
export interface ExportOptions {
|
|
8
|
+
format?: 'mp4' | 'webm';
|
|
9
|
+
quality?: 'high' | 'medium' | 'low' | 'custom';
|
|
10
|
+
resolution?: {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
};
|
|
14
|
+
fps?: number;
|
|
15
|
+
bitrate?: number;
|
|
16
|
+
watermark?: {
|
|
17
|
+
text?: string;
|
|
18
|
+
imageUrl?: string;
|
|
19
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center';
|
|
20
|
+
opacity?: number;
|
|
21
|
+
};
|
|
22
|
+
onProgress?: (percent: number) => void;
|
|
23
|
+
signal?: AbortSignal;
|
|
24
|
+
}
|
|
25
|
+
export interface ExportResult {
|
|
26
|
+
blob: Blob;
|
|
27
|
+
format: string;
|
|
28
|
+
resolution: {
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
};
|
|
32
|
+
fps: number;
|
|
33
|
+
duration: number;
|
|
34
|
+
size: number;
|
|
35
|
+
exportTime: number;
|
|
36
|
+
}
|
|
37
|
+
export declare class ExportManager extends EventEmitter {
|
|
38
|
+
private composition;
|
|
39
|
+
private encoder;
|
|
40
|
+
private isExporting;
|
|
41
|
+
private exportStartTime;
|
|
42
|
+
private abortController;
|
|
43
|
+
constructor(composition: Composition);
|
|
44
|
+
/**
|
|
45
|
+
* Export the composition with specified options
|
|
46
|
+
*/
|
|
47
|
+
export(options?: ExportOptions): Promise<ExportResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Ensure composition duration is non-trivial and renderer is initialized
|
|
50
|
+
*/
|
|
51
|
+
private ensureCompositionReady;
|
|
52
|
+
/**
|
|
53
|
+
* Apply quality preset to get export configuration
|
|
54
|
+
*/
|
|
55
|
+
private applyQualityPreset;
|
|
56
|
+
/**
|
|
57
|
+
* Add watermark to the composition
|
|
58
|
+
*/
|
|
59
|
+
private addWatermark;
|
|
60
|
+
/**
|
|
61
|
+
* Convert watermark position to x/y coordinates
|
|
62
|
+
*/
|
|
63
|
+
private getWatermarkPosition;
|
|
64
|
+
/**
|
|
65
|
+
* Set up progress tracking
|
|
66
|
+
*/
|
|
67
|
+
private setupProgressTracking;
|
|
68
|
+
/**
|
|
69
|
+
* Cancel the current export
|
|
70
|
+
*/
|
|
71
|
+
cancel(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Clean up resources
|
|
74
|
+
*/
|
|
75
|
+
private cleanup;
|
|
76
|
+
/**
|
|
77
|
+
* Check if export is in progress
|
|
78
|
+
*/
|
|
79
|
+
get exporting(): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Get supported export formats
|
|
82
|
+
*/
|
|
83
|
+
static getSupportedFormats(): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Check if WebCodecs API is available
|
|
86
|
+
*/
|
|
87
|
+
static isWebCodecsSupported(): boolean;
|
|
88
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FilterBridge - Bridge between PIXI filters and Mediables video engine
|
|
3
|
+
*
|
|
4
|
+
* Maps mediables filter types to PIXI filters for video engine rendering
|
|
5
|
+
*/
|
|
6
|
+
import type { Filter as PIXIFilter } from '@pixi/core';
|
|
7
|
+
import type { AppliedFilter } from '../../types/video';
|
|
8
|
+
export declare class FilterBridge {
|
|
9
|
+
private pixiFilters;
|
|
10
|
+
private filterParams;
|
|
11
|
+
private filterTypes;
|
|
12
|
+
private filterIntensity;
|
|
13
|
+
private composition;
|
|
14
|
+
constructor(composition?: any);
|
|
15
|
+
/**
|
|
16
|
+
* Set the composition to apply filters to
|
|
17
|
+
*/
|
|
18
|
+
setComposition(composition: any): void;
|
|
19
|
+
/**
|
|
20
|
+
* Map mediables filter type to PIXI filter
|
|
21
|
+
*/
|
|
22
|
+
mapMediablesToPIXI(filter: AppliedFilter): PIXIFilter | null;
|
|
23
|
+
/**
|
|
24
|
+
* Create a blur filter
|
|
25
|
+
*/
|
|
26
|
+
private createBlurFilter;
|
|
27
|
+
/**
|
|
28
|
+
* Create a brightness filter using ColorMatrix
|
|
29
|
+
*/
|
|
30
|
+
private createBrightnessFilter;
|
|
31
|
+
/**
|
|
32
|
+
* Create a contrast filter using ColorMatrix
|
|
33
|
+
*/
|
|
34
|
+
private createContrastFilter;
|
|
35
|
+
/**
|
|
36
|
+
* Create a saturation filter using ColorMatrix
|
|
37
|
+
*/
|
|
38
|
+
private createSaturationFilter;
|
|
39
|
+
/**
|
|
40
|
+
* Create a hue filter using ColorMatrix
|
|
41
|
+
*/
|
|
42
|
+
private createHueFilter;
|
|
43
|
+
/**
|
|
44
|
+
* Create a vintage filter effect
|
|
45
|
+
*/
|
|
46
|
+
private createVintageFilter;
|
|
47
|
+
/**
|
|
48
|
+
* Create a grayscale filter
|
|
49
|
+
*/
|
|
50
|
+
private createGrayscaleFilter;
|
|
51
|
+
/**
|
|
52
|
+
* Create a sepia filter
|
|
53
|
+
*/
|
|
54
|
+
private createSepiaFilter;
|
|
55
|
+
/**
|
|
56
|
+
* Apply filters to composition
|
|
57
|
+
*/
|
|
58
|
+
applyFilters(filters: AppliedFilter[]): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Apply a single filter to the composition
|
|
61
|
+
*/
|
|
62
|
+
private applyToComposition;
|
|
63
|
+
/**
|
|
64
|
+
* Update filter parameters in real-time
|
|
65
|
+
*/
|
|
66
|
+
updateFilterParams(filterId: string, params: any): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get current filter parameters
|
|
69
|
+
*/
|
|
70
|
+
getFilterParams(filterId: string): any;
|
|
71
|
+
/**
|
|
72
|
+
* Remove a specific filter
|
|
73
|
+
*/
|
|
74
|
+
removeFilter(filterId: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Clear all filters
|
|
77
|
+
*/
|
|
78
|
+
clearFilters(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get all active PIXI filters
|
|
81
|
+
*/
|
|
82
|
+
getActiveFilters(): PIXIFilter[];
|
|
83
|
+
/**
|
|
84
|
+
* Export filter configuration for recipe
|
|
85
|
+
*/
|
|
86
|
+
exportFilterConfig(): AppliedFilter[];
|
|
87
|
+
/**
|
|
88
|
+
* Import filter configuration from recipe
|
|
89
|
+
*/
|
|
90
|
+
importFilterConfig(filters: AppliedFilter[]): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Clean up resources
|
|
93
|
+
*/
|
|
94
|
+
destroy(): void;
|
|
95
|
+
}
|
|
96
|
+
export default FilterBridge;
|