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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
import type * as PIXI from "pixi.js";
|
|
4
|
+
interface PrecompTextureEntry {
|
|
5
|
+
canvas: HTMLCanvasElement | null;
|
|
6
|
+
texture: THREE.Texture | null;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
rev: number;
|
|
10
|
+
}
|
|
11
|
+
interface PrecompRenderStore {
|
|
12
|
+
entries: Map<string, PrecompTextureEntry>;
|
|
13
|
+
subscribers: Set<() => void>;
|
|
14
|
+
}
|
|
15
|
+
export declare const AepPrecompRenderProvider: React.FC<{
|
|
16
|
+
children: React.ReactNode;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function useAepPrecompStore(): PrecompRenderStore | null;
|
|
19
|
+
export declare function registerPrecompTexture(store: PrecompRenderStore | null, layerId: string, width: number, height: number): PrecompTextureEntry | null;
|
|
20
|
+
export declare function unregisterPrecompTexture(store: PrecompRenderStore | null, layerId: string): void;
|
|
21
|
+
export declare function writePrecompFrame(store: PrecompRenderStore | null, layerId: string, app: PIXI.Application, rt: PIXI.RenderTexture): void;
|
|
22
|
+
export declare function usePrecompTexture(layerId: string): PrecompTextureEntry | null;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type AepTextOverrideMap = Record<string, string>;
|
|
3
|
+
export declare const AepTextOverrideProvider: React.FC<{
|
|
4
|
+
value: AepTextOverrideMap | undefined;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function useAepTextOverride(layerId: string): string | undefined;
|
|
8
|
+
export declare function resolveTextSource(layerId: string, authoredSource: string, overrides: AepTextOverrideMap | undefined): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AepThemeMap } from '../../types/aep';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export declare const AepThemeProvider: React.FC<{
|
|
4
|
+
value: AepThemeMap | undefined;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function useAepTheme(): AepThemeMap | undefined;
|
|
8
|
+
export declare function mergeTheme(base: AepThemeMap | undefined, override: AepThemeMap | undefined): AepThemeMap | undefined;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AudioRegistry } from '../../utils/audio/audioRegistry';
|
|
2
|
+
import { AudioClipSpec } from '../../utils/audio/audioSync';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type AudioPlaybackElement = AudioClipSpec;
|
|
5
|
+
export interface AudioPlaybackManagerProps {
|
|
6
|
+
audioElements: ReadonlyArray<AudioPlaybackElement>;
|
|
7
|
+
/** Defaults to the shared registry. Pass your own to isolate multiple players. */
|
|
8
|
+
registry?: AudioRegistry;
|
|
9
|
+
/**
|
|
10
|
+
* Stop and release EVERY element in the registry (and close its audio context) when this
|
|
11
|
+
* unmounts. Default true: right for the one editor-wide manager that owns the registry. Turn it
|
|
12
|
+
* off when the registry is shared with others and you only want to remove your own clips.
|
|
13
|
+
*/
|
|
14
|
+
clearOnUnmount?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* AudioPlaybackManager — the single owner of audio playback. Renders nothing; mount it once,
|
|
18
|
+
* anywhere under the GSAP provider (it does not need to be inside the Pixi stage).
|
|
19
|
+
*
|
|
20
|
+
* Ported from the Clippy editor. The architecture is the point: ONE listener on the master
|
|
21
|
+
* timeline decides, for every clip, whether its element should be playing, where, and how loud.
|
|
22
|
+
* It replaces the old per-sprite GSAP tweens whose onStart/onUpdate hooks raced when clips were
|
|
23
|
+
* added dynamically, and it has no per-clip timing state to go stale.
|
|
24
|
+
*
|
|
25
|
+
* The decision itself is pure (`decideAudioSync`) and unit-tested; this component only owns the
|
|
26
|
+
* element lifecycle and the event wiring. Differences from Clippy:
|
|
27
|
+
* - plain `HTMLAudioElement` instead of Howler (no dependency; same streaming behaviour as
|
|
28
|
+
* Howler's html5 mode, which Clippy already uses)
|
|
29
|
+
* - the playhead moving BACKWARDS or being scrubbed pauses the clips (Clippy kept playing
|
|
30
|
+
* forward and re-seeked every 200 ms)
|
|
31
|
+
* - the file position honours `speed` (Clippy's drifted at any speed other than 1)
|
|
32
|
+
* - handles `play()` being blocked by the autoplay policy, and element load errors, instead of
|
|
33
|
+
* silently stalling
|
|
34
|
+
* - a RESUME event starts clips immediately rather than waiting for the next tick
|
|
35
|
+
*/
|
|
36
|
+
declare const AudioPlaybackManager: React.FC<AudioPlaybackManagerProps>;
|
|
37
|
+
export default AudioPlaybackManager;
|
|
38
|
+
export { AudioPlaybackManager };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface Transform3DChannels {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
z: number;
|
|
5
|
+
rx: number;
|
|
6
|
+
ry: number;
|
|
7
|
+
rz: number;
|
|
8
|
+
sx: number;
|
|
9
|
+
sy: number;
|
|
10
|
+
sz: number;
|
|
11
|
+
alpha: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const IDENTITY_TRANSFORM_3D: Transform3DChannels;
|
|
14
|
+
export declare function rotateVec3Euler(v: {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
z: number;
|
|
18
|
+
}, eulerDeg: {
|
|
19
|
+
rx: number;
|
|
20
|
+
ry: number;
|
|
21
|
+
rz: number;
|
|
22
|
+
}): {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
z: number;
|
|
26
|
+
};
|
|
27
|
+
export declare function composeTransform3D(parent: Transform3DChannels, child: Transform3DChannels): Transform3DChannels;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export { AepComposition } from './AepComposition';
|
|
2
|
+
export type { AepCompositionProps } from './AepComposition';
|
|
3
|
+
export { AepLayerProvider, useAepLayerContext, useAepLayerContextOptional, AepRecursionDepthProvider, useAepRecursionDepth, AEP_MAX_PRECOMP_DEPTH, mergeAssetMaps, } from './AepLayerProvider';
|
|
4
|
+
export type { AepLayerContextValue, AepAssetOverrideMap, AepAssetOverride, } from './AepLayerProvider';
|
|
5
|
+
export { AepLayerRouter } from './AepLayerRouter';
|
|
6
|
+
export { Aep3DScene } from './Aep3DScene';
|
|
7
|
+
export type { Aep3DSceneProps } from './Aep3DScene';
|
|
8
|
+
export { Aep3DPostFx } from './Aep3DPostFx';
|
|
9
|
+
export type { Aep3DPostFxProps } from './Aep3DPostFx';
|
|
10
|
+
export { usePixiRenderTexture } from './usePixiRenderTexture';
|
|
11
|
+
export { threeTextureFromPixi } from './threeTextureFromPixi';
|
|
12
|
+
export type { ThreeTextureBridge } from './threeTextureFromPixi';
|
|
13
|
+
export { Aep3DShapeMesh } from './Aep3DShapeMesh';
|
|
14
|
+
export type { Aep3DShapeMeshProps } from './Aep3DShapeMesh';
|
|
15
|
+
export { Aep3DTextMesh } from './Aep3DTextMesh';
|
|
16
|
+
export type { Aep3DTextMeshProps } from './Aep3DTextMesh';
|
|
17
|
+
export { AepMsdfTextMesh } from './AepMsdfTextMesh';
|
|
18
|
+
export type { AepMsdfTextMeshProps } from './AepMsdfTextMesh';
|
|
19
|
+
export { MsdfAtlasProvider, MsdfAtlasRegistry, useMsdfAtlas, type MsdfAtlasRegistryValue, } from './msdfAtlasRegistry';
|
|
20
|
+
export { pathToThreeShape, pathHash } from './pathToThreeShape';
|
|
21
|
+
export { AepPrecompRenderProvider, useAepPrecompStore, usePrecompTexture, } from './AepPrecompRenderContext';
|
|
22
|
+
export { AepPrecompRenderer } from './AepPrecompRenderer';
|
|
23
|
+
export type { AepPrecompRendererProps } from './AepPrecompRenderer';
|
|
24
|
+
export { Aep3DPrecompPlane } from './Aep3DPrecompPlane';
|
|
25
|
+
export type { Aep3DPrecompPlaneProps } from './Aep3DPrecompPlane';
|
|
26
|
+
export { useAepLayerTransform3D } from './useAepLayerTransform3D';
|
|
27
|
+
export type { AepResolvedTransform3D } from './useAepLayerTransform3D';
|
|
28
|
+
export { composeTransform3D, rotateVec3Euler, IDENTITY_TRANSFORM_3D, } from './composeTransform3D';
|
|
29
|
+
export type { Transform3DChannels } from './composeTransform3D';
|
|
30
|
+
export { useAepLayerTransform } from './useAepLayerTransform';
|
|
31
|
+
export type { AepResolvedTransform } from './useAepLayerTransform';
|
|
32
|
+
export { AepAssetResolverProvider, defaultAssetResolver, useAepAssetResolver, type AepAssetResolver, type AepResolvedAsset, } from './AepAssetResolver';
|
|
33
|
+
export { useResolveAsset } from './useResolveAsset';
|
|
34
|
+
export type { AepAssetState, AepResolvedAssetState } from './useResolveAsset';
|
|
35
|
+
export { AepThemeProvider, useAepTheme, mergeTheme, } from './AepThemeContext';
|
|
36
|
+
export { AepTextOverrideProvider, useAepTextOverride, resolveTextSource, } from './AepTextOverrideContext';
|
|
37
|
+
export type { AepTextOverrideMap } from './AepTextOverrideContext';
|
|
38
|
+
export { resolvePostFxList } from './resolvePostFxList';
|
|
39
|
+
export { shouldSplitText } from './shouldSplitText';
|
|
40
|
+
export { AudioPlaybackManager } from './AudioPlaybackManager';
|
|
41
|
+
export type { AudioPlaybackManagerProps, AudioPlaybackElement, } from './AudioPlaybackManager';
|
|
42
|
+
export * from './model3d';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ForwardedRefResponse, PixiBaseSpriteProps } from '../../../types/BaseProps';
|
|
2
|
+
import { AepModel3DLayer } from '../../../types/aep';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export interface Pixi3DModelLayerProps extends PixiBaseSpriteProps {
|
|
5
|
+
layer: AepModel3DLayer;
|
|
6
|
+
}
|
|
7
|
+
export declare const Pixi3DModelLayer: React.MemoExoticComponent<({ ref, layer, ...props }: Pixi3DModelLayerProps & {
|
|
8
|
+
ref?: React.Ref<ForwardedRefResponse | null>;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
export interface OffscreenRenderRequest {
|
|
3
|
+
canvas: HTMLCanvasElement;
|
|
4
|
+
scene: THREE.Scene;
|
|
5
|
+
camera: THREE.PerspectiveCamera;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
/** The slice of THREE.WebGLRenderer this service uses (lets tests inject a fake). */
|
|
10
|
+
export interface OffscreenGlRenderer {
|
|
11
|
+
readonly domElement: HTMLCanvasElement;
|
|
12
|
+
setSize(width: number, height: number, updateStyle?: boolean): void;
|
|
13
|
+
setViewport(x: number, y: number, width: number, height: number): void;
|
|
14
|
+
render(scene: THREE.Scene, camera: THREE.Camera): void;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
forceContextLoss(): void;
|
|
17
|
+
}
|
|
18
|
+
export declare class ThreeOffscreenRenderer {
|
|
19
|
+
readonly renderer: THREE.WebGLRenderer;
|
|
20
|
+
private readonly gl;
|
|
21
|
+
private width;
|
|
22
|
+
private height;
|
|
23
|
+
constructor(gl?: OffscreenGlRenderer);
|
|
24
|
+
render({ canvas, scene, camera, width, height }: OffscreenRenderRequest): void;
|
|
25
|
+
dispose(): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reference-counted pool of shared things keyed by owner (a Pixi `Application`).
|
|
29
|
+
*
|
|
30
|
+
* The last release schedules disposal after a grace period, so a StrictMode double-mount or a
|
|
31
|
+
* stage remount reuses the same renderer instead of tearing down and recreating a WebGL context.
|
|
32
|
+
* Without this, every Application (each Storybook story switch, for example) leaked a context
|
|
33
|
+
* until the browser's ~16 context cap started dropping live ones.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createRendererPool<T extends {
|
|
36
|
+
dispose(): void;
|
|
37
|
+
}>(create: () => T, graceMs?: number): {
|
|
38
|
+
acquire(owner: unknown): T;
|
|
39
|
+
release(owner: unknown): void;
|
|
40
|
+
size: () => number;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Take a use of the shared renderer for a Pixi `Application` (or a process-wide fallback when no
|
|
44
|
+
* application is available, e.g. in tests/portals). Pair every call with `releaseOffscreenRenderer`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function acquireOffscreenRenderer(app?: object | null): ThreeOffscreenRenderer;
|
|
47
|
+
export declare function releaseOffscreenRenderer(app?: object | null): void;
|
|
48
|
+
/** @deprecated Does not track ownership; use `acquireOffscreenRenderer` / `releaseOffscreenRenderer`. */
|
|
49
|
+
export declare function getOffscreenRenderer(app?: object | null): ThreeOffscreenRenderer;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface CameraFraming {
|
|
2
|
+
position: [number, number, number];
|
|
3
|
+
target: [number, number, number];
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Fixed camera for a model whose rest-pose bounds are `center` / `maxDim`.
|
|
7
|
+
*
|
|
8
|
+
* The camera frames the UNSCALED, UNTRANSLATED model and never follows it. Following `view.position`
|
|
9
|
+
* or compensating for `view.scale` would cancel the very motion those keyframes describe (the
|
|
10
|
+
* object would sit still in the viewport). Use `camera.fit` to leave room for growth or travel.
|
|
11
|
+
*/
|
|
12
|
+
export declare function frameCamera(center: readonly [number, number, number], maxDim: number, fovDeg: number, fit: number): CameraFraming;
|
|
13
|
+
/** Seconds into a glTF clip: relative to the layer's in-point, never negative. */
|
|
14
|
+
export declare function clipTimeSeconds(frame: number, inPointFrames: number, fps: number): number;
|
|
15
|
+
/** Whether `frame` is inside the layer's half-open window [inPoint, outPoint). */
|
|
16
|
+
export declare function isFrameInRange(frame: number, inPointFrames: number, outPointFrames: number): boolean;
|
|
17
|
+
export interface FramingBounds {
|
|
18
|
+
center: [number, number, number];
|
|
19
|
+
/** Largest edge, in model units. */
|
|
20
|
+
maxDim: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Bounds used to frame the camera. An authored `bounds` override wins over what was measured from
|
|
24
|
+
* the loaded model; its `center` defaults to the measured centre. Measured bounds of a skinned
|
|
25
|
+
* glTF are cached at the first pose and do not follow the animation, hence the override.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveFramingBounds(measured: FramingBounds, override?: {
|
|
28
|
+
center?: readonly [number, number, number];
|
|
29
|
+
size: readonly [number, number, number];
|
|
30
|
+
}): FramingBounds;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AepModel3DSource } from '../../../types/aep';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export type PrimitiveShape = Extract<AepModel3DSource, {
|
|
4
|
+
type: "primitive";
|
|
5
|
+
}>["shape"];
|
|
6
|
+
export interface PrimitiveProportions {
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
depth?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildPrimitiveGeometry(shape: PrimitiveShape, proportions?: PrimitiveProportions): THREE.BufferGeometry;
|
|
12
|
+
export interface ExtrudeGeometryResult {
|
|
13
|
+
geometry: THREE.ExtrudeGeometry;
|
|
14
|
+
/** Contour width/height in the same units as the input points. */
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function buildExtrudeGeometry(contour: ReadonlyArray<readonly [number, number]>, depth: number, bevel?: number): ExtrudeGeometryResult;
|
|
19
|
+
export interface BuiltSourceGeometry {
|
|
20
|
+
geometry: THREE.BufferGeometry;
|
|
21
|
+
/**
|
|
22
|
+
* True when the geometry has two material groups: caps (0) and sides (1).
|
|
23
|
+
* Boxes have six groups (+X, -X, +Y, -Y, +Z, -Z).
|
|
24
|
+
*/
|
|
25
|
+
materialGroups: "single" | "extrude" | "box";
|
|
26
|
+
}
|
|
27
|
+
export declare function buildSourceGeometry(source: AepModel3DSource, sampledDepth: number): BuiltSourceGeometry;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { Pixi3DModelLayer } from './Pixi3DModelLayer';
|
|
2
|
+
export type { Pixi3DModelLayerProps } from './Pixi3DModelLayer';
|
|
3
|
+
export { AepReadinessProvider, useAepCompositionReady, useAepReadiness, } from './readiness';
|
|
4
|
+
export type { AepReadinessContextValue } from './readiness';
|
|
5
|
+
export { ThreeOffscreenRenderer, acquireOffscreenRenderer, releaseOffscreenRenderer, createRendererPool, getOffscreenRenderer, } from './ThreeOffscreenRenderer';
|
|
6
|
+
export type { OffscreenRenderRequest, OffscreenGlRenderer, } from './ThreeOffscreenRenderer';
|
|
7
|
+
export { frameCamera, clipTimeSeconds, isFrameInRange } from './framing';
|
|
8
|
+
export type { CameraFraming } from './framing';
|
|
9
|
+
export { LIGHTING_PRESETS, DEFAULT_LIGHTING_PRESET, resolveLightingConfig, directionFromAzimuthElevation, } from './lighting';
|
|
10
|
+
export type { LightingConfig, LightingOverrides, LightingPresetName, LightingRig, } from './lighting';
|
|
11
|
+
export { buildPrimitiveGeometry, buildExtrudeGeometry, buildSourceGeometry, } from './geometry';
|
|
12
|
+
export type { PrimitiveShape, PrimitiveProportions, ExtrudeGeometryResult, BuiltSourceGeometry, } from './geometry';
|
|
13
|
+
export { sampleModel3DState, model3DStateKey, MODEL3D_DEFAULTS, } from './sampleModel3D';
|
|
14
|
+
export type { SampledModel3DState } from './sampleModel3D';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AepModel3DLighting } from '../../../types/aep';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export type LightingPresetName = NonNullable<AepModel3DLighting["preset"]>;
|
|
4
|
+
export interface LightingConfig {
|
|
5
|
+
preset: LightingPresetName;
|
|
6
|
+
keyAzimuth: number;
|
|
7
|
+
keyElevation: number;
|
|
8
|
+
keyIntensity: number;
|
|
9
|
+
keyColor: string;
|
|
10
|
+
fillIntensity: number;
|
|
11
|
+
rimIntensity: number;
|
|
12
|
+
ambientIntensity: number;
|
|
13
|
+
environmentIntensity: number;
|
|
14
|
+
environment: "room" | "none";
|
|
15
|
+
}
|
|
16
|
+
export declare const LIGHTING_PRESETS: Record<LightingPresetName, LightingConfig>;
|
|
17
|
+
export declare const DEFAULT_LIGHTING_PRESET: LightingPresetName;
|
|
18
|
+
export interface LightingOverrides {
|
|
19
|
+
keyAzimuth?: number;
|
|
20
|
+
keyElevation?: number;
|
|
21
|
+
keyIntensity?: number;
|
|
22
|
+
keyColor?: string;
|
|
23
|
+
fillIntensity?: number;
|
|
24
|
+
rimIntensity?: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function resolveLightingConfig(presetName?: LightingPresetName, overrides?: LightingOverrides, environment?: AepModel3DLighting["environment"]): LightingConfig;
|
|
27
|
+
/** Unit vector pointing from the light's target toward the light. */
|
|
28
|
+
export declare function directionFromAzimuthElevation(azimuthDeg: number, elevationDeg: number): [number, number, number];
|
|
29
|
+
export interface LightingRig {
|
|
30
|
+
group: THREE.Group;
|
|
31
|
+
ambient: THREE.AmbientLight;
|
|
32
|
+
key: THREE.DirectionalLight;
|
|
33
|
+
fill: THREE.DirectionalLight;
|
|
34
|
+
rim: THREE.DirectionalLight;
|
|
35
|
+
}
|
|
36
|
+
export declare function createLightingRig(config: LightingConfig): LightingRig;
|
|
37
|
+
export declare function applyLightingRig(rig: LightingRig, config: LightingConfig): void;
|
|
38
|
+
export declare function disposeLightingRig(rig: LightingRig): void;
|
|
39
|
+
export declare function getRoomEnvironmentTexture(renderer: THREE.WebGLRenderer): THREE.Texture;
|
|
40
|
+
export declare function applyEnvironment(scene: THREE.Scene, config: LightingConfig, renderer: THREE.WebGLRenderer): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface AepReadinessContextValue {
|
|
3
|
+
ready: boolean;
|
|
4
|
+
readyCount: number;
|
|
5
|
+
total: number;
|
|
6
|
+
register: (id: string) => () => void;
|
|
7
|
+
markReady: (id: string) => void;
|
|
8
|
+
reset: (id: string) => void;
|
|
9
|
+
reportError: (id: string, error: unknown) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function useAepCompositionReady(): boolean;
|
|
12
|
+
export declare function useAepReadiness(): AepReadinessContextValue;
|
|
13
|
+
export interface AepReadinessProviderProps {
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
onLayerError?: (layerId: string, error: unknown) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const AepReadinessProvider: React.FC<AepReadinessProviderProps>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { AepModel3DLayer } from '../../../types/aep';
|
|
2
|
+
import { LightingPresetName } from './lighting';
|
|
3
|
+
export interface SampledModel3DState {
|
|
4
|
+
rotation: [number, number, number];
|
|
5
|
+
position: [number, number, number];
|
|
6
|
+
scale: number;
|
|
7
|
+
extrudeDepth: number;
|
|
8
|
+
roughness: number;
|
|
9
|
+
metalness: number;
|
|
10
|
+
clearcoat: number;
|
|
11
|
+
preset: LightingPresetName;
|
|
12
|
+
keyAzimuth: number;
|
|
13
|
+
keyElevation: number;
|
|
14
|
+
keyIntensity: number;
|
|
15
|
+
keyColor: string;
|
|
16
|
+
fillIntensity: number;
|
|
17
|
+
rimIntensity: number;
|
|
18
|
+
environment: "room" | "none";
|
|
19
|
+
shadowOpacity: number;
|
|
20
|
+
shadowSoftness: number;
|
|
21
|
+
shadowOffsetY: number;
|
|
22
|
+
fov: number;
|
|
23
|
+
fit: number;
|
|
24
|
+
}
|
|
25
|
+
export declare const MODEL3D_DEFAULTS: {
|
|
26
|
+
readonly rotation: [number, number, number];
|
|
27
|
+
readonly position: [number, number, number];
|
|
28
|
+
readonly scale: 1;
|
|
29
|
+
readonly roughness: 0.35;
|
|
30
|
+
readonly metalness: 0.05;
|
|
31
|
+
readonly clearcoat: 0;
|
|
32
|
+
readonly shadowOpacity: 0.35;
|
|
33
|
+
readonly shadowSoftness: 0.6;
|
|
34
|
+
readonly shadowOffsetY: 0;
|
|
35
|
+
readonly fov: 35;
|
|
36
|
+
readonly fit: 1.35;
|
|
37
|
+
};
|
|
38
|
+
export declare function sampleModel3DState(layer: AepModel3DLayer, frame: number): SampledModel3DState;
|
|
39
|
+
/** Deterministic identity for the sampled state, used for dirty checks. */
|
|
40
|
+
export declare function model3DStateKey(state: SampledModel3DState): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MsdfAtlas } from '../../utils/msdf';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export interface MsdfAtlasRegistryValue {
|
|
4
|
+
get(fontKey: string): MsdfAtlas | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare const MsdfAtlasProvider: React.FC<{
|
|
7
|
+
value: MsdfAtlasRegistryValue;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}>;
|
|
10
|
+
export declare function useMsdfAtlas(fontKey: string | undefined): MsdfAtlas | undefined;
|
|
11
|
+
export declare class MsdfAtlasRegistry implements MsdfAtlasRegistryValue {
|
|
12
|
+
private readonly map;
|
|
13
|
+
set(fontKey: string, atlas: MsdfAtlas): void;
|
|
14
|
+
get(fontKey: string): MsdfAtlas | undefined;
|
|
15
|
+
has(fontKey: string): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AepLayer } from '../../types/aep';
|
|
2
|
+
type AepTextLayer = Extract<AepLayer, {
|
|
3
|
+
kind: "text";
|
|
4
|
+
}>;
|
|
5
|
+
/**
|
|
6
|
+
* Router-level predicate: should a text layer render via `PixiTextSplit`
|
|
7
|
+
* (per-glyph, layout-engine-driven) vs the flat `PixiTextSprite` path?
|
|
8
|
+
*
|
|
9
|
+
* The split path runs the shared layout engine (aep-25 / aep-27) and
|
|
10
|
+
* samples every frame, so it owns per-frame animation. Forced when:
|
|
11
|
+
*
|
|
12
|
+
* - `splitMode` is explicit (chars / words / lines).
|
|
13
|
+
* - any `animators[]` are attached.
|
|
14
|
+
* - multi-style `runs[]` cover the layer.
|
|
15
|
+
* - `style.align` is any justify variant (slack distribution needs
|
|
16
|
+
* per-glyph placement).
|
|
17
|
+
* - `style.fill` is animated (keyframe array) — aep-29 parity:
|
|
18
|
+
* `PixiTextSprite` takes a flat string color, so animated +/- themed
|
|
19
|
+
* fills only animate via the split path.
|
|
20
|
+
*
|
|
21
|
+
* Static themed fills (the `{ themeKey, default }` object form) still
|
|
22
|
+
* route to the non-split sprite — they resolve once via the theme map
|
|
23
|
+
* and re-render on theme prop change without remount.
|
|
24
|
+
*/
|
|
25
|
+
export declare function shouldSplitText(layer: AepTextLayer): boolean;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as PIXI from "pixi.js";
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
export interface ThreeTextureBridge {
|
|
4
|
+
texture: THREE.Texture;
|
|
5
|
+
refresh: (app: PIXI.Application, rt: PIXI.RenderTexture) => void;
|
|
6
|
+
dispose: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function threeTextureFromPixi(): ThreeTextureBridge;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AepLayer } from '../../types/aep';
|
|
2
|
+
export interface AepResolvedTransform {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
scale: [number, number];
|
|
8
|
+
rotation: number;
|
|
9
|
+
alpha: number;
|
|
10
|
+
anchor: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function useAepLayerTransform(layer: AepLayer, intrinsicSize: {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
}): AepResolvedTransform;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AepLayer } from '../../types/aep';
|
|
2
|
+
export interface AepResolvedTransform3D {
|
|
3
|
+
position: [number, number, number];
|
|
4
|
+
rotationEuler: [number, number, number];
|
|
5
|
+
scale: [number, number, number];
|
|
6
|
+
alpha: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function useAepLayerTransform3D(layer: AepLayer): AepResolvedTransform3D;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as PIXI from "pixi.js";
|
|
2
|
+
type TextureFactory = (width: number, height: number) => PIXI.RenderTexture;
|
|
3
|
+
export declare function _setTextureFactory(fn: TextureFactory | null): void;
|
|
4
|
+
declare function acquire(width: number, height: number): PIXI.RenderTexture;
|
|
5
|
+
declare function release(tex: PIXI.RenderTexture): void;
|
|
6
|
+
export declare const _acquire: typeof acquire;
|
|
7
|
+
export declare const _release: typeof release;
|
|
8
|
+
export declare function _poolStats(): {
|
|
9
|
+
totalEntries: number;
|
|
10
|
+
inUseCount: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function _poolReset(): void;
|
|
13
|
+
export declare function usePixiRenderTexture(width: number, height: number): PIXI.RenderTexture;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type AepAssetState = "idle" | "loading" | "ready" | "error";
|
|
2
|
+
export interface AepResolvedAssetState {
|
|
3
|
+
url: string;
|
|
4
|
+
mime?: string;
|
|
5
|
+
state: AepAssetState;
|
|
6
|
+
error?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare function useResolveAsset(assetId: string | undefined): AepResolvedAssetState;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AepMask } from '../../types/aep';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export interface AepMaskContainerProps {
|
|
4
|
+
masks: ReadonlyArray<AepMask>;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
fps?: number;
|
|
7
|
+
inPointFrames?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const AepMaskContainer: React.FC<AepMaskContainerProps>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AepTrackMatte } from '../../types/aep';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export interface PixiTrackMatteProps {
|
|
4
|
+
source: React.ReactNode;
|
|
5
|
+
matted: React.ReactNode;
|
|
6
|
+
mode: AepTrackMatte["mode"];
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const PixiTrackMatte: React.FC<PixiTrackMatteProps>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AepMaskContainer } from './AepMaskContainer';
|
|
2
|
+
export type { AepMaskContainerProps } from './AepMaskContainer';
|
|
3
|
+
export { PixiTrackMatte } from './PixiTrackMatte';
|
|
4
|
+
export type { PixiTrackMatteProps } from './PixiTrackMatte';
|
|
5
|
+
export { drawAepMaskComposite } from './drawAepMask';
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
interface HowlerAudioPlayerProps {
|
|
1
|
+
interface AudioPlayerProps {
|
|
4
2
|
src: string;
|
|
5
3
|
start: number;
|
|
6
4
|
end: number;
|
|
7
5
|
}
|
|
8
|
-
interface
|
|
9
|
-
|
|
6
|
+
interface IAudioPlayer {
|
|
7
|
+
audio: HTMLAudioElement | null;
|
|
10
8
|
isPlaying: boolean;
|
|
11
9
|
currentTime: number;
|
|
12
10
|
handlePause: () => void;
|
|
@@ -15,6 +13,12 @@ interface IHowlerAudioPlayer {
|
|
|
15
13
|
handleSeek: (newTime: number) => void;
|
|
16
14
|
playFromTime: (time: number) => void;
|
|
17
15
|
}
|
|
18
|
-
type
|
|
19
|
-
declare const
|
|
20
|
-
|
|
16
|
+
type UseAudioPlayer = (props: AudioPlayerProps) => IAudioPlayer;
|
|
17
|
+
declare const useAudioElementPlayer: UseAudioPlayer;
|
|
18
|
+
/**
|
|
19
|
+
* Plain-`HTMLAudioElement` player hook (no Howler involved; the old name was a leftover).
|
|
20
|
+
* `useHowlerAudioPlayer` stays exported as an alias so existing imports keep working.
|
|
21
|
+
*/
|
|
22
|
+
export { useAudioElementPlayer };
|
|
23
|
+
export declare const useHowlerAudioPlayer: UseAudioPlayer;
|
|
24
|
+
export default useAudioElementPlayer;
|