reacthub-pixitweenjs 0.2.109-alpha.7 → 0.3.0-alpha.3
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 +241 -103
- 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 +28 -0
- package/dist/components/AepComposition/AepComposition.d.ts +16 -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/composeTransform3D.d.ts +27 -0
- package/dist/components/AepComposition/index.d.ts +39 -0
- package/dist/components/AepComposition/matteSourceIds.d.ts +2 -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 +5 -7
- package/dist/components/PixiAudioSprite/PixiAudioSprite.d.ts +6 -2
- package/dist/components/PixiAudioSprite/useAudioVisualizer.d.ts +2 -2
- package/dist/components/PixiAudioSprite/wave-config.d.ts +0 -1
- package/dist/components/PixiGifSprite/PixiGifGsapSync.d.ts +11 -10
- package/dist/components/PixiImageSprite/PixiImageSprite.d.ts +11 -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/PixiSvgPathSprite.d.ts +11 -4
- package/dist/components/PixiSVGSprite/index.d.ts +1 -0
- 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 +17 -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/PixiThreeSprite.d.ts +14 -0
- package/dist/components/PixiThreeSprite/index.d.ts +2 -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 +5 -2
- package/dist/components/index.d.ts +5 -0
- package/dist/events/Events.d.ts +0 -1
- package/dist/hocs/AbstractContainer.d.ts +3 -1
- package/dist/hocs/BorderMaskContainer.d.ts +28 -0
- package/dist/hocs/OverlayTilingSprite.d.ts +3 -3
- package/dist/hocs/drawMaskShape.d.ts +3 -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 +2 -0
- package/dist/hooks/useSpriteFilters.d.ts +39 -0
- package/dist/hooks/withFiltersHook.d.ts +1 -1
- 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 +60038 -29928
- package/dist/index.umd.js +4351 -1851
- 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/types/BaseProps.d.ts +11 -3
- 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 +21579 -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 +3 -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/aeMath/zoomToFov.d.ts +1 -0
- package/dist/utils/areSpritePropsEqual.d.ts +8 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/isExternalUrl.d.ts +1 -0
- package/dist/utils/loadSpriteTexture.d.ts +10 -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/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 +2 -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/package.json +72 -47
- 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/hooks/withEffectsHook.d.ts +0 -5
- 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/pixiExtend.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AepLayer } from '../../types/aep';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import type * as PIXI from "pixi.js";
|
|
4
|
+
/**
|
|
5
|
+
* Drives the layer's keyframe animation by attaching a GSAP sub-timeline
|
|
6
|
+
* to the master `tl.current` at `layer.inPoint / fps` seconds. Cleans up
|
|
7
|
+
* on unmount or when the layer / target ref changes.
|
|
8
|
+
*
|
|
9
|
+
* @deprecated Internal AEP rendering now samples transform keyframes
|
|
10
|
+
* from `ctx.currentFrame` directly (see `useAepLayerTransform`). This
|
|
11
|
+
* hook is preserved for downstream consumers that drive Pixi
|
|
12
|
+
* containers via GSAP outside the AEP composition pipeline. For new
|
|
13
|
+
* code, prefer `sampleScalar` / `sampleVec2` from `hooks/aep`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useAepKeyframes(layer: AepLayer, targetRef: React.RefObject<PIXI.Container | null>, fps: number, readyKey?: unknown): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AepLayer, AepThemeMap } from '../../types/aep';
|
|
2
|
+
import { AepTextLayoutResult, AepTextMetricsProvider } from '../../utils/textLayout';
|
|
3
|
+
type AepTextLayer = Extract<AepLayer, {
|
|
4
|
+
kind: "text";
|
|
5
|
+
}>;
|
|
6
|
+
interface UseAepTextLayoutOptions {
|
|
7
|
+
boxWidth?: number;
|
|
8
|
+
metrics?: AepTextMetricsProvider;
|
|
9
|
+
theme?: AepThemeMap;
|
|
10
|
+
}
|
|
11
|
+
export declare function useAepTextLayout(layer: AepTextLayer, currentFrame: number, options?: UseAepTextLayoutOptions): AepTextLayoutResult;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AepAnimatable } from '../../types/aep';
|
|
2
|
+
/**
|
|
3
|
+
* Animatable [x, y] field driver. Fires `onChange(x, y)` per onUpdate
|
|
4
|
+
* and once at mount with the keyframe-0 value.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated AEP effect-param vec2s now sample directly from
|
|
7
|
+
* `ctx.currentFrame` (see `sampleVec2`). This hook is preserved for
|
|
8
|
+
* downstream consumers driving non-AEP vec2 tweens.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useAepVec2Animator(field: AepAnimatable<[number, number]> | undefined, fps: number, inPointFrames: number, onChange: (x: number, y: number) => void): void;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Effects } from '../types/Effects';
|
|
2
|
+
import * as PIXI from "pixi.js";
|
|
3
|
+
export interface SpriteColorCorrection {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
contrast?: number;
|
|
6
|
+
saturation?: number;
|
|
7
|
+
brightness?: number;
|
|
8
|
+
alpha?: number;
|
|
9
|
+
red?: number;
|
|
10
|
+
green?: number;
|
|
11
|
+
blue?: number;
|
|
12
|
+
gamma?: number;
|
|
13
|
+
blurRadius?: number;
|
|
14
|
+
temperature?: number;
|
|
15
|
+
hue?: number;
|
|
16
|
+
sharpness?: number;
|
|
17
|
+
vignette?: number;
|
|
18
|
+
noise?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface SpriteEffectsInput {
|
|
21
|
+
name?: Effects | string;
|
|
22
|
+
intensity?: number;
|
|
23
|
+
params?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
export interface UseSpriteFiltersProps {
|
|
26
|
+
colorCorrection?: SpriteColorCorrection;
|
|
27
|
+
effects?: SpriteEffectsInput;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Hook that builds an ordered, memoized PIXI filter array from
|
|
31
|
+
* `{ colorCorrection, effects }`. Replaces ad-hoc filter array
|
|
32
|
+
* construction inside individual sprites.
|
|
33
|
+
*
|
|
34
|
+
* Order: temperature → sharpness → HSL → adjustment → effect(s) → blur → vignette → noise.
|
|
35
|
+
* Returns empty array when no filter applies (avoids the cost of
|
|
36
|
+
* `filters: []` allocating a render target on the sprite).
|
|
37
|
+
*/
|
|
38
|
+
export declare const useSpriteFilters: ({ colorCorrection, effects, }: UseSpriteFiltersProps) => PIXI.Filter[];
|
|
39
|
+
export default useSpriteFilters;
|
|
@@ -28,7 +28,7 @@ export declare const withFiltersHook: (props: FiltersProps) => {
|
|
|
28
28
|
temperatureFilter: PIXI.ColorMatrixFilter;
|
|
29
29
|
vignetteFilter: PixiFilters.OldFilmFilter;
|
|
30
30
|
noiseFilter: PIXI.NoiseFilter;
|
|
31
|
-
effectFilter:
|
|
31
|
+
effectFilter: PIXI.ColorMatrixFilter | PixiFilters.HslAdjustmentFilter | PixiFilters.OldFilmFilter | (PIXI.ColorMatrixFilter | PixiFilters.GlowFilter)[] | null;
|
|
32
32
|
blackAndWhiteFilter: PixiFilters.HslAdjustmentFilter;
|
|
33
33
|
sepiaFilter: PIXI.ColorMatrixFilter;
|
|
34
34
|
retroVintageFilter: PIXI.ColorMatrixFilter;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LottieLayerBase } from './bodymovin-layer';
|
|
2
|
+
export interface ColorControlExtraction {
|
|
3
|
+
theme: Record<string, string>;
|
|
4
|
+
sourceLayerIds: Set<string>;
|
|
5
|
+
resolveToken: (layerName: string, effectName: string) => string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export interface LottieEffect {
|
|
8
|
+
mn?: string;
|
|
9
|
+
nm?: string;
|
|
10
|
+
ef?: Array<{
|
|
11
|
+
ty?: number;
|
|
12
|
+
v?: {
|
|
13
|
+
k?: number[];
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export declare function extractColorControls(layers: ReadonlyArray<LottieLayerBase & {
|
|
18
|
+
ef?: LottieEffect[];
|
|
19
|
+
}>, layerIdFor: (l: LottieLayerBase) => string): ColorControlExtraction;
|
|
20
|
+
export declare function parseColorControlExpression(x: string): {
|
|
21
|
+
layerName: string;
|
|
22
|
+
effectName: string;
|
|
23
|
+
} | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function lottieColorToHex(rgba: number[]): string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AepKeyframe, AepBezierPath } from '../../types/aep';
|
|
2
|
+
export interface LottieKeyframe {
|
|
3
|
+
t: number;
|
|
4
|
+
s?: number | number[];
|
|
5
|
+
o?: {
|
|
6
|
+
x: number | number[];
|
|
7
|
+
y: number | number[];
|
|
8
|
+
};
|
|
9
|
+
i?: {
|
|
10
|
+
x: number | number[];
|
|
11
|
+
y: number | number[];
|
|
12
|
+
};
|
|
13
|
+
h?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface LottieProperty {
|
|
16
|
+
a: 0 | 1;
|
|
17
|
+
k: number | number[] | LottieKeyframe[];
|
|
18
|
+
}
|
|
19
|
+
export type KeyframeValueShape<T> = (raw: number | number[]) => T;
|
|
20
|
+
export declare function convertProperty<T>(prop: LottieProperty | undefined, shape: KeyframeValueShape<T>): T | AepKeyframe<T>[] | undefined;
|
|
21
|
+
export declare const asNumber: KeyframeValueShape<number>;
|
|
22
|
+
export declare const asVec2: KeyframeValueShape<[number, number]>;
|
|
23
|
+
export declare const asScale: KeyframeValueShape<[number, number]>;
|
|
24
|
+
export declare const asOpacity: KeyframeValueShape<number>;
|
|
25
|
+
interface LottieBezier {
|
|
26
|
+
v?: Array<[number, number]>;
|
|
27
|
+
i?: Array<[number, number]>;
|
|
28
|
+
o?: Array<[number, number]>;
|
|
29
|
+
c?: boolean;
|
|
30
|
+
}
|
|
31
|
+
interface LottieBezierProperty {
|
|
32
|
+
a: 0 | 1;
|
|
33
|
+
k: LottieBezier | Array<{
|
|
34
|
+
t: number;
|
|
35
|
+
s?: LottieBezier[] | LottieBezier;
|
|
36
|
+
o?: LottieKeyframe["o"];
|
|
37
|
+
i?: LottieKeyframe["i"];
|
|
38
|
+
h?: number;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
export declare function convertBezierProperty(prop: LottieBezierProperty | undefined): AepBezierPath | AepKeyframe<AepBezierPath>[] | undefined;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { AepLayer } from '../../types/aep';
|
|
2
|
+
import { LottieTransform } from './bodymovin-transform';
|
|
3
|
+
import { LottieProperty } from './bodymovin-keyframe';
|
|
4
|
+
export interface LottieLayerBase {
|
|
5
|
+
ddd?: 0 | 1;
|
|
6
|
+
ind?: number;
|
|
7
|
+
ty: number;
|
|
8
|
+
nm?: string;
|
|
9
|
+
ks?: LottieTransform;
|
|
10
|
+
ip: number;
|
|
11
|
+
op: number;
|
|
12
|
+
st?: number;
|
|
13
|
+
parent?: number;
|
|
14
|
+
hd?: 0 | 1;
|
|
15
|
+
tt?: number;
|
|
16
|
+
td?: number;
|
|
17
|
+
}
|
|
18
|
+
interface LottieShapeItem {
|
|
19
|
+
ty: string;
|
|
20
|
+
nm?: string;
|
|
21
|
+
it?: LottieShapeItem[];
|
|
22
|
+
p?: LottieProperty;
|
|
23
|
+
s?: LottieProperty;
|
|
24
|
+
r?: LottieProperty;
|
|
25
|
+
c?: LottieProperty;
|
|
26
|
+
o?: LottieProperty;
|
|
27
|
+
sy?: 1 | 2;
|
|
28
|
+
pt?: LottieProperty;
|
|
29
|
+
ir?: LottieProperty;
|
|
30
|
+
or?: LottieProperty;
|
|
31
|
+
ks?: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface LottieShapeLayer extends LottieLayerBase {
|
|
34
|
+
ty: 4;
|
|
35
|
+
shapes: LottieShapeItem[];
|
|
36
|
+
}
|
|
37
|
+
export interface LottieSolidLayer extends LottieLayerBase {
|
|
38
|
+
ty: 1;
|
|
39
|
+
sc: string;
|
|
40
|
+
sw: number;
|
|
41
|
+
sh: number;
|
|
42
|
+
}
|
|
43
|
+
export interface LottieTextLayer extends LottieLayerBase {
|
|
44
|
+
ty: 5;
|
|
45
|
+
t: {
|
|
46
|
+
d: {
|
|
47
|
+
k: Array<{
|
|
48
|
+
s: LottieTextDoc;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface LottieNullLayer extends LottieLayerBase {
|
|
54
|
+
ty: 3;
|
|
55
|
+
}
|
|
56
|
+
export interface LottieImageLayer extends LottieLayerBase {
|
|
57
|
+
ty: 2;
|
|
58
|
+
refId: string;
|
|
59
|
+
}
|
|
60
|
+
export interface LottiePrecompLayer extends LottieLayerBase {
|
|
61
|
+
ty: 0;
|
|
62
|
+
refId: string;
|
|
63
|
+
w: number;
|
|
64
|
+
h: number;
|
|
65
|
+
}
|
|
66
|
+
interface LottieTextDoc {
|
|
67
|
+
t: string;
|
|
68
|
+
f: string;
|
|
69
|
+
s: number;
|
|
70
|
+
fc?: [number, number, number];
|
|
71
|
+
sc?: [number, number, number];
|
|
72
|
+
sw?: number;
|
|
73
|
+
lh?: number;
|
|
74
|
+
tr?: number;
|
|
75
|
+
j?: number;
|
|
76
|
+
}
|
|
77
|
+
export type LottieLayer = LottieShapeLayer | LottieSolidLayer | LottieTextLayer | LottieNullLayer | LottieImageLayer | LottiePrecompLayer | LottieLayerBase;
|
|
78
|
+
export declare function layerIdFor(layer: LottieLayerBase): string;
|
|
79
|
+
export interface ConvertLayerContext {
|
|
80
|
+
matteSourceId?: string;
|
|
81
|
+
resolveColorControl?: (hostLayerName: string, expression: string) => string | undefined;
|
|
82
|
+
}
|
|
83
|
+
export declare function convertLayer(layer: LottieLayer, ctx?: ConvertLayerContext): AepLayer[];
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AepTransform } from '../../types/aep';
|
|
2
|
+
import { LottieProperty } from './bodymovin-keyframe';
|
|
3
|
+
export interface LottieTransform {
|
|
4
|
+
p?: LottieProperty;
|
|
5
|
+
a?: LottieProperty;
|
|
6
|
+
s?: LottieProperty;
|
|
7
|
+
r?: LottieProperty;
|
|
8
|
+
o?: LottieProperty;
|
|
9
|
+
sk?: LottieProperty;
|
|
10
|
+
sa?: LottieProperty;
|
|
11
|
+
}
|
|
12
|
+
export declare function convertTransform(ks: LottieTransform | undefined): AepTransform;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AepCompositionJson } from '../../types/aep';
|
|
2
|
+
export type BodymovinLintMode = "strict" | "warn" | "off";
|
|
3
|
+
export interface BodymovinToAepOptions {
|
|
4
|
+
lint?: BodymovinLintMode;
|
|
5
|
+
disabledRules?: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function bodymovinToAep(lottieJson: unknown, options?: BodymovinToAepOptions): AepCompositionJson;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AepCameraLayer, AepLightLayer, AepTransform3D } from '../../types/aep';
|
|
2
|
+
import { LottieProperty } from './bodymovin-keyframe';
|
|
3
|
+
import { LottieLayerBase } from './bodymovin-layer';
|
|
4
|
+
export interface LottieTransform3D {
|
|
5
|
+
p?: LottieProperty;
|
|
6
|
+
a?: LottieProperty;
|
|
7
|
+
s?: LottieProperty;
|
|
8
|
+
r?: LottieProperty;
|
|
9
|
+
rx?: LottieProperty;
|
|
10
|
+
ry?: LottieProperty;
|
|
11
|
+
rz?: LottieProperty;
|
|
12
|
+
or?: LottieProperty;
|
|
13
|
+
o?: LottieProperty;
|
|
14
|
+
}
|
|
15
|
+
export interface LottieCameraLayer extends LottieLayerBase {
|
|
16
|
+
ty: 13;
|
|
17
|
+
pe?: LottieProperty;
|
|
18
|
+
ks?: LottieTransform3D;
|
|
19
|
+
}
|
|
20
|
+
export interface LottieLightLayer extends LottieLayerBase {
|
|
21
|
+
ty: 14;
|
|
22
|
+
lt?: 1 | 2 | 3 | 4;
|
|
23
|
+
in?: LottieProperty;
|
|
24
|
+
cl?: LottieProperty;
|
|
25
|
+
ca?: LottieProperty;
|
|
26
|
+
cf?: LottieProperty;
|
|
27
|
+
ks?: LottieTransform3D;
|
|
28
|
+
}
|
|
29
|
+
export declare function isLottieCameraLayer(layer: LottieLayerBase): boolean;
|
|
30
|
+
export declare function isLottieLightLayer(layer: LottieLayerBase): boolean;
|
|
31
|
+
export declare function isLottie3DLayer(layer: LottieLayerBase): boolean;
|
|
32
|
+
export declare function transform3DFromKs(ks: LottieTransform3D | undefined): AepTransform3D;
|
|
33
|
+
export declare function convertCameraLayer(layer: LottieCameraLayer, id: string): AepCameraLayer;
|
|
34
|
+
export declare function convertLightLayer(layer: LottieLightLayer, id: string): AepLightLayer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AepTextStyleRun } from '../../types/aep';
|
|
2
|
+
export interface LottieTextRunExtension {
|
|
3
|
+
from: number;
|
|
4
|
+
to: number;
|
|
5
|
+
font?: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
fc?: [number, number, number];
|
|
8
|
+
weight?: number | string;
|
|
9
|
+
italic?: boolean;
|
|
10
|
+
tr?: number;
|
|
11
|
+
bs?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function extractBodymovinTextRuns(doc: unknown): AepTextStyleRun[] | undefined;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { bodymovinToAep } from './bodymovin';
|
|
2
|
+
export { convertLayer, layerIdFor } from './bodymovin-layer';
|
|
3
|
+
export { convertTransform } from './bodymovin-transform';
|
|
4
|
+
export { convertProperty, asNumber, asVec2, asScale, asOpacity, } from './bodymovin-keyframe';
|
|
5
|
+
export { lottieColorToHex } from './bodymovin-color';
|
|
6
|
+
export { lintBodymovinJson, LottieLintError, type LintFinding, type LintReport, type LintSeverity, type LintOptions, } from './lottieLint';
|
|
7
|
+
export { readPostFxExtension, readExtrusionExtension, } from './bodymovinExtensions';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type LintSeverity = "error" | "warn" | "info";
|
|
2
|
+
export interface LintFinding {
|
|
3
|
+
ruleId: string;
|
|
4
|
+
severity: LintSeverity;
|
|
5
|
+
message: string;
|
|
6
|
+
layerIndex?: number;
|
|
7
|
+
layerName?: string;
|
|
8
|
+
path?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface LintReport {
|
|
11
|
+
findings: LintFinding[];
|
|
12
|
+
hasErrors: boolean;
|
|
13
|
+
hasWarnings: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface LintOptions {
|
|
16
|
+
disabledRules?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare class LottieLintError extends Error {
|
|
19
|
+
readonly report: LintReport;
|
|
20
|
+
constructor(report: LintReport);
|
|
21
|
+
}
|
|
22
|
+
export declare function lintBodymovinJson(json: unknown, options?: LintOptions): LintReport;
|
|
23
|
+
export declare function isSuppressed(layer: unknown, ruleId: string): boolean;
|