screenwright 0.1.31 → 0.1.33

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.
Files changed (39) hide show
  1. package/dist/src/composition/DemoVideo.d.ts.map +1 -1
  2. package/dist/src/composition/DemoVideo.js +94 -13
  3. package/dist/src/composition/DemoVideo.js.map +1 -1
  4. package/dist/src/composition/SceneSlide.d.ts +0 -18
  5. package/dist/src/composition/SceneSlide.d.ts.map +1 -1
  6. package/dist/src/composition/SceneSlide.js +3 -155
  7. package/dist/src/composition/SceneSlide.js.map +1 -1
  8. package/dist/src/composition/transition-styles.d.ts +13 -0
  9. package/dist/src/composition/transition-styles.d.ts.map +1 -0
  10. package/dist/src/composition/transition-styles.js +87 -0
  11. package/dist/src/composition/transition-styles.js.map +1 -0
  12. package/dist/src/config/config-schema.d.ts +0 -8
  13. package/dist/src/config/config-schema.d.ts.map +1 -1
  14. package/dist/src/config/config-schema.js +0 -2
  15. package/dist/src/config/config-schema.js.map +1 -1
  16. package/dist/src/generator/prompts.d.ts +1 -1
  17. package/dist/src/generator/prompts.d.ts.map +1 -1
  18. package/dist/src/generator/prompts.js +2 -1
  19. package/dist/src/generator/prompts.js.map +1 -1
  20. package/dist/src/index.d.ts +3 -3
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +1 -1
  23. package/dist/src/runtime/action-helpers.d.ts +6 -1
  24. package/dist/src/runtime/action-helpers.d.ts.map +1 -1
  25. package/dist/src/runtime/action-helpers.js +12 -0
  26. package/dist/src/runtime/action-helpers.js.map +1 -1
  27. package/dist/src/timeline/schema.d.ts +30 -7
  28. package/dist/src/timeline/schema.d.ts.map +1 -1
  29. package/dist/src/timeline/schema.js +9 -2
  30. package/dist/src/timeline/schema.js.map +1 -1
  31. package/dist/src/timeline/types.d.ts +10 -4
  32. package/dist/src/timeline/types.d.ts.map +1 -1
  33. package/dist/src/timeline/types.js +3 -2
  34. package/dist/src/timeline/types.js.map +1 -1
  35. package/dist/src/version.d.ts +1 -1
  36. package/dist/src/version.js +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +3 -2
  39. package/skill/SKILL.md +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DemoVideo.d.ts","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQjE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyFrC,CAAC"}
1
+ {"version":3,"file":"DemoVideo.d.ts","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AASjE,UAAU,KAAK;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+KrC,CAAC"}
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Img, OffthreadVideo, Sequence, staticFile, useCurrentFrame } from 'remotion';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Img, OffthreadVideo, staticFile, useCurrentFrame } from 'remotion';
3
3
  import { CursorOverlay } from './CursorOverlay.js';
4
4
  import { NarrationTrack } from './NarrationTrack.js';
5
5
  import { SceneSlide } from './SceneSlide.js';
6
6
  import { precomputeCursorPaths } from './cursor-path.js';
7
7
  import { findClosestFrame } from './frame-lookup.js';
8
- import { resolveSlideScenes, sourceTimeMs, computeSlideSegments, remapEvents, msToFrames } from './time-remap.js';
8
+ import { getTransitionStyles } from './transition-styles.js';
9
+ import { resolveSlideScenes, sourceTimeMs, computeSlideSegments, remapEvents } from './time-remap.js';
9
10
  export const DemoVideo = ({ timeline, branding }) => {
10
11
  const fps = 30;
11
12
  const frame = useCurrentFrame();
@@ -19,33 +20,113 @@ export const DemoVideo = ({ timeline, branding }) => {
19
20
  ? remapEvents(timeline.events, slideScenes)
20
21
  : timeline.events;
21
22
  const cursorEvents = precomputeCursorPaths(eventsToUse.filter((e) => e.type === 'cursor_target'));
23
+ const transitionEvents = eventsToUse.filter((e) => e.type === 'transition');
22
24
  const clickEvents = eventsToUse.filter((e) => e.type === 'action' && e.action === 'click');
23
25
  const narrations = eventsToUse.filter((e) => e.type === 'narration');
24
26
  const { frameManifest, videoFile } = timeline.metadata;
27
+ const slideSegments = computeSlideSegments(scenes);
28
+ function resolveSlideProps(seg) {
29
+ return {
30
+ title: seg.sceneTitle,
31
+ description: seg.sceneDescription,
32
+ brandColor: seg.slideConfig.brandColor ?? branding?.brandColor ?? '#000000',
33
+ textColor: seg.slideConfig.textColor ?? branding?.textColor ?? '#FFFFFF',
34
+ fontFamily: seg.slideConfig.fontFamily ?? branding?.fontFamily,
35
+ titleFontSize: seg.slideConfig.titleFontSize,
36
+ };
37
+ }
38
+ // Check if current time is inside a slide
39
+ let activeSlide = slideSegments.find(s => outputTimeMs >= s.slideStartMs && outputTimeMs < s.slideEndMs);
40
+ // Check if current time is inside a slide-to-slide transition
41
+ let slideTransition = null;
42
+ if (!activeSlide) {
43
+ for (const t of transitionEvents) {
44
+ if (outputTimeMs < t.timestampMs || outputTimeMs >= t.timestampMs + t.durationMs)
45
+ continue;
46
+ const tEnd = t.timestampMs + t.durationMs;
47
+ const before = slideSegments.find(s => Math.abs(s.slideEndMs - t.timestampMs) < 50);
48
+ const after = slideSegments.find(s => Math.abs(s.slideStartMs - tEnd) < 50);
49
+ if (before && after) {
50
+ slideTransition = { transition: t, before, after };
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ // Fallback: if no exact match but slides exist, snap to the nearest slide.
56
+ // Handles timing jitter gaps (e.g. first frame at t=0 when first slide starts at t=1).
57
+ if (!activeSlide && !slideTransition && slideSegments.length > 0) {
58
+ let best = slideSegments[0];
59
+ let bestDist = Infinity;
60
+ for (const s of slideSegments) {
61
+ const dist = outputTimeMs < s.slideStartMs
62
+ ? s.slideStartMs - outputTimeMs
63
+ : outputTimeMs >= s.slideEndMs
64
+ ? outputTimeMs - s.slideEndMs
65
+ : 0;
66
+ if (dist < bestDist) {
67
+ bestDist = dist;
68
+ best = s;
69
+ }
70
+ }
71
+ if (bestDist < 100)
72
+ activeSlide = best;
73
+ }
74
+ // Find active transition for frame-based content
75
+ const activeTransition = !activeSlide && !slideTransition
76
+ ? transitionEvents.find(t => outputTimeMs >= t.timestampMs && outputTimeMs < t.timestampMs + t.durationMs)
77
+ : null;
25
78
  let baseLayer;
26
- if (frameManifest && frameManifest.length > 0) {
79
+ if (activeSlide) {
80
+ // Slide IS the base layer — no frame images
81
+ baseLayer = _jsx(SceneSlide, { ...resolveSlideProps(activeSlide) });
82
+ }
83
+ else if (slideTransition) {
84
+ // Slide-to-slide transition — both slides as base layer
85
+ const { transition: t, before, after } = slideTransition;
86
+ const progress = (outputTimeMs - t.timestampMs) / t.durationMs;
87
+ const { width: vw } = timeline.metadata.viewport;
88
+ const styles = getTransitionStyles(t.transition, progress, vw);
89
+ const afterProps = resolveSlideProps(after);
90
+ const beforeProps = resolveSlideProps(before);
91
+ const faceClip = styles.container ? {} : { overflow: 'hidden' };
92
+ const faces = (_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', inset: 0, ...faceClip, ...styles.entrance }, children: _jsx(SceneSlide, { ...afterProps }) }), _jsx("div", { style: { position: 'absolute', inset: 0, ...faceClip, ...styles.exit }, children: _jsx(SceneSlide, { ...beforeProps }) }), styles.exit2 && (_jsx("div", { style: { position: 'absolute', inset: 0, ...faceClip, ...styles.exit2 }, children: _jsx(SceneSlide, { ...beforeProps }) }))] }));
93
+ let wrappedFaces = faces;
94
+ if (styles.container) {
95
+ wrappedFaces = _jsx("div", { style: { position: 'absolute', inset: 0, ...styles.container }, children: faces });
96
+ }
97
+ if (styles.perspective) {
98
+ wrappedFaces = _jsx("div", { style: { position: 'absolute', inset: 0, perspective: styles.perspective }, children: wrappedFaces });
99
+ }
100
+ baseLayer = (_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'absolute', inset: 0, backgroundColor: styles.backdrop ?? afterProps.brandColor } }), wrappedFaces] }));
101
+ }
102
+ else if (activeTransition && frameManifest && frameManifest.length > 0) {
103
+ const progress = (outputTimeMs - activeTransition.timestampMs) / activeTransition.durationMs;
104
+ const styles = getTransitionStyles(activeTransition.transition, progress, timeline.metadata.viewport.width);
105
+ const beforeSourceTime = slideScenes.length > 0
106
+ ? sourceTimeMs(activeTransition.timestampMs, slideScenes)
107
+ : activeTransition.timestampMs;
108
+ const beforeEntry = findClosestFrame(frameManifest, beforeSourceTime);
109
+ const afterEntry = findClosestFrame(frameManifest, timeMs);
110
+ baseLayer = (_jsxs(_Fragment, { children: [_jsx(Img, { src: staticFile(afterEntry.file), style: { position: 'absolute', width: '100%', height: '100%', display: 'block', ...styles.entrance } }), _jsx(Img, { src: staticFile(beforeEntry.file), style: { position: 'absolute', width: '100%', height: '100%', display: 'block', ...styles.exit } }), styles.exit2 && (_jsx(Img, { src: staticFile(beforeEntry.file), style: { position: 'absolute', width: '100%', height: '100%', display: 'block', ...styles.exit2 } }))] }));
111
+ }
112
+ else if (frameManifest && frameManifest.length > 0) {
27
113
  const entry = findClosestFrame(frameManifest, timeMs);
28
114
  baseLayer = (_jsx(Img, { src: staticFile(entry.file), style: { width: '100%', height: '100%', display: 'block' } }));
29
115
  }
30
116
  else if (videoFile) {
117
+ if (transitionEvents.length > 0 && frame === 0) {
118
+ console.warn('sw.transition() effects require frame-based capture (captureMode: "frame"). Transitions will be ignored with video-based capture.');
119
+ }
31
120
  baseLayer = _jsx(OffthreadVideo, { src: staticFile(videoFile) });
32
121
  }
33
122
  else {
34
123
  throw new Error('Timeline must have either frameManifest or videoFile');
35
124
  }
36
- const slideSegments = computeSlideSegments(scenes);
37
125
  return (_jsxs("div", { style: {
38
126
  position: 'relative',
39
127
  width: timeline.metadata.viewport.width,
40
128
  height: timeline.metadata.viewport.height,
41
129
  overflow: 'hidden',
42
- }, children: [baseLayer, _jsx(CursorOverlay, { cursorEvents: cursorEvents, clickEvents: clickEvents, fps: fps }), _jsx(NarrationTrack, { narrations: narrations, fps: fps }), slideSegments.map(seg => {
43
- const brandColor = seg.slideConfig.brandColor ?? branding?.brandColor ?? '#000000';
44
- const textColor = seg.slideConfig.textColor ?? branding?.textColor ?? '#FFFFFF';
45
- const fontFamily = seg.slideConfig.fontFamily ?? branding?.fontFamily;
46
- const titleFontSize = seg.slideConfig.titleFontSize;
47
- const animation = seg.slideConfig.animation ?? branding?.animation ?? 'fade';
48
- return (_jsx(Sequence, { from: msToFrames(seg.slideStartMs, fps), durationInFrames: msToFrames(seg.slideDurationMs, fps), children: _jsx(SceneSlide, { title: seg.sceneTitle, description: seg.sceneDescription, brandColor: brandColor, textColor: textColor, fontFamily: fontFamily, titleFontSize: titleFontSize, animation: animation, durationInFrames: msToFrames(seg.slideDurationMs, fps), fps: fps }) }, `slide-${seg.slideStartMs}`));
49
- })] }));
130
+ }, children: [baseLayer, !activeSlide && !slideTransition && (_jsx(CursorOverlay, { cursorEvents: cursorEvents, clickEvents: clickEvents, fps: fps })), _jsx(NarrationTrack, { narrations: narrations, fps: fps })] }));
50
131
  };
51
132
  //# sourceMappingURL=DemoVideo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoVideo.js","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DemoVideo.js","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import type { SlideAnimation } from '../timeline/types.js';
3
2
  interface Props {
4
3
  title: string;
5
4
  description?: string;
@@ -7,24 +6,7 @@ interface Props {
7
6
  textColor: string;
8
7
  fontFamily?: string;
9
8
  titleFontSize?: number;
10
- animation?: SlideAnimation;
11
- durationInFrames: number;
12
- fps: number;
13
9
  }
14
- export interface AnimationValues {
15
- bgOpacity: number;
16
- contentOpacity: number;
17
- contentScale: number;
18
- translateX: number;
19
- translateY: number;
20
- clipPath?: string;
21
- titleOpacity?: number;
22
- titleTranslateY?: number;
23
- descOpacity?: number;
24
- descTranslateY?: number;
25
- }
26
- type AnimationStrategy = (frame: number, durationInFrames: number, fps: number, animFrames: number) => AnimationValues;
27
- export declare const animationStrategies: Record<SlideAnimation, AnimationStrategy>;
28
10
  export declare const SceneSlide: React.FC<Props>;
29
11
  export {};
30
12
  //# sourceMappingURL=SceneSlide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSlide.d.ts","sourceRoot":"","sources":["../../../src/composition/SceneSlide.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgB3D,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,iBAAiB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,KACf,eAAe,CAAC;AAsJrB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAQzE,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2HtC,CAAC"}
1
+ {"version":3,"file":"SceneSlide.d.ts","sourceRoot":"","sources":["../../../src/composition/SceneSlide.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwGtC,CAAC"}
@@ -1,147 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { delayRender, continueRender, useCurrentFrame, interpolate, spring } from 'remotion';
4
- function fadeAnimation(frame, durationInFrames, fps, animFrames) {
5
- const inProgress = spring({ frame, fps, config: { damping: 12 }, durationInFrames: animFrames });
6
- const inOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
7
- const outStart = durationInFrames - animFrames;
8
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
9
- const outScale = interpolate(frame, [outStart, durationInFrames], [1, 0.95], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
10
- const isIn = frame < animFrames;
11
- const isOut = frame >= outStart;
12
- return {
13
- bgOpacity: isOut ? outOpacity : inOpacity,
14
- contentOpacity: isOut ? outOpacity : inOpacity,
15
- contentScale: isIn ? interpolate(inProgress, [0, 1], [0.85, 1]) : isOut ? outScale : 1,
16
- translateX: 0,
17
- translateY: isIn ? interpolate(inProgress, [0, 1], [20, 0]) : 0,
18
- };
19
- }
20
- function slideUpAnimation(frame, durationInFrames, fps, animFrames) {
21
- const inProgress = spring({ frame, fps, config: { damping: 14 }, durationInFrames: animFrames });
22
- const inOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
23
- const outStart = durationInFrames - animFrames;
24
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
25
- const isIn = frame < animFrames;
26
- const isOut = frame >= outStart;
27
- return {
28
- bgOpacity: isOut ? outOpacity : inOpacity,
29
- contentOpacity: isOut ? outOpacity : inOpacity,
30
- contentScale: 1,
31
- translateX: 0,
32
- translateY: isIn
33
- ? interpolate(inProgress, [0, 1], [800, 0])
34
- : isOut
35
- ? interpolate(frame, [outStart, durationInFrames], [0, 200], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' })
36
- : 0,
37
- };
38
- }
39
- function slideLeftAnimation(frame, durationInFrames, fps, animFrames) {
40
- const inProgress = spring({ frame, fps, config: { damping: 14 }, durationInFrames: animFrames });
41
- const inOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
42
- const outStart = durationInFrames - animFrames;
43
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
44
- const isIn = frame < animFrames;
45
- const isOut = frame >= outStart;
46
- return {
47
- bgOpacity: isOut ? outOpacity : inOpacity,
48
- contentOpacity: isOut ? outOpacity : inOpacity,
49
- contentScale: 1,
50
- translateX: isIn
51
- ? interpolate(inProgress, [0, 1], [1280, 0])
52
- : isOut
53
- ? interpolate(frame, [outStart, durationInFrames], [0, -1280], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' })
54
- : 0,
55
- translateY: 0,
56
- };
57
- }
58
- function zoomAnimation(frame, durationInFrames, fps, animFrames) {
59
- const inProgress = spring({ frame, fps, config: { damping: 10 }, durationInFrames: animFrames });
60
- const inOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
61
- const outStart = durationInFrames - animFrames;
62
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
63
- const outScale = interpolate(frame, [outStart, durationInFrames], [1, 1.5], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
64
- const isIn = frame < animFrames;
65
- const isOut = frame >= outStart;
66
- return {
67
- bgOpacity: isOut ? outOpacity : inOpacity,
68
- contentOpacity: isOut ? outOpacity : inOpacity,
69
- contentScale: isIn ? interpolate(inProgress, [0, 1], [0.3, 1]) : isOut ? outScale : 1,
70
- translateX: 0,
71
- translateY: 0,
72
- };
73
- }
74
- function cinematicAnimation(frame, durationInFrames, fps, animFrames) {
75
- const bgInOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
76
- const titleProgress = spring({ frame, fps, config: { damping: 8, mass: 1.2 }, durationInFrames: animFrames });
77
- const descDelay = Math.round(animFrames * 0.5);
78
- const descFrame = Math.max(0, frame - descDelay);
79
- const descProgress = spring({ frame: descFrame, fps, config: { damping: 12 }, durationInFrames: animFrames });
80
- const outStart = durationInFrames - animFrames;
81
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
82
- const isOut = frame >= outStart;
83
- return {
84
- bgOpacity: isOut ? outOpacity : bgInOpacity,
85
- contentOpacity: 1,
86
- contentScale: 1,
87
- translateX: 0,
88
- translateY: 0,
89
- titleOpacity: isOut ? outOpacity : interpolate(titleProgress, [0, 1], [0, 1]),
90
- titleTranslateY: isOut ? 0 : interpolate(titleProgress, [0, 1], [-60, 0]),
91
- descOpacity: isOut ? outOpacity : interpolate(descProgress, [0, 1], [0, 1]),
92
- descTranslateY: isOut ? 0 : interpolate(descProgress, [0, 1], [40, 0]),
93
- };
94
- }
95
- function popAnimation(frame, durationInFrames, fps, animFrames) {
96
- const inProgress = spring({ frame, fps, config: { damping: 6, stiffness: 200 }, durationInFrames: animFrames });
97
- const inOpacity = interpolate(frame, [0, animFrames], [0, 1], { extrapolateRight: 'clamp' });
98
- const outStart = durationInFrames - animFrames;
99
- const outProgress = spring({ frame: Math.max(0, frame - outStart), fps, config: { damping: 10 }, durationInFrames: animFrames });
100
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
101
- const isIn = frame < animFrames;
102
- const isOut = frame >= outStart;
103
- return {
104
- bgOpacity: isOut ? outOpacity : inOpacity,
105
- contentOpacity: isOut ? outOpacity : inOpacity,
106
- contentScale: isIn
107
- ? interpolate(inProgress, [0, 1], [0, 1])
108
- : isOut
109
- ? interpolate(outProgress, [0, 1], [1, 0.8])
110
- : 1,
111
- translateX: 0,
112
- translateY: 0,
113
- };
114
- }
115
- function wipeAnimation(frame, durationInFrames, _fps, animFrames) {
116
- const wipeIn = interpolate(frame, [0, animFrames], [100, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
117
- const contentFadeIn = interpolate(frame, [animFrames * 0.5, animFrames], [0, 1], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
118
- const outStart = durationInFrames - animFrames;
119
- const wipeOut = interpolate(frame, [outStart, durationInFrames], [0, 100], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
120
- const contentFadeOut = interpolate(frame, [outStart, outStart + animFrames * 0.5], [1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp' });
121
- const isOut = frame >= outStart;
122
- return {
123
- bgOpacity: 1,
124
- contentOpacity: isOut ? contentFadeOut : contentFadeIn,
125
- contentScale: 1,
126
- translateX: 0,
127
- translateY: 0,
128
- clipPath: `inset(0 ${isOut ? wipeOut : wipeIn}% 0 0)`,
129
- };
130
- }
131
- export const animationStrategies = {
132
- 'fade': fadeAnimation,
133
- 'slide-up': slideUpAnimation,
134
- 'slide-left': slideLeftAnimation,
135
- 'zoom': zoomAnimation,
136
- 'cinematic': cinematicAnimation,
137
- 'pop': popAnimation,
138
- 'wipe': wipeAnimation,
139
- };
3
+ import { delayRender, continueRender } from 'remotion';
140
4
  const SYSTEM_FONTS = 'system-ui, -apple-system, sans-serif';
141
5
  const FONT_TIMEOUT_MS = 5000;
142
- const ANIM_FRAMES = 12;
143
- export const SceneSlide = ({ title, description, brandColor, textColor, fontFamily, titleFontSize = 64, animation = 'fade', durationInFrames, fps, }) => {
144
- const frame = useCurrentFrame();
6
+ export const SceneSlide = ({ title, description, brandColor, textColor, fontFamily, titleFontSize = 64, }) => {
145
7
  const [handle] = useState(() => fontFamily ? delayRender('Loading font') : null);
146
8
  useEffect(() => {
147
9
  if (!fontFamily || !handle)
@@ -172,9 +34,6 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
172
34
  };
173
35
  }, [fontFamily, handle]);
174
36
  const resolvedFont = fontFamily ? `"${fontFamily}", ${SYSTEM_FONTS}` : SYSTEM_FONTS;
175
- const strategy = animationStrategies[animation];
176
- const v = strategy(frame, durationInFrames, fps, ANIM_FRAMES);
177
- const isCinematic = animation === 'cinematic';
178
37
  return (_jsx("div", { style: {
179
38
  position: 'absolute',
180
39
  inset: 0,
@@ -183,12 +42,8 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
183
42
  alignItems: 'center',
184
43
  justifyContent: 'center',
185
44
  backgroundColor: brandColor,
186
- opacity: v.bgOpacity,
187
45
  fontFamily: resolvedFont,
188
- ...(v.clipPath ? { clipPath: v.clipPath } : {}),
189
46
  }, children: _jsxs("div", { style: {
190
- transform: `scale(${v.contentScale}) translate(${v.translateX}px, ${v.translateY}px)`,
191
- opacity: isCinematic ? 1 : v.contentOpacity,
192
47
  textAlign: 'center',
193
48
  padding: '0 10%',
194
49
  }, children: [_jsx("h1", { style: {
@@ -197,10 +52,6 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
197
52
  fontWeight: 700,
198
53
  margin: 0,
199
54
  lineHeight: 1.2,
200
- ...(isCinematic ? {
201
- opacity: v.titleOpacity ?? 1,
202
- transform: `translateY(${v.titleTranslateY ?? 0}px)`,
203
- } : {}),
204
55
  }, children: title }), description && (_jsxs(_Fragment, { children: [_jsx("div", { style: {
205
56
  width: 80,
206
57
  height: 4,
@@ -213,11 +64,8 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
213
64
  fontSize: Math.round(titleFontSize * 0.44),
214
65
  fontWeight: 400,
215
66
  margin: 0,
216
- opacity: isCinematic ? (v.descOpacity ?? 0.85) : 0.85,
67
+ opacity: 0.85,
217
68
  lineHeight: 1.5,
218
- ...(isCinematic ? {
219
- transform: `translateY(${v.descTranslateY ?? 0}px)`,
220
- } : {}),
221
69
  }, children: description })] }))] }) }));
222
70
  };
223
71
  //# sourceMappingURL=SceneSlide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneSlide.js","sourceRoot":"","sources":["../../../src/composition/SceneSlide.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneSlide.js","sourceRoot":"","sources":["../../../src/composition/SceneSlide.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { TransitionType } from '../timeline/types.js';
2
+ export interface TransitionStyles {
3
+ exit: React.CSSProperties;
4
+ exit2?: React.CSSProperties;
5
+ entrance: React.CSSProperties;
6
+ backdrop?: string;
7
+ /** Inner wrapper: preserve-3d + cube rotation */
8
+ container?: React.CSSProperties;
9
+ /** Outer wrapper: shared perspective for 3D transitions */
10
+ perspective?: number;
11
+ }
12
+ export declare function getTransitionStyles(type: TransitionType, progress: number, viewportWidth?: number): TransitionStyles;
13
+ //# sourceMappingURL=transition-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-styles.d.ts","sourceRoot":"","sources":["../../../src/composition/transition-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA4FD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAIpH"}
@@ -0,0 +1,87 @@
1
+ function easeInOut(t) {
2
+ return t < 0.5 ? 4 * t * t * t : 1 - (-2 * t + 2) ** 3 / 2;
3
+ }
4
+ function fade(p) {
5
+ return {
6
+ exit: { opacity: 1 - p },
7
+ entrance: { opacity: p },
8
+ };
9
+ }
10
+ function wipe(p) {
11
+ return {
12
+ exit: { clipPath: `inset(0 0 0 ${p * 100}%)` },
13
+ entrance: {},
14
+ };
15
+ }
16
+ function slideUp(p) {
17
+ return {
18
+ exit: { transform: `translateY(${-p * 100}%)` },
19
+ entrance: { transform: `translateY(${(1 - p) * 100}%)` },
20
+ };
21
+ }
22
+ function slideLeft(p) {
23
+ return {
24
+ exit: { transform: `translateX(${-p * 100}%)` },
25
+ entrance: { transform: `translateX(${(1 - p) * 100}%)` },
26
+ };
27
+ }
28
+ function zoom(p) {
29
+ return {
30
+ exit: { transform: `scale(${1 + p * 0.5})`, opacity: 1 - p },
31
+ entrance: { transform: `scale(${0.5 + p * 0.5})`, opacity: p },
32
+ };
33
+ }
34
+ function doorway(p) {
35
+ const scale = 0.33 + p * 0.67;
36
+ return {
37
+ exit: { clipPath: 'inset(0 50% 0 0)', transform: `translateX(${-p * 50}%)` },
38
+ exit2: { clipPath: 'inset(0 0 0 50%)', transform: `translateX(${p * 50}%)` },
39
+ entrance: { transform: `scale(${scale})` },
40
+ backdrop: '#000000',
41
+ };
42
+ }
43
+ function swap(p) {
44
+ return {
45
+ exit: {
46
+ transform: `perspective(1200px) translateX(${p * 100}%) rotateY(${-p * 45}deg) scale(${1 - p * 0.35})`,
47
+ },
48
+ entrance: {
49
+ transform: `perspective(1200px) translateX(${(p - 1) * 100}%) rotateY(${(1 - p) * 45}deg) scale(${0.65 + p * 0.35})`,
50
+ },
51
+ backdrop: '#000000',
52
+ };
53
+ }
54
+ function cube(p, vw = 1920) {
55
+ const half = vw / 2;
56
+ return {
57
+ perspective: vw * 2,
58
+ container: {
59
+ transformStyle: 'preserve-3d',
60
+ transform: `translateZ(${-half}px) rotateY(${-p * 90}deg)`,
61
+ },
62
+ exit: {
63
+ transform: `translateZ(${half}px)`,
64
+ },
65
+ entrance: {
66
+ transform: `rotateY(90deg) translateZ(${half}px)`,
67
+ },
68
+ backdrop: '#000000',
69
+ };
70
+ }
71
+ const strategies = {
72
+ 'fade': fade,
73
+ 'wipe': wipe,
74
+ 'slide-up': slideUp,
75
+ 'slide-left': slideLeft,
76
+ 'zoom': zoom,
77
+ 'doorway': doorway,
78
+ 'swap': swap,
79
+ 'cube': cube,
80
+ };
81
+ export function getTransitionStyles(type, progress, viewportWidth) {
82
+ const p = easeInOut(Math.max(0, Math.min(1, progress)));
83
+ if (type === 'cube' && viewportWidth)
84
+ return cube(p, viewportWidth);
85
+ return strategies[type](p);
86
+ }
87
+ //# sourceMappingURL=transition-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-styles.js","sourceRoot":"","sources":["../../../src/composition/transition-styles.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,14 @@ export declare const brandingSchema: z.ZodObject<{
6
6
  brandColor: z.ZodString;
7
7
  textColor: z.ZodString;
8
8
  fontFamily: z.ZodOptional<z.ZodString>;
9
- animation: z.ZodOptional<z.ZodEnum<["fade", "slide-up", "slide-left", "zoom", "cinematic", "pop", "wipe"]>>;
10
9
  }, "strip", z.ZodTypeAny, {
11
10
  brandColor: string;
12
11
  textColor: string;
13
12
  fontFamily?: string | undefined;
14
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
15
13
  }, {
16
14
  brandColor: string;
17
15
  textColor: string;
18
16
  fontFamily?: string | undefined;
19
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
20
17
  }>;
21
18
  export type BrandingConfig = z.infer<typeof brandingSchema>;
22
19
  export declare const configSchema: z.ZodObject<{
@@ -42,17 +39,14 @@ export declare const configSchema: z.ZodObject<{
42
39
  brandColor: z.ZodString;
43
40
  textColor: z.ZodString;
44
41
  fontFamily: z.ZodOptional<z.ZodString>;
45
- animation: z.ZodOptional<z.ZodEnum<["fade", "slide-up", "slide-left", "zoom", "cinematic", "pop", "wipe"]>>;
46
42
  }, "strip", z.ZodTypeAny, {
47
43
  brandColor: string;
48
44
  textColor: string;
49
45
  fontFamily?: string | undefined;
50
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
51
46
  }, {
52
47
  brandColor: string;
53
48
  textColor: string;
54
49
  fontFamily?: string | undefined;
55
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
56
50
  }>>;
57
51
  }, "strip", z.ZodTypeAny, {
58
52
  voice: string;
@@ -71,7 +65,6 @@ export declare const configSchema: z.ZodObject<{
71
65
  brandColor: string;
72
66
  textColor: string;
73
67
  fontFamily?: string | undefined;
74
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
75
68
  } | undefined;
76
69
  }, {
77
70
  voice?: string | undefined;
@@ -90,7 +83,6 @@ export declare const configSchema: z.ZodObject<{
90
83
  brandColor: string;
91
84
  textColor: string;
92
85
  fontFamily?: string | undefined;
93
- animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
94
86
  } | undefined;
95
87
  }>;
96
88
  export type ScreenwrightConfig = z.infer<typeof configSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY,6HAGf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,wBAAwB,QAEiC,CAAC;AAIvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvB,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,6HAGf,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,wBAAwB,QAEiC,CAAC;AAIvE,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcvB,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { z } from 'zod';
2
- import { slideAnimations } from '../timeline/types.js';
3
2
  export const openaiVoices = [
4
3
  'alloy', 'ash', 'ballad', 'cedar', 'coral', 'echo',
5
4
  'fable', 'marin', 'nova', 'onyx', 'sage', 'shimmer', 'verse',
@@ -11,7 +10,6 @@ export const brandingSchema = z.object({
11
10
  brandColor: hexColor,
12
11
  textColor: hexColor,
13
12
  fontFamily: z.string().optional(),
14
- animation: z.enum(slideAnimations).optional(),
15
13
  });
16
14
  export const configSchema = z.object({
17
15
  voice: z.string().default('en_US-amy-medium'),