reacthub-pixitweenjs 0.2.109-alpha.7 → 0.3.0-alpha.4
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/LICENSE +8 -16
- package/LICENSE.md +79 -239
- package/README.md +253 -106
- package/dist/components/AepComposition/Aep3DPostFx.d.ts +7 -0
- package/dist/components/AepComposition/Aep3DPrecompPlane.d.ts +9 -0
- package/dist/components/AepComposition/Aep3DScene.d.ts +14 -0
- package/dist/components/AepComposition/Aep3DShapeMesh.d.ts +13 -0
- package/dist/components/AepComposition/Aep3DTextMesh.d.ts +17 -0
- package/dist/components/AepComposition/AepAssetResolver.d.ts +13 -0
- package/dist/components/AepComposition/AepAudioLayer.d.ts +34 -0
- package/dist/components/AepComposition/AepComposition.d.ts +18 -0
- package/dist/components/AepComposition/AepLayerProvider.d.ts +30 -0
- package/dist/components/AepComposition/AepLayerRouter.d.ts +5 -0
- package/dist/components/AepComposition/AepMsdfTextMesh.d.ts +17 -0
- package/dist/components/AepComposition/AepPrecompRenderContext.d.ts +23 -0
- package/dist/components/AepComposition/AepPrecompRenderer.d.ts +8 -0
- package/dist/components/AepComposition/AepTextOverrideContext.d.ts +8 -0
- package/dist/components/AepComposition/AepThemeContext.d.ts +8 -0
- package/dist/components/AepComposition/AudioPlaybackManager.d.ts +38 -0
- package/dist/components/AepComposition/composeTransform3D.d.ts +27 -0
- package/dist/components/AepComposition/index.d.ts +42 -0
- package/dist/components/AepComposition/matteSourceIds.d.ts +2 -0
- package/dist/components/AepComposition/model3d/Pixi3DModelLayer.d.ts +9 -0
- package/dist/components/AepComposition/model3d/ThreeOffscreenRenderer.d.ts +49 -0
- package/dist/components/AepComposition/model3d/framing.d.ts +30 -0
- package/dist/components/AepComposition/model3d/geometry.d.ts +27 -0
- package/dist/components/AepComposition/model3d/index.d.ts +14 -0
- package/dist/components/AepComposition/model3d/lighting.d.ts +40 -0
- package/dist/components/AepComposition/model3d/readiness.d.ts +17 -0
- package/dist/components/AepComposition/model3d/sampleModel3D.d.ts +40 -0
- package/dist/components/AepComposition/msdfAtlasRegistry.d.ts +16 -0
- package/dist/components/AepComposition/pathToThreeShape.d.ts +4 -0
- package/dist/components/AepComposition/resolveParentChain.d.ts +3 -0
- package/dist/components/AepComposition/resolvePostFxList.d.ts +2 -0
- package/dist/components/AepComposition/shouldSplitText.d.ts +26 -0
- package/dist/components/AepComposition/threeTextureFromPixi.d.ts +8 -0
- package/dist/components/AepComposition/useAepLayerTransform.d.ts +18 -0
- package/dist/components/AepComposition/useAepLayerTransform3D.d.ts +8 -0
- package/dist/components/AepComposition/useMsdfAtlasRegistry.d.ts +6 -0
- package/dist/components/AepComposition/usePixiRenderTexture.d.ts +14 -0
- package/dist/components/AepComposition/useResolveAsset.d.ts +8 -0
- package/dist/components/AepMask/AepMaskContainer.d.ts +9 -0
- package/dist/components/AepMask/PixiTrackMatte.d.ts +10 -0
- package/dist/components/AepMask/drawAepMask.d.ts +3 -0
- package/dist/components/AepMask/index.d.ts +5 -0
- package/dist/components/PixiAudioSprite/HowlerAudioSprite.d.ts +12 -8
- package/dist/components/PixiAudioSprite/PixiAudioSprite.d.ts +43 -3
- package/dist/components/PixiAudioSprite/index.d.ts +3 -0
- package/dist/components/PixiAudioSprite/useAudioVisualizer.d.ts +30 -15
- package/dist/components/PixiAudioSprite/wave-config.d.ts +0 -1
- package/dist/components/PixiCaptionsTrack/PixiCaptionsTrack.d.ts +86 -0
- package/dist/components/PixiCaptionsTrack/index.d.ts +5 -0
- package/dist/components/PixiCaptionsTrack/useCaptionPlayhead.d.ts +31 -0
- package/dist/components/PixiCaptionsTrack/useCaptionStyles.d.ts +45 -0
- package/dist/components/PixiCaptionsTrack/useEmojiTextures.d.ts +8 -0
- package/dist/components/PixiGifSprite/PixiGifGsapSync.d.ts +11 -10
- package/dist/components/PixiImageSprite/PixiImageSprite.d.ts +28 -2
- package/dist/components/PixiLottieSprite/PixiLottieSprite.d.ts +5 -2
- package/dist/components/PixiNullObject/PixiNullObject.d.ts +25 -0
- package/dist/components/PixiNullObject/index.d.ts +2 -0
- package/dist/components/PixiPreComp/PixiPreComp.d.ts +29 -0
- package/dist/components/PixiPreComp/index.d.ts +3 -0
- package/dist/components/PixiPreComp/validatePrecompDepth.d.ts +2 -0
- package/dist/components/PixiRemotionSprite/PixiRemotionGifSprite.d.ts +24 -0
- package/dist/components/PixiRemotionSprite/PixiRemotionImageSprite.d.ts +18 -0
- package/dist/components/PixiRemotionSprite/PixiRemotionSprite.d.ts +5 -2
- package/dist/components/PixiRemotionSprite/PixiRemotionVideoCanvaSprite.d.ts +20 -0
- package/dist/components/PixiRemotionSprite/index.d.ts +4 -0
- package/dist/components/PixiSVGSprite/PixiMorphSvgSprite.d.ts +35 -0
- package/dist/components/PixiSVGSprite/PixiSvgImageSprite.d.ts +35 -0
- package/dist/components/PixiSVGSprite/PixiSvgPathSprite.d.ts +21 -4
- package/dist/components/PixiSVGSprite/PixiSvgRawSprite.d.ts +30 -0
- package/dist/components/PixiSVGSprite/index.d.ts +5 -0
- package/dist/components/PixiSequence/PixiSequence.d.ts +29 -5
- package/dist/components/PixiShapeLayer/PixiShapeLayer.d.ts +43 -0
- package/dist/components/PixiShapeLayer/drawShape.d.ts +20 -0
- package/dist/components/PixiShapeLayer/index.d.ts +4 -0
- package/dist/components/PixiShapeLayer/samplePath.d.ts +5 -0
- package/dist/components/PixiTextSprite/PixiTextSplit.d.ts +26 -0
- package/dist/components/PixiTextSprite/PixiTextSprite.d.ts +42 -5
- package/dist/components/PixiTextSprite/index.d.ts +3 -0
- package/dist/components/PixiTextSprite/resolveTextSplitFills.d.ts +27 -0
- package/dist/components/PixiTextSprite/textAnimator.d.ts +22 -0
- package/dist/components/PixiThreeSprite/PixiThreeModelSprite.d.ts +23 -0
- package/dist/components/PixiThreeSprite/PixiThreeSprite.d.ts +14 -0
- package/dist/components/PixiThreeSprite/index.d.ts +4 -0
- package/dist/components/PixiUnifiedTransformer/PixiUnifiedTransformer.d.ts +20 -8
- package/dist/components/PixiVideoSprite/PixiVideoCanvasSync.d.ts +3 -1
- package/dist/components/PixiVideoSprite/PixiVideoSprite.d.ts +31 -2
- package/dist/components/index.d.ts +7 -0
- package/dist/constants/animation.d.ts +232 -0
- package/dist/constants/animationConstants.d.ts +90 -0
- package/dist/constants/elementNames.d.ts +4 -0
- package/dist/events/Events.d.ts +0 -1
- package/dist/filters/animated-vfx/AnimatedVfxFilter.d.ts +19 -0
- package/dist/filters/animated-vfx/composeShader.d.ts +2 -0
- package/dist/filters/animated-vfx/index.d.ts +14 -0
- package/dist/filters/animated-vfx/registry/animatedVfxRegistry.d.ts +65 -0
- package/dist/filters/animated-vfx/registry/waveTearVariants.d.ts +14 -0
- package/dist/filters/animated-vfx/toStrength.d.ts +1 -0
- package/dist/filters/animated-vfx/types.d.ts +18 -0
- package/dist/filters/animatedVfxFilters.d.ts +1 -0
- package/dist/filters/blend-mode/createBlendCompositeFilter.d.ts +26 -0
- package/dist/filters/edge-feather/EdgeFeatherFilter.d.ts +19 -0
- package/dist/filters/plate-key/PlateKeyFilter.d.ts +29 -0
- package/dist/hocs/AbstractContainer.d.ts +8 -1
- package/dist/hocs/BorderMaskContainer.d.ts +43 -0
- package/dist/hocs/OverlayTilingSprite.d.ts +3 -3
- package/dist/hocs/drawMaskShape.d.ts +7 -0
- package/dist/hocs/index.d.ts +5 -0
- package/dist/hooks/aep/buildAudioLevelTimeline.d.ts +7 -0
- package/dist/hooks/aep/buildBezierPathTimeline.d.ts +13 -0
- package/dist/hooks/aep/buildColorValueTimeline.d.ts +24 -0
- package/dist/hooks/aep/buildLayerTimeline.d.ts +20 -0
- package/dist/hooks/aep/buildScalarValueTimeline.d.ts +6 -0
- package/dist/hooks/aep/buildVec2ValueTimeline.d.ts +17 -0
- package/dist/hooks/aep/easeCache.d.ts +3 -0
- package/dist/hooks/aep/effectRegistry.d.ts +5 -0
- package/dist/hooks/aep/effects/brightnessContrast.d.ts +2 -0
- package/dist/hooks/aep/effects/dropShadow.d.ts +2 -0
- package/dist/hooks/aep/effects/fastBoxBlur.d.ts +2 -0
- package/dist/hooks/aep/effects/gaussianBlur.d.ts +2 -0
- package/dist/hooks/aep/effects/glow.d.ts +2 -0
- package/dist/hooks/aep/effects/hueSaturation.d.ts +2 -0
- package/dist/hooks/aep/effects/index.d.ts +9 -0
- package/dist/hooks/aep/effects/levels.d.ts +2 -0
- package/dist/hooks/aep/effects/tint.d.ts +2 -0
- package/dist/hooks/aep/effects/types.d.ts +8 -0
- package/dist/hooks/aep/index.d.ts +22 -0
- package/dist/hooks/aep/interpolateBezierPath.d.ts +3 -0
- package/dist/hooks/aep/sampleAnimatable.d.ts +13 -0
- package/dist/hooks/aep/useAepBezierPathAnimator.d.ts +12 -0
- package/dist/hooks/aep/useAepColorAnimator.d.ts +11 -0
- package/dist/hooks/aep/useAepCurrentFrame.d.ts +1 -0
- package/dist/hooks/aep/useAepEffectKeyframes.d.ts +4 -0
- package/dist/hooks/aep/useAepEffects.d.ts +3 -0
- package/dist/hooks/aep/useAepKeyframes.d.ts +15 -0
- package/dist/hooks/aep/useAepTextLayout.d.ts +12 -0
- package/dist/hooks/aep/useAepValueAnimator.d.ts +2 -0
- package/dist/hooks/aep/useAepVec2Animator.d.ts +10 -0
- package/dist/hooks/aep/useTypefaceMetrics.d.ts +2 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/useBlendFilter.d.ts +17 -0
- package/dist/hooks/useDebouncedValue.d.ts +11 -0
- package/dist/hooks/useFontEpoch.d.ts +10 -0
- package/dist/hooks/usePixiAnimation.d.ts +24 -0
- package/dist/hooks/useSpriteFilters.d.ts +81 -0
- package/dist/hooks/useSvgTexture.d.ts +29 -0
- package/dist/hooks/video/useVideoLifecycle.d.ts +23 -0
- package/dist/hooks/video/useVideoTexture.d.ts +34 -0
- package/dist/hooks/video/useVideoTimelineSync.d.ts +24 -0
- package/dist/hooks/withEffectsHook.d.ts +325 -4
- package/dist/hooks/withFiltersHook.d.ts +104 -38
- package/dist/importers/aep/bodymovin-color-controls.d.ts +23 -0
- package/dist/importers/aep/bodymovin-color.d.ts +1 -0
- package/dist/importers/aep/bodymovin-keyframe.d.ts +42 -0
- package/dist/importers/aep/bodymovin-layer.d.ts +84 -0
- package/dist/importers/aep/bodymovin-transform.d.ts +12 -0
- package/dist/importers/aep/bodymovin.d.ts +7 -0
- package/dist/importers/aep/bodymovinCameras.d.ts +34 -0
- package/dist/importers/aep/bodymovinExtensions.d.ts +3 -0
- package/dist/importers/aep/bodymovinTextRuns.d.ts +13 -0
- package/dist/importers/aep/index.d.ts +7 -0
- package/dist/importers/aep/lottieLint.d.ts +23 -0
- package/dist/importers/aep/lottieLint.rules.d.ts +6 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.es.js +76991 -30787
- package/dist/index.umd.js +5621 -1699
- package/dist/lib/pixi-essentials/bounds/AxisAlignedBounds.d.ts +121 -0
- package/dist/lib/pixi-essentials/bounds/OrientedBounds.d.ts +103 -0
- package/dist/lib/pixi-essentials/bounds/index.d.ts +2 -0
- package/dist/lib/pixi-essentials/index.d.ts +6 -0
- package/dist/lib/pixi-essentials/object-pool/AverageProvider.d.ts +28 -0
- package/dist/lib/pixi-essentials/object-pool/ObjectPool.d.ts +103 -0
- package/dist/lib/pixi-essentials/object-pool/ObjectPoolFactory.d.ts +40 -0
- package/dist/lib/pixi-essentials/object-pool/index.d.ts +2 -0
- package/dist/lib/pixi-essentials/react-bindings/Transformer.d.ts +74 -0
- package/dist/lib/pixi-essentials/react-bindings/index.d.ts +3 -0
- package/dist/lib/pixi-essentials/react-bindings/utils/applyEventProps.d.ts +13 -0
- package/dist/lib/pixi-essentials/transformer/Transformer.d.ts +728 -0
- package/dist/lib/pixi-essentials/transformer/TransformerHandle.d.ts +142 -0
- package/dist/lib/pixi-essentials/transformer/TransformerWireframe.d.ts +54 -0
- package/dist/lib/pixi-essentials/transformer/index.d.ts +5 -0
- package/dist/lib/pixi-essentials/transformer/utils/decomposeTransform.d.ts +11 -0
- package/dist/lib/pixi-essentials/transformer/utils/distanceToLine.d.ts +7 -0
- package/dist/lib/pixi-essentials/transformer/utils/multiplyTransform.d.ts +17 -0
- package/dist/lib/pixi-essentials/transformer/utils/skewTransform.d.ts +13 -0
- package/dist/providers/GsapPixieContextProvider.d.ts +7 -0
- package/dist/types/BaseProps.d.ts +51 -16
- package/dist/types/CropTypes.d.ts +12 -0
- package/dist/types/Effects.d.ts +674 -13
- package/dist/types/MaskTypes.d.ts +10 -0
- package/dist/types/OverlayTypes.d.ts +9 -0
- package/dist/types/aep/asset.d.ts +43 -0
- package/dist/types/aep/camera.d.ts +778 -0
- package/dist/types/aep/composition.d.ts +82 -0
- package/dist/types/aep/effect.d.ts +137 -0
- package/dist/types/aep/index.d.ts +14 -0
- package/dist/types/aep/layer.d.ts +26546 -0
- package/dist/types/aep/light.d.ts +781 -0
- package/dist/types/aep/mask.d.ts +193 -0
- package/dist/types/aep/parse.d.ts +11 -0
- package/dist/types/aep/postFx.d.ts +107 -0
- package/dist/types/aep/text-animator.d.ts +687 -0
- package/dist/types/aep/text-runs.d.ts +234 -0
- package/dist/types/aep/theme.d.ts +72 -0
- package/dist/types/aep/transform.d.ts +285 -0
- package/dist/types/aep/transform3D.d.ts +171 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/utils/AppStateProvider.d.ts +1 -0
- package/dist/utils/AppWrapper.d.ts +3 -0
- package/dist/utils/ContextBridge.d.ts +1 -1
- package/dist/utils/GsapAnims.d.ts +0 -1
- package/dist/utils/InteractionManager.d.ts +1 -10
- package/dist/utils/PixiSelector.d.ts +17 -0
- package/dist/utils/aeMath/zoomToFov.d.ts +1 -0
- package/dist/utils/areSpritePropsEqual.d.ts +8 -0
- package/dist/utils/assetRefCount.d.ts +20 -0
- package/dist/utils/audio/audioRegistry.d.ts +51 -0
- package/dist/utils/audio/audioSync.d.ts +98 -0
- package/dist/utils/audio/gainEnvelope.d.ts +162 -0
- package/dist/utils/audio/useAudioRegistry.d.ts +10 -0
- package/dist/utils/blendMode.d.ts +21 -0
- package/dist/utils/captions/captionClock.d.ts +17 -0
- package/dist/utils/captions/captionDisplay.d.ts +57 -0
- package/dist/utils/captions/captionPose.d.ts +107 -0
- package/dist/utils/captions/captionVisual.d.ts +32 -0
- package/dist/utils/captions/captionWordLayout.d.ts +67 -0
- package/dist/utils/captions/groupSegments.d.ts +20 -0
- package/dist/utils/captions/index.d.ts +10 -0
- package/dist/utils/captions/parseSubtitles.d.ts +25 -0
- package/dist/utils/captions/sampleCaption.d.ts +25 -0
- package/dist/utils/captions/timeBase.d.ts +34 -0
- package/dist/utils/captions/types.d.ts +279 -0
- package/dist/utils/entranceOverlap.d.ts +37 -0
- package/dist/utils/fonts/fontLoader.d.ts +33 -0
- package/dist/utils/fonts/fontSpec.d.ts +16 -0
- package/dist/utils/fonts/googleFonts.d.ts +9 -0
- package/dist/utils/gifTiming.d.ts +22 -0
- package/dist/utils/gsapEffects/animationConfigs.d.ts +3802 -0
- package/dist/utils/gsapEffects/backEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/bounceEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/effectGenerator.d.ts +3 -0
- package/dist/utils/gsapEffects/effectTarget.d.ts +11 -0
- package/dist/utils/gsapEffects/fadeEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/flipEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/generalEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/lightSpeedEffect.d.ts +1 -0
- package/dist/utils/gsapEffects/logoRevealEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/registerEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/riseEffect.d.ts +1 -0
- package/dist/utils/gsapEffects/rollEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/rotateEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/slideEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/staggerTextEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/textUnitEffects.d.ts +1 -0
- package/dist/utils/gsapEffects/textUnitMask.d.ts +1 -0
- package/dist/utils/gsapEffects/textUnits.d.ts +172 -0
- package/dist/utils/gsapEffects/typewriterEffect.d.ts +1 -0
- package/dist/utils/gsapEffects/wipeEffect.d.ts +1 -0
- package/dist/utils/gsapEffects/zoomEffects.d.ts +1 -0
- package/dist/utils/index.d.ts +31 -0
- package/dist/utils/isExternalUrl.d.ts +1 -0
- package/dist/utils/loadSpriteTexture.d.ts +39 -0
- package/dist/utils/msdf/computeInstanceMatrix.d.ts +18 -0
- package/dist/utils/msdf/index.d.ts +4 -0
- package/dist/utils/msdf/loadMsdfAtlas.d.ts +9 -0
- package/dist/utils/msdf/msdfShader.d.ts +2 -0
- package/dist/utils/msdf/types.d.ts +49 -0
- package/dist/utils/pixiExtend.d.ts +0 -0
- package/dist/utils/sanitizeCanvasText.d.ts +12 -0
- package/dist/utils/sanitizeImageSrc.d.ts +7 -0
- package/dist/utils/svgRaster.d.ts +47 -0
- package/dist/utils/text/resolveTextRuns.d.ts +8 -0
- package/dist/utils/textLayout/alignLines.d.ts +15 -0
- package/dist/utils/textLayout/applyVerticals.d.ts +14 -0
- package/dist/utils/textLayout/breakLines.d.ts +14 -0
- package/dist/utils/textLayout/canvasMetricsProvider.d.ts +6 -0
- package/dist/utils/textLayout/index.d.ts +7 -0
- package/dist/utils/textLayout/layoutText.d.ts +7 -0
- package/dist/utils/textLayout/metricsCache.d.ts +9 -0
- package/dist/utils/textLayout/pixiCanvasMetricsProvider.d.ts +6 -0
- package/dist/utils/textLayout/shapeRuns.d.ts +18 -0
- package/dist/utils/textLayout/typefaceMetricsProvider.d.ts +19 -0
- package/dist/utils/textLayout/types.d.ts +61 -0
- package/dist/utils/textLayout/unicode.d.ts +2 -0
- package/dist/utils/textStyle.d.ts +81 -0
- package/dist/utils/textStyleV8.d.ts +62 -0
- package/dist/utils/threeModel.d.ts +55 -0
- package/dist/utils/videoAssetCache.d.ts +4 -0
- package/dist/utils/videoReadiness.d.ts +13 -0
- package/package.json +74 -54
- package/dist/assets/icon/transformericons/icons.d.ts +0 -8
- package/dist/components/PixiAudioSprite/PixiAudioSprite.stories.d.ts +0 -12
- package/dist/components/PixiGifSprite/PixiGifSprite.stories.d.ts +0 -163
- package/dist/components/PixiImageSprite/PixiImageSprite.stories.d.ts +0 -150
- package/dist/components/PixiLottieSprite/PixiLottieSprite.stories.d.ts +0 -159
- package/dist/components/PixiSVGSprite/PixiSvgPathSprite.stories.d.ts +0 -131
- package/dist/components/PixiSequence/PixiSequence.stories.d.ts +0 -33
- package/dist/components/PixiTextSprite/PixiTextSprite.stories.d.ts +0 -140
- package/dist/components/PixiVideoSprite/PixiVideoSprite.stories.d.ts +0 -146
- package/dist/favicon.svg +0 -41
- package/dist/pixitweenjs-logo-dark.svg +0 -98
- package/dist/pixitweenjs-logo.svg +0 -97
- package/dist/stories/Features/TestHowlerAudioFiles.d.ts +0 -2
- package/dist/stories/Features/TimelineAnimations.d.ts +0 -15
- package/dist/stories/Features/TimelineTest.d.ts +0 -15
- package/dist/stories/Features/TimelineTest.stories.d.ts +0 -23
- package/dist/stories/Features/TimelineTestAudios.d.ts +0 -15
- package/dist/stories/Features/TimelineTestWithVideos.d.ts +0 -15
- package/dist/stories/Features/TimelineWithGif.d.ts +0 -21
- package/dist/stories/Features/common.tests.d.ts +0 -411
- /package/dist/{.gitkeep → utils/gsapEffects/index.d.ts} +0 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import { AudioFade, DuckWindow } from '../../utils/audio/gainEnvelope';
|
|
3
|
+
import { AudioRegistry } from '../../utils/audio/audioRegistry';
|
|
2
4
|
import * as React from "react";
|
|
3
5
|
import * as PIXI from "pixi.js";
|
|
4
6
|
export interface PixiAudioSpriteProps extends PixiBaseSpriteProps {
|
|
@@ -6,13 +8,51 @@ export interface PixiAudioSpriteProps extends PixiBaseSpriteProps {
|
|
|
6
8
|
src: string;
|
|
7
9
|
startAt: number;
|
|
8
10
|
endAt: number;
|
|
11
|
+
/** Offset into the audio FILE the clip starts from (seconds). */
|
|
9
12
|
audioStartAt: number;
|
|
10
|
-
|
|
13
|
+
/** @deprecated Unused. The clip length on the timeline is `endAt - startAt`. */
|
|
14
|
+
audioEndAt?: number;
|
|
11
15
|
mute: boolean;
|
|
12
16
|
speed: number;
|
|
13
17
|
visible: boolean;
|
|
18
|
+
/** 0..1. Default 1. */
|
|
19
|
+
volume?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Volume as a function of timeline time in seconds (wins over `volume`). Lets an animation
|
|
22
|
+
* drive the base volume while fades / ducking / mute still apply on top.
|
|
23
|
+
*/
|
|
24
|
+
getVolume?: (timelineTime: number) => number;
|
|
25
|
+
audioFade?: AudioFade;
|
|
26
|
+
duckWindows?: DuckWindow[];
|
|
27
|
+
duckTo?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Mount a private AudioPlaybackManager for this one clip (default true), so the sprite works
|
|
30
|
+
* standalone. Set false when the app mounts ONE manager for the whole timeline and passes all
|
|
31
|
+
* clips to it.
|
|
32
|
+
*/
|
|
33
|
+
managePlayback?: boolean;
|
|
34
|
+
/** Registry to use instead of the shared default (isolates multiple players). */
|
|
35
|
+
registry?: AudioRegistry;
|
|
14
36
|
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
15
37
|
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
38
|
+
/** Fires once the clip's <audio> element exists (and again if it is replaced). */
|
|
39
|
+
onAudioElementReady?: (uniqueId: string, el: HTMLAudioElement) => void;
|
|
16
40
|
}
|
|
17
|
-
|
|
18
|
-
|
|
41
|
+
/**
|
|
42
|
+
* PixiAudioSprite — an audio clip on the timeline, with an optional spectrum visualization.
|
|
43
|
+
*
|
|
44
|
+
* Playback is owned by `AudioPlaybackManager` (Clippy's architecture: one listener on the master
|
|
45
|
+
* timeline decides what plays, where and how loud). This component:
|
|
46
|
+
* 1. feeds its clip to a manager (its own by default; `managePlayback={false}` to opt out),
|
|
47
|
+
* 2. exposes the clip's `<audio>` element to callers via `onAudioElementReady`,
|
|
48
|
+
* 3. draws the waveform from that same element when `transformation.waveform` is set.
|
|
49
|
+
*
|
|
50
|
+
* Replaces the previous per-sprite GSAP tween driving a private `Audio`, whose onStart/onUpdate
|
|
51
|
+
* hooks raced when sprites were added dynamically, had no drift correction, ignored volume and
|
|
52
|
+
* fades, and re-created the element whenever any prop changed.
|
|
53
|
+
*/
|
|
54
|
+
declare const PixiAudioSprite: ({ ref, ...props }: PixiAudioSpriteProps & {
|
|
55
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
56
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
declare const MemoizedPixiAudioSprite: typeof PixiAudioSprite;
|
|
58
|
+
export default MemoizedPixiAudioSprite;
|
|
@@ -1 +1,4 @@
|
|
|
1
1
|
export { default as PixiAudioSprite } from './PixiAudioSprite';
|
|
2
|
+
export type { PixiAudioSpriteProps } from './PixiAudioSprite';
|
|
3
|
+
export { default as useAudioElementPlayer, useHowlerAudioPlayer, } from './HowlerAudioSprite';
|
|
4
|
+
export { default as useAudioVisualizer } from './useAudioVisualizer';
|
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
import { default as AudioMotionAnalyzer } from 'audiomotion-analyzer';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
export
|
|
2
|
+
import { Waveforms } from '../../types/Effects';
|
|
3
|
+
import { AudioRegistry } from '../../utils/audio/audioRegistry';
|
|
4
|
+
export interface UseAudioVisualizerOptions {
|
|
5
5
|
uniqueId: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
waveform: Waveforms;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
/** Defaults to the shared registry the AudioPlaybackManager writes to. */
|
|
10
|
+
registry?: AudioRegistry;
|
|
11
|
+
}
|
|
12
|
+
export interface AudioVisualizer {
|
|
13
|
+
/** The analyzer canvas, once an element exists to tap. Wrap it in a Pixi CanvasSource. */
|
|
14
|
+
canvas: HTMLCanvasElement | null;
|
|
15
|
+
analyzer: AudioMotionAnalyzer | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Audio spectrum visualization for a clip, driven by the SAME `<audio>` element the
|
|
19
|
+
* AudioPlaybackManager plays.
|
|
20
|
+
*
|
|
21
|
+
* What changed from the previous version (and why):
|
|
22
|
+
* - it no longer `fetch`es the whole audio file into a blob just to build an element; it taps
|
|
23
|
+
* the element the manager already owns, so there is one download and one playback path
|
|
24
|
+
* - the element is routed through Web Audio ONCE, via the registry's shared source node, so a
|
|
25
|
+
* visualizer and stereo pan can coexist (previously they were mutually exclusive: a second
|
|
26
|
+
* `createMediaElementSource` throws)
|
|
27
|
+
* - the analyzer shares the registry's audio context; the manager resumes it on play
|
|
28
|
+
* - the analyzer is built once per (clip, size). A waveform change updates its options in place,
|
|
29
|
+
* because rebinding a new source node to the element is rejected by the browser
|
|
30
|
+
* - the analyzer and its host element are destroyed on unmount (they leaked before)
|
|
31
|
+
*/
|
|
32
|
+
export declare function useAudioVisualizer({ uniqueId, waveform, width, height, registry, }: UseAudioVisualizerOptions): AudioVisualizer;
|
|
18
33
|
export default useAudioVisualizer;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { CaptionSegment } from '../../utils/captions';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
/** Style fields read from `transformation`. All optional; defaults suit a bottom caption. */
|
|
5
|
+
export interface PixiCaptionsTransformation {
|
|
6
|
+
x?: number;
|
|
7
|
+
y?: number;
|
|
8
|
+
fontFamily?: string;
|
|
9
|
+
fontWeight?: string | number;
|
|
10
|
+
fontSize?: number;
|
|
11
|
+
fill?: string;
|
|
12
|
+
stroke?: string | number | null;
|
|
13
|
+
strokeWidth?: number;
|
|
14
|
+
dropShadow?: boolean;
|
|
15
|
+
dropShadowColor?: string | number;
|
|
16
|
+
dropShadowBlur?: number;
|
|
17
|
+
dropShadowAlpha?: number;
|
|
18
|
+
dropShadowAngle?: number;
|
|
19
|
+
dropShadowDistance?: number;
|
|
20
|
+
wordWrapWidth?: number;
|
|
21
|
+
align?: string;
|
|
22
|
+
padding?: number;
|
|
23
|
+
/** Active-word colour. */
|
|
24
|
+
highlightColor?: string;
|
|
25
|
+
/** Extra px between words, on top of the space. */
|
|
26
|
+
wordSpacing?: number;
|
|
27
|
+
/** Selects the render mode (see `captionModeFor`). */
|
|
28
|
+
captionStyleId?: string | null;
|
|
29
|
+
/** Background of the `boxed` modes: hex, rgb() or rgba(). */
|
|
30
|
+
captionBgColor?: string;
|
|
31
|
+
textTransform?: "none" | "uppercase" | "lowercase";
|
|
32
|
+
/** Pill behind the active word in `wordbox`. */
|
|
33
|
+
captionActiveWordBg?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PixiCaptionsTrackProps {
|
|
36
|
+
/** Cue list. Build one with `parseSubtitles`, `groupWordsIntoSegments` or `normalizeCaptionSegments`. */
|
|
37
|
+
segments: ReadonlyArray<CaptionSegment>;
|
|
38
|
+
uniqueId: string;
|
|
39
|
+
transformation?: PixiCaptionsTransformation;
|
|
40
|
+
/** Fallback render-mode id when `transformation.captionStyleId` is unset. */
|
|
41
|
+
style?: string | null;
|
|
42
|
+
visible?: boolean;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
/** Caption item start/end on the timeline (s). Used to detect clip-local cue times. */
|
|
45
|
+
startAt?: number;
|
|
46
|
+
endAt?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Pin the caption to this master-timeline time (seconds) instead of following the playhead.
|
|
49
|
+
* Makes the output a pure function of time: use it for frame-exact export.
|
|
50
|
+
*/
|
|
51
|
+
currentTime?: number;
|
|
52
|
+
onContainerRefReady?: (uniqueId: string, ref: React.RefObject<PIXI.Container | null>) => void;
|
|
53
|
+
/** Click on the caption (the invisible hit area). */
|
|
54
|
+
onClick?: (uniqueId: string, event: unknown) => void;
|
|
55
|
+
mouseOverSpriteRef?: {
|
|
56
|
+
current?: unknown;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* PixiCaptionsTrack — word-timed (karaoke) captions on the Pixi canvas.
|
|
61
|
+
*
|
|
62
|
+
* Ported from the Clippy editor. The frame is a PURE function of (style, words, t): the playhead
|
|
63
|
+
* picks the active word (`sampleCaptionAt`), the mode turns that into a look (`wordVisualFor`),
|
|
64
|
+
* and `layoutCaptionWords` places the words. No GSAP tweens per word, so scrub / seek / reverse
|
|
65
|
+
* need no tween state and the editor, a server render and an exported frame agree.
|
|
66
|
+
*
|
|
67
|
+
* Modes (by `captionStyleId`): pop, glow, boxed, vhs, wordbox, punch, slam, glowpop, springpop,
|
|
68
|
+
* and `none` (static line). See `captionModeFor`.
|
|
69
|
+
*
|
|
70
|
+
* All children use coordinates RELATIVE to the caption centre and the container is placed at
|
|
71
|
+
* (x, y). In Pixi v8 an empty Graphics contributes a (0,0) point to getLocalBounds(); with
|
|
72
|
+
* canvas-absolute children the bounds would span from the canvas origin and a transformer box
|
|
73
|
+
* would swallow the screen.
|
|
74
|
+
*
|
|
75
|
+
* Differences from the Clippy original: boxed backgrounds accept hex / rgb() / rgba() (it only
|
|
76
|
+
* read rgba()), the font/layout caches are flushed through the engine's font events, the blur
|
|
77
|
+
* filters are destroyed, an optional `currentTime` makes the output deterministic, and the
|
|
78
|
+
* `wordbox` branch no longer contains a stray unreachable statement.
|
|
79
|
+
*/
|
|
80
|
+
declare const PixiCaptionsTrackInner: {
|
|
81
|
+
(props: PixiCaptionsTrackProps): import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
displayName: string;
|
|
83
|
+
};
|
|
84
|
+
declare const PixiCaptionsTrack: typeof PixiCaptionsTrackInner;
|
|
85
|
+
export default PixiCaptionsTrack;
|
|
86
|
+
export { PixiCaptionsTrack };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as PixiCaptionsTrack } from './PixiCaptionsTrack';
|
|
2
|
+
export type { PixiCaptionsTrackProps, PixiCaptionsTransformation, } from './PixiCaptionsTrack';
|
|
3
|
+
export { useCaptionPlayhead } from './useCaptionPlayhead';
|
|
4
|
+
export { useCaptionStyles } from './useCaptionStyles';
|
|
5
|
+
export { useEmojiTextures } from './useEmojiTextures';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CaptionRenderMode, CaptionSample, CaptionSegment } from '../../utils/captions';
|
|
2
|
+
import type * as PIXI from "pixi.js";
|
|
3
|
+
export interface UseCaptionPlayheadOptions {
|
|
4
|
+
containerRef: React.RefObject<PIXI.Container | null>;
|
|
5
|
+
segments: ReadonlyArray<CaptionSegment>;
|
|
6
|
+
mode: CaptionRenderMode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
/** Caption item timeline start / end (seconds), to detect clip-local cue times. */
|
|
9
|
+
itemStartSec?: number;
|
|
10
|
+
itemEndSec?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Master-timeline time in seconds. When given, the caption is a PURE function of this value,
|
|
13
|
+
* computed during render: no playhead subscription and no frame lag. Use it for deterministic
|
|
14
|
+
* export (Remotion frame / fps). When omitted, the master GSAP playhead is followed.
|
|
15
|
+
*/
|
|
16
|
+
currentTime?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* What the caption shows right now: the active segment, active word and how long that word has
|
|
20
|
+
* been on / has left.
|
|
21
|
+
*
|
|
22
|
+
* Followed mode listens to Pixi's per-frame `onRender` (one callback per frame actually drawn,
|
|
23
|
+
* no second rAF loop), reads the playhead seconds from the master timeline, and only calls
|
|
24
|
+
* setState when something visible changed. The word's elapsed/remaining ms change every frame,
|
|
25
|
+
* but only matter to modes that animate within a word, so other modes do not re-render per frame.
|
|
26
|
+
*
|
|
27
|
+
* Controlled mode (`currentTime`) never subscribes. Clippy's loop sets React state from inside
|
|
28
|
+
* Pixi's render callback, so the committed frame lags the playhead by one; that is fine for live
|
|
29
|
+
* preview and wrong for an offline renderer that seeks frame by frame.
|
|
30
|
+
*/
|
|
31
|
+
export declare function useCaptionPlayhead({ containerRef, segments, mode, disabled, itemStartSec, itemEndSec, currentTime, }: UseCaptionPlayheadOptions): CaptionSample;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CaptionRenderMode, CaptionSegment } from '../../utils/captions';
|
|
2
|
+
import * as PIXI from "pixi.js";
|
|
3
|
+
export interface CaptionStyleInput {
|
|
4
|
+
fontFamily: string;
|
|
5
|
+
fontWeight: string | number;
|
|
6
|
+
fontSize: number;
|
|
7
|
+
fill: string;
|
|
8
|
+
align: string;
|
|
9
|
+
wordWrapWidth: number;
|
|
10
|
+
padding: number;
|
|
11
|
+
stroke: string | number | null;
|
|
12
|
+
strokeWidth: number;
|
|
13
|
+
dropShadow: boolean;
|
|
14
|
+
dropShadowColor: string | number;
|
|
15
|
+
dropShadowBlur: number;
|
|
16
|
+
dropShadowAlpha: number;
|
|
17
|
+
dropShadowAngle: number;
|
|
18
|
+
dropShadowDistance: number;
|
|
19
|
+
highlightColor: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Every TextStyle and filter the caption modes draw with.
|
|
23
|
+
*
|
|
24
|
+
* Fonts usually arrive after the first draw. Pixi caches font metrics per font string and keeps
|
|
25
|
+
* the fallback-font texture, so on `FONTS_LOADED` (via `useFontEpoch`) the metrics cache is
|
|
26
|
+
* flushed and the styles are rebuilt. Filters are destroyed when replaced and on unmount
|
|
27
|
+
* (Clippy leaked them).
|
|
28
|
+
*
|
|
29
|
+
* NOTE: `trim` is deliberately NOT set. In v8 trim shrinks the rendered texture, so an
|
|
30
|
+
* `anchor: 0.5` pivots on a trimmed size that varies per word (ascenders, descenders, shadow
|
|
31
|
+
* bleed) and words float at different baselines.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useCaptionStyles(input: CaptionStyleInput, mode: CaptionRenderMode, segments: ReadonlyArray<CaptionSegment>): {
|
|
34
|
+
base: PIXI.TextStyle;
|
|
35
|
+
active: PIXI.TextStyle;
|
|
36
|
+
inactive: PIXI.TextStyle;
|
|
37
|
+
colour: Record<string, PIXI.TextStyle>;
|
|
38
|
+
vhs: {
|
|
39
|
+
cyan: PIXI.TextStyle;
|
|
40
|
+
magenta: PIXI.TextStyle;
|
|
41
|
+
} | null;
|
|
42
|
+
glowPopBlur: PIXI.BlurFilter;
|
|
43
|
+
springPopBlur: PIXI.BlurFilter;
|
|
44
|
+
bloomBlur: PIXI.BlurFilter;
|
|
45
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CaptionSegment } from '../../utils/captions';
|
|
2
|
+
import * as PIXI from "pixi.js";
|
|
3
|
+
/**
|
|
4
|
+
* Textures for the emoji drawn above words in glow-pop. They come from the pinned Noto PNGs (or
|
|
5
|
+
* a word's own `emojiSrc`), not a system emoji font, so the editor and a server render draw the
|
|
6
|
+
* same glyph. Textures belong to Pixi's Assets cache and are not destroyed here.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useEmojiTextures(segments: ReadonlyArray<CaptionSegment>, enabled: boolean): Record<string, PIXI.Texture>;
|
|
@@ -6,17 +6,18 @@ export interface PixiGifSpriteProps extends PixiBaseSpriteProps {
|
|
|
6
6
|
src: string;
|
|
7
7
|
startAt: number;
|
|
8
8
|
endAt: number;
|
|
9
|
-
frameStartAt
|
|
10
|
-
frameEndAt
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
frameStartAt?: number;
|
|
10
|
+
frameEndAt?: number;
|
|
11
|
+
loop?: boolean;
|
|
12
|
+
animationSpeed?: number;
|
|
13
|
+
locked?: boolean;
|
|
14
|
+
mute?: boolean;
|
|
15
|
+
pointerdown?: () => void;
|
|
16
|
+
applyTransformer?: boolean;
|
|
13
17
|
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
14
18
|
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* @returns
|
|
20
|
-
*/
|
|
21
|
-
declare const PixiGifSprite: React.ForwardRefExoticComponent<PixiGifSpriteProps & React.RefAttributes<ForwardedRefResponse | null>>;
|
|
20
|
+
declare const PixiGifSprite: React.MemoExoticComponent<({ ref, ...props }: PixiGifSpriteProps & {
|
|
21
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
22
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
22
23
|
export default PixiGifSprite;
|
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import * as PIXI from "pixi.js";
|
|
4
|
-
|
|
4
|
+
type PixiImageSpriteProps = PixiBaseSpriteProps & {
|
|
5
5
|
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
6
6
|
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
7
|
-
|
|
7
|
+
mouseOverTransformerRef?: {
|
|
8
|
+
current?: {
|
|
9
|
+
isDragging?: boolean;
|
|
10
|
+
} | null;
|
|
11
|
+
};
|
|
12
|
+
/** Cleared when the sprite unmounts, so a host's hover state never points at a dead node. */
|
|
13
|
+
mouseOverSpriteRef?: {
|
|
14
|
+
current?: unknown;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* PixiImageSprite — an image on the Pixi canvas.
|
|
19
|
+
*
|
|
20
|
+
* Uplifted from the Clippy editor:
|
|
21
|
+
* - `src` is sanitised (a CDN origin wrongly prepended to a data: URI is stripped)
|
|
22
|
+
* - extensionless URLs load (forced texture parser)
|
|
23
|
+
* - the texture is cleared on `src` change / error / unmount instead of leaving a stale image
|
|
24
|
+
* - the cancel race is gone (the load handle is created synchronously)
|
|
25
|
+
* - width/height of 0 fall back to the texture's native size
|
|
26
|
+
* - `crop`, `effects: {name, intensity, params}`, `neonColor` and `plateKey` are supported,
|
|
27
|
+
* and `blendMode` goes through `useSpriteFilters` (a raw sprite blendMode is ignored in
|
|
28
|
+
* Pixi v8 once the sprite has filters)
|
|
29
|
+
*/
|
|
30
|
+
declare const PixiImageSpriteInner: ({ ref, ...props }: PixiImageSpriteProps & {
|
|
31
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
32
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare const PixiImageSprite: typeof PixiImageSpriteInner;
|
|
8
34
|
export default PixiImageSprite;
|
|
@@ -13,5 +13,8 @@ export interface PixiLottieSpriteProps extends PixiBaseSpriteProps {
|
|
|
13
13
|
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
14
14
|
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
15
15
|
}
|
|
16
|
-
declare const PixiLottieSprite:
|
|
17
|
-
|
|
16
|
+
declare const PixiLottieSprite: ({ ref, ...props }: PixiLottieSpriteProps & {
|
|
17
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
18
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare const MemoizedPixiLottieSprite: typeof PixiLottieSprite;
|
|
20
|
+
export default MemoizedPixiLottieSprite;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ForwardedRefResponse, PixiBaseSpriteProps } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface PixiNullObjectProps extends Omit<PixiBaseSpriteProps, "transformation"> {
|
|
5
|
+
transformation: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
anchor: number | {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
rotation?: number;
|
|
15
|
+
alpha?: number;
|
|
16
|
+
scale?: number | [number, number];
|
|
17
|
+
};
|
|
18
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
19
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
20
|
+
}
|
|
21
|
+
declare const PixiNullObjectInner: ({ ref, ...props }: PixiNullObjectProps & {
|
|
22
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
23
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare const PixiNullObject: typeof PixiNullObjectInner;
|
|
25
|
+
export default PixiNullObject;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ForwardedRefResponse, PixiBaseSpriteProps } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface PixiPreCompProps extends Omit<PixiBaseSpriteProps, "transformation"> {
|
|
5
|
+
compId: string;
|
|
6
|
+
layerInPointFrames: number;
|
|
7
|
+
precompWidth: number;
|
|
8
|
+
precompHeight: number;
|
|
9
|
+
transformation: {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
anchor: number | {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
};
|
|
18
|
+
rotation?: number;
|
|
19
|
+
alpha?: number;
|
|
20
|
+
scale?: number | [number, number];
|
|
21
|
+
};
|
|
22
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
23
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
24
|
+
}
|
|
25
|
+
declare const PixiPreCompInner: ({ ref, ...props }: PixiPreCompProps & {
|
|
26
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
27
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
declare const PixiPreComp: typeof PixiPreCompInner;
|
|
29
|
+
export default PixiPreComp;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface PixiRemotionGifSpriteProps extends PixiBaseSpriteProps {
|
|
5
|
+
uniqueId: string;
|
|
6
|
+
src: string;
|
|
7
|
+
frameStartAt?: number;
|
|
8
|
+
frameEndAt?: number;
|
|
9
|
+
loop?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Remotion-driven frame index. When provided, the underlying
|
|
12
|
+
* `GifSprite.currentFrame` is seeked to match — frame-accurate playback
|
|
13
|
+
* in Remotion's render loop. Omit for real-time playback (browser).
|
|
14
|
+
*/
|
|
15
|
+
remotionFrame?: number;
|
|
16
|
+
/** Frames per second of the host composition. Defaults to 30. */
|
|
17
|
+
fps?: number;
|
|
18
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
19
|
+
}
|
|
20
|
+
declare const PixiRemotionGifSpriteInner: ({ ref, ...props }: PixiRemotionGifSpriteProps & {
|
|
21
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
22
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare const PixiRemotionGifSprite: typeof PixiRemotionGifSpriteInner;
|
|
24
|
+
export default PixiRemotionGifSprite;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface CanvasImageSource {
|
|
5
|
+
getCanvas: () => HTMLCanvasElement | HTMLImageElement | null;
|
|
6
|
+
}
|
|
7
|
+
export interface PixiRemotionImageSpriteProps extends PixiBaseSpriteProps {
|
|
8
|
+
uniqueId: string;
|
|
9
|
+
locked?: boolean;
|
|
10
|
+
canvasImageRef?: CanvasImageSource;
|
|
11
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
12
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const PixiRemotionImageSpriteInner: ({ ref, ...props }: PixiRemotionImageSpriteProps & {
|
|
15
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
16
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const PixiRemotionImageSprite: typeof PixiRemotionImageSpriteInner;
|
|
18
|
+
export default PixiRemotionImageSprite;
|
|
@@ -22,5 +22,8 @@ export interface PixiRemotionSpriteProps extends PixiBaseSpriteProps {
|
|
|
22
22
|
onAnchorTransformationEnd?: (endData: any) => void;
|
|
23
23
|
canvasImageRef?: CanvasImageProps;
|
|
24
24
|
}
|
|
25
|
-
declare const PixiRemotionSprite:
|
|
26
|
-
|
|
25
|
+
declare const PixiRemotionSprite: ({ ref, ...props }: PixiRemotionSpriteProps & {
|
|
26
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
27
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare const MemoizedPixiRemotionSprite: typeof PixiRemotionSprite;
|
|
29
|
+
export default MemoizedPixiRemotionSprite;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import { CanvasImageSource } from './PixiRemotionImageSprite';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as PIXI from "pixi.js";
|
|
5
|
+
export interface PixiRemotionVideoCanvaSpriteProps extends PixiBaseSpriteProps {
|
|
6
|
+
uniqueId: string;
|
|
7
|
+
src?: string;
|
|
8
|
+
frameStartAt?: number;
|
|
9
|
+
frameEndAt?: number;
|
|
10
|
+
mute?: boolean;
|
|
11
|
+
locked?: boolean;
|
|
12
|
+
fps?: number;
|
|
13
|
+
canvasImageRef?: CanvasImageSource;
|
|
14
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
15
|
+
}
|
|
16
|
+
declare const PixiRemotionVideoCanvaSpriteInner: ({ ref, ...props }: PixiRemotionVideoCanvaSpriteProps & {
|
|
17
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
18
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare const PixiRemotionVideoCanvaSprite: typeof PixiRemotionVideoCanvaSpriteInner;
|
|
20
|
+
export default PixiRemotionVideoCanvaSprite;
|
|
@@ -1 +1,5 @@
|
|
|
1
1
|
export { default as PixiRemotionSprite } from './PixiRemotionSprite';
|
|
2
|
+
export { default as PixiRemotionImageSprite } from './PixiRemotionImageSprite';
|
|
3
|
+
export { default as PixiRemotionVideoCanvaSprite } from './PixiRemotionVideoCanvaSprite';
|
|
4
|
+
export { default as PixiRemotionGifSprite } from './PixiRemotionGifSprite';
|
|
5
|
+
export type { CanvasImageSource } from './PixiRemotionImageSprite';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface PixiMorphSvgSpriteProps extends PixiBaseSpriteProps {
|
|
5
|
+
uniqueId: string;
|
|
6
|
+
pathSequence: string[];
|
|
7
|
+
startAt: number;
|
|
8
|
+
endAt: number;
|
|
9
|
+
morphDuration?: number;
|
|
10
|
+
morphEase?: string;
|
|
11
|
+
loopBackToStart?: boolean;
|
|
12
|
+
viewBox?: string;
|
|
13
|
+
transformation: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
anchor: number | {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
rotation?: number;
|
|
23
|
+
alpha?: number;
|
|
24
|
+
scale?: number;
|
|
25
|
+
tint?: number;
|
|
26
|
+
fill?: string;
|
|
27
|
+
stroke?: string;
|
|
28
|
+
strokeWidth?: number;
|
|
29
|
+
};
|
|
30
|
+
onSpriteRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
31
|
+
}
|
|
32
|
+
declare const PixiMorphSvgSprite: ({ ref, ...props }: PixiMorphSvgSpriteProps & {
|
|
33
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
34
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export default PixiMorphSvgSprite;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PixiBaseSpriteProps, ForwardedRefResponse } from '../../types/BaseProps';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import * as PIXI from "pixi.js";
|
|
4
|
+
export interface PixiSvgImageSpriteProps extends PixiBaseSpriteProps {
|
|
5
|
+
/** SVG URL, `data:image/svg+xml` URI, or any raster image URL. */
|
|
6
|
+
src: string;
|
|
7
|
+
transformation: PixiBaseSpriteProps["transformation"] & {
|
|
8
|
+
/** Tint colour (any CSS colour). Applied live, with no re-rasterisation. */
|
|
9
|
+
color?: string;
|
|
10
|
+
/** Alias for `color`. */
|
|
11
|
+
fill?: string;
|
|
12
|
+
stroke?: string;
|
|
13
|
+
/** Alias for `stroke` (used by templates). */
|
|
14
|
+
strokeColor?: string;
|
|
15
|
+
strokeWidth?: number;
|
|
16
|
+
};
|
|
17
|
+
mouseOverSpriteRef?: {
|
|
18
|
+
current?: unknown;
|
|
19
|
+
};
|
|
20
|
+
onContainerRefReady?: (uniqueId: string, ref: React.MutableRefObject<PIXI.Container | null>) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* PixiSvgImageSprite — a TINTABLE svg: art drawn in white (e.g. an icon set) is rasterised
|
|
24
|
+
* once at `width x height x resolution` and recoloured with a sprite tint, so changing the
|
|
25
|
+
* colour never re-rasterises. Ported from the Clippy editor.
|
|
26
|
+
*
|
|
27
|
+
* The sprite stays mounted with `Texture.EMPTY` + alpha 0 until the raster is ready, so the
|
|
28
|
+
* transformer keeps a stable node and there is no remount flash on load or recolour.
|
|
29
|
+
* Resizing re-rasterises once, after the drag settles (see useSvgTexture).
|
|
30
|
+
*/
|
|
31
|
+
declare const PixiSvgImageSpriteInner: ({ ref, ...props }: PixiSvgImageSpriteProps & {
|
|
32
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
33
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
declare const PixiSvgImageSprite: typeof PixiSvgImageSpriteInner;
|
|
35
|
+
export default PixiSvgImageSprite;
|