summaryrefslogtreecommitdiff
path: root/apps/web/src/services/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/services/renderer')
-rw-r--r--apps/web/src/services/renderer/resolve.ts16
1 files changed, 13 insertions, 3 deletions
diff --git a/apps/web/src/services/renderer/resolve.ts b/apps/web/src/services/renderer/resolve.ts
index 5335de2d..a4c8d303 100644
--- a/apps/web/src/services/renderer/resolve.ts
+++ b/apps/web/src/services/renderer/resolve.ts
@@ -6,6 +6,7 @@ import {
intensityToSigma,
} from "@/effects/definitions/blur";
import { effectsRegistry, resolveEffectPasses } from "@/effects";
+import { applyMotionEffects } from "@/effects/motion";
import type { Effect, EffectPass } from "@/effects/types";
import { getSourceTimeAtClipTime } from "@/retime";
import {
@@ -125,7 +126,8 @@ function resolveEffectPassGroups({
width,
height,
});
- });
+ })
+ .filter((passes) => passes.length > 0);
}
function resolveVisualState({
@@ -149,10 +151,18 @@ function resolveVisualState({
elementStartTime: params.timeOffset,
elementDuration: params.duration,
});
- const transform = resolveTransformAtTime({
- baseTransform: params.transform,
+ const transform = applyMotionEffects({
+ baseTransform: resolveTransformAtTime({
+ baseTransform: params.transform,
+ animations: params.animations,
+ localTime,
+ }),
+ effects: params.effects,
animations: params.animations,
localTime,
+ duration: params.duration,
+ canvasWidth: context.renderer.width,
+ canvasHeight: context.renderer.height,
});
const opacity = resolveOpacityAtTime({
baseOpacity: params.opacity,