screenwright 0.1.29 → 0.1.31

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 (34) hide show
  1. package/dist/src/composition/DemoVideo.d.ts.map +1 -1
  2. package/dist/src/composition/DemoVideo.js +2 -1
  3. package/dist/src/composition/DemoVideo.js.map +1 -1
  4. package/dist/src/composition/SceneSlide.d.ts +16 -0
  5. package/dist/src/composition/SceneSlide.d.ts.map +1 -1
  6. package/dist/src/composition/SceneSlide.js +152 -31
  7. package/dist/src/composition/SceneSlide.js.map +1 -1
  8. package/dist/src/config/config-schema.d.ts +8 -0
  9. package/dist/src/config/config-schema.d.ts.map +1 -1
  10. package/dist/src/config/config-schema.js +2 -0
  11. package/dist/src/config/config-schema.js.map +1 -1
  12. package/dist/src/generator/prompts.d.ts +1 -1
  13. package/dist/src/generator/prompts.d.ts.map +1 -1
  14. package/dist/src/generator/prompts.js +1 -1
  15. package/dist/src/index.d.ts +2 -1
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +1 -0
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/runtime/instrumented-page.d.ts.map +1 -1
  20. package/dist/src/runtime/instrumented-page.js +2 -1
  21. package/dist/src/runtime/instrumented-page.js.map +1 -1
  22. package/dist/src/timeline/schema.d.ts +7 -0
  23. package/dist/src/timeline/schema.d.ts.map +1 -1
  24. package/dist/src/timeline/schema.js +2 -0
  25. package/dist/src/timeline/schema.js.map +1 -1
  26. package/dist/src/timeline/types.d.ts +3 -0
  27. package/dist/src/timeline/types.d.ts.map +1 -1
  28. package/dist/src/timeline/types.js +3 -1
  29. package/dist/src/timeline/types.js.map +1 -1
  30. package/dist/src/version.d.ts +1 -1
  31. package/dist/src/version.js +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +1 -1
  34. package/skill/SKILL.md +2 -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,CAuFrC,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;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"}
@@ -44,7 +44,8 @@ export const DemoVideo = ({ timeline, branding }) => {
44
44
  const textColor = seg.slideConfig.textColor ?? branding?.textColor ?? '#FFFFFF';
45
45
  const fontFamily = seg.slideConfig.fontFamily ?? branding?.fontFamily;
46
46
  const titleFontSize = seg.slideConfig.titleFontSize;
47
- 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, durationInFrames: msToFrames(seg.slideDurationMs, fps), fps: fps }) }, `slide-${seg.slideStartMs}`));
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}`));
48
49
  })] }));
49
50
  };
50
51
  //# sourceMappingURL=DemoVideo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DemoVideo.js","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAItF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlH,MAAM,CAAC,MAAM,SAAS,GAAoB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAE1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC;QACzC,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAEpB,MAAM,YAAY,GAAG,qBAAqB,CACxC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAC9E,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CACpC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CACrE,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CACnC,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CACnD,CAAC;IAEF,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEvD,IAAI,SAA0B,CAAC;IAC/B,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACtD,SAAS,GAAG,CACV,KAAC,GAAG,IACF,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAC1D,CACH,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,SAAS,GAAG,KAAC,cAAc,IAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,GAAI,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO,CACL,eACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;YACzC,QAAQ,EAAE,QAAQ;SACnB,aAEA,SAAS,EACV,KAAC,aAAa,IAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAI,EACjF,KAAC,cAAc,IAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAI,EAEnD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvB,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU,IAAI,SAAS,CAAC;gBACnF,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,QAAQ,EAAE,SAAS,IAAI,SAAS,CAAC;gBAChF,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU,CAAC;gBACtE,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;gBAEpD,OAAO,CACL,KAAC,QAAQ,IAEP,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,EACvC,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,YAEtD,KAAC,UAAU,IACT,KAAK,EAAE,GAAG,CAAC,UAAU,EACrB,WAAW,EAAE,GAAG,CAAC,gBAAgB,EACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,EACtD,GAAG,EAAE,GAAG,GACR,IAbG,SAAS,GAAG,CAAC,YAAY,EAAE,CAcvB,CACZ,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"DemoVideo.js","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { SlideAnimation } from '../timeline/types.js';
2
3
  interface Props {
3
4
  title: string;
4
5
  description?: string;
@@ -6,9 +7,24 @@ interface Props {
6
7
  textColor: string;
7
8
  fontFamily?: string;
8
9
  titleFontSize?: number;
10
+ animation?: SlideAnimation;
9
11
  durationInFrames: number;
10
12
  fps: number;
11
13
  }
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>;
12
28
  export declare const SceneSlide: React.FC<Props>;
13
29
  export {};
14
30
  //# 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;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;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6ItC,CAAC"}
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,20 +1,151 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
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
+ };
4
140
  const SYSTEM_FONTS = 'system-ui, -apple-system, sans-serif';
5
141
  const FONT_TIMEOUT_MS = 5000;
6
142
  const ANIM_FRAMES = 12;
7
- export const SceneSlide = ({ title, description, brandColor, textColor, fontFamily, titleFontSize = 64, durationInFrames, fps, }) => {
143
+ export const SceneSlide = ({ title, description, brandColor, textColor, fontFamily, titleFontSize = 64, animation = 'fade', durationInFrames, fps, }) => {
8
144
  const frame = useCurrentFrame();
9
145
  const [handle] = useState(() => fontFamily ? delayRender('Loading font') : null);
10
146
  useEffect(() => {
11
147
  if (!fontFamily || !handle)
12
148
  return;
13
- // Skip network fetch if font is already available (system font or previously loaded)
14
- if (document.fonts.check(`16px "${fontFamily}"`)) {
15
- continueRender(handle);
16
- return;
17
- }
18
149
  const encoded = encodeURIComponent(fontFamily);
19
150
  const link = document.createElement('link');
20
151
  link.rel = 'stylesheet';
@@ -41,27 +172,9 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
41
172
  };
42
173
  }, [fontFamily, handle]);
43
174
  const resolvedFont = fontFamily ? `"${fontFamily}", ${SYSTEM_FONTS}` : SYSTEM_FONTS;
44
- // In animation (first ANIM_FRAMES)
45
- const inProgress = spring({ frame, fps, config: { damping: 12 }, durationInFrames: ANIM_FRAMES });
46
- const inOpacity = interpolate(frame, [0, ANIM_FRAMES], [0, 1], { extrapolateRight: 'clamp' });
47
- // Out animation (last ANIM_FRAMES)
48
- const outStart = durationInFrames - ANIM_FRAMES;
49
- const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], {
50
- extrapolateLeft: 'clamp',
51
- extrapolateRight: 'clamp',
52
- });
53
- const outScale = interpolate(frame, [outStart, durationInFrames], [1, 0.95], {
54
- extrapolateLeft: 'clamp',
55
- extrapolateRight: 'clamp',
56
- });
57
- const isInPhase = frame < ANIM_FRAMES;
58
- const isOutPhase = frame >= outStart;
59
- const bgOpacity = isOutPhase ? outOpacity : inOpacity;
60
- const contentScale = isInPhase
61
- ? interpolate(inProgress, [0, 1], [0.85, 1])
62
- : isOutPhase ? outScale : 1;
63
- const contentOpacity = isOutPhase ? outOpacity : inOpacity;
64
- const translateY = isInPhase ? interpolate(inProgress, [0, 1], [20, 0]) : 0;
175
+ const strategy = animationStrategies[animation];
176
+ const v = strategy(frame, durationInFrames, fps, ANIM_FRAMES);
177
+ const isCinematic = animation === 'cinematic';
65
178
  return (_jsx("div", { style: {
66
179
  position: 'absolute',
67
180
  inset: 0,
@@ -70,11 +183,12 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
70
183
  alignItems: 'center',
71
184
  justifyContent: 'center',
72
185
  backgroundColor: brandColor,
73
- opacity: bgOpacity,
186
+ opacity: v.bgOpacity,
74
187
  fontFamily: resolvedFont,
188
+ ...(v.clipPath ? { clipPath: v.clipPath } : {}),
75
189
  }, children: _jsxs("div", { style: {
76
- transform: `scale(${contentScale}) translateY(${translateY}px)`,
77
- opacity: contentOpacity,
190
+ transform: `scale(${v.contentScale}) translate(${v.translateX}px, ${v.translateY}px)`,
191
+ opacity: isCinematic ? 1 : v.contentOpacity,
78
192
  textAlign: 'center',
79
193
  padding: '0 10%',
80
194
  }, children: [_jsx("h1", { style: {
@@ -83,6 +197,10 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
83
197
  fontWeight: 700,
84
198
  margin: 0,
85
199
  lineHeight: 1.2,
200
+ ...(isCinematic ? {
201
+ opacity: v.titleOpacity ?? 1,
202
+ transform: `translateY(${v.titleTranslateY ?? 0}px)`,
203
+ } : {}),
86
204
  }, children: title }), description && (_jsxs(_Fragment, { children: [_jsx("div", { style: {
87
205
  width: 80,
88
206
  height: 4,
@@ -95,8 +213,11 @@ export const SceneSlide = ({ title, description, brandColor, textColor, fontFami
95
213
  fontSize: Math.round(titleFontSize * 0.44),
96
214
  fontWeight: 400,
97
215
  margin: 0,
98
- opacity: 0.85,
216
+ opacity: isCinematic ? (v.descOpacity ?? 0.85) : 0.85,
99
217
  lineHeight: 1.5,
218
+ ...(isCinematic ? {
219
+ transform: `translateY(${v.descTranslateY ?? 0}px)`,
220
+ } : {}),
100
221
  }, children: description })] }))] }) }));
101
222
  };
102
223
  //# 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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"}
@@ -6,14 +6,17 @@ 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"]>>;
9
10
  }, "strip", z.ZodTypeAny, {
10
11
  brandColor: string;
11
12
  textColor: string;
12
13
  fontFamily?: string | undefined;
14
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
13
15
  }, {
14
16
  brandColor: string;
15
17
  textColor: string;
16
18
  fontFamily?: string | undefined;
19
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
17
20
  }>;
18
21
  export type BrandingConfig = z.infer<typeof brandingSchema>;
19
22
  export declare const configSchema: z.ZodObject<{
@@ -39,14 +42,17 @@ export declare const configSchema: z.ZodObject<{
39
42
  brandColor: z.ZodString;
40
43
  textColor: z.ZodString;
41
44
  fontFamily: z.ZodOptional<z.ZodString>;
45
+ animation: z.ZodOptional<z.ZodEnum<["fade", "slide-up", "slide-left", "zoom", "cinematic", "pop", "wipe"]>>;
42
46
  }, "strip", z.ZodTypeAny, {
43
47
  brandColor: string;
44
48
  textColor: string;
45
49
  fontFamily?: string | undefined;
50
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
46
51
  }, {
47
52
  brandColor: string;
48
53
  textColor: string;
49
54
  fontFamily?: string | undefined;
55
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
50
56
  }>>;
51
57
  }, "strip", z.ZodTypeAny, {
52
58
  voice: string;
@@ -65,6 +71,7 @@ export declare const configSchema: z.ZodObject<{
65
71
  brandColor: string;
66
72
  textColor: string;
67
73
  fontFamily?: string | undefined;
74
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
68
75
  } | undefined;
69
76
  }, {
70
77
  voice?: string | undefined;
@@ -83,6 +90,7 @@ export declare const configSchema: z.ZodObject<{
83
90
  brandColor: string;
84
91
  textColor: string;
85
92
  fontFamily?: string | undefined;
93
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
86
94
  } | undefined;
87
95
  }>;
88
96
  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;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
+ {"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,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { slideAnimations } from '../timeline/types.js';
2
3
  export const openaiVoices = [
3
4
  'alloy', 'ash', 'ballad', 'cedar', 'coral', 'echo',
4
5
  'fable', 'marin', 'nova', 'onyx', 'sage', 'shimmer', 'verse',
@@ -10,6 +11,7 @@ export const brandingSchema = z.object({
10
11
  brandColor: hexColor,
11
12
  textColor: hexColor,
12
13
  fontFamily: z.string().optional(),
14
+ animation: z.enum(slideAnimations).optional(),
13
15
  });
14
16
  export const configSchema = z.object({
15
17
  voice: z.string().default('en_US-amy-medium'),
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAClD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CACpD,CAAC;AAIX,MAAM,CAAC,MAAM,wBAAwB,GACnC,4EAA4E;IAC5E,oEAAoE,CAAC;AAEvE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kEAAkE,EAAE,kCAAkC,CAAC,CAAC;AAE1I,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACnE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAClD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;CACpD,CAAC;AAIX,MAAM,CAAC,MAAM,wBAAwB,GACnC,4EAA4E;IAC5E,oEAAoE,CAAC;AAEvE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kEAAkE,EAAE,kCAAkC,CAAC,CAAC;AAE1I,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACnE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const SYSTEM_PROMPT = "You are Screenwright, a tool that converts Playwright E2E tests into cinematic product demo scenarios.\n\nGiven a Playwright test file, generate a new TypeScript file that uses the Screenwright helpers API to create a polished demo with:\n- Human-friendly data (replace faker/test data with realistic values)\n- Narration cues (explain what's happening to the viewer)\n- Scene boundaries (organize the demo into logical chapters)\n\nThe output must be a valid TypeScript file with a default export function that takes a ScreenwrightHelpers parameter.\n\nAvailable helpers:\n- sw.scene(title) \u2014 scene marker only, no slide\n- sw.scene(title, description?) \u2014 scene marker with optional description, no slide\n- sw.scene(title, { description?, slide?: { duration?, brandColor?, textColor?, fontFamily?, titleFontSize? } }) \u2014 scene with optional transition slide\n- sw.navigate(url, { narration? }) \u2014 navigate to a URL\n- sw.click(selector, { narration? }) \u2014 click an element\n- sw.fill(selector, value, { narration? }) \u2014 type into an input\n- sw.hover(selector, { narration? }) \u2014 hover over an element\n- sw.press(key, { narration? }) \u2014 press a keyboard key\n- sw.wait(ms) \u2014 pause for pacing\n- sw.narrate(text) \u2014 speak narration without an action\n\nRules:\n1. Import only ScreenwrightHelpers from 'screenwright'\n2. Export a default async function\n3. Replace ALL test/faker data with realistic human-friendly values\n4. Add narration to key actions explaining what the user is doing\n5. Use sw.wait() for pacing \u2014 add deliberate pauses where the viewer needs a moment to absorb the screen.\n6. Use sw.scene() to organize into 2-5 scenes. Pass a slide option (e.g. sw.scene('Title', { slide: {} })) to add a transition slide.\n7. Keep the same user flow as the original test\n8. Do NOT include assertions \u2014 this is a demo, not a test\n\nOutput format \u2014 always follow this exact structure:\n\n```typescript\nimport type { ScreenwrightHelpers } from 'screenwright';\n\nexport default async function scenario(sw: ScreenwrightHelpers) {\n // Scene 1\n await sw.scene('...', { slide: {} });\n // ... actions ...\n\n // Scene 2\n await sw.scene('...', { slide: {} });\n // ... actions ...\n}\n```\n\nCommon mistakes \u2014 do NOT do any of these:\n- Do NOT use page.click(), page.fill(), or any page.* methods \u2014 use sw.click(), sw.fill() etc.\n- Do NOT import expect, assert, or any test library\n- Do NOT call expect() or assert()\n- Do NOT use page.evaluate() or page.waitForSelector()\n- Do NOT add test(), describe(), or beforeEach() wrappers\n- Do NOT use page.locator().click() \u2014 use sw.click(selector) directly";
1
+ export declare const SYSTEM_PROMPT = "You are Screenwright, a tool that converts Playwright E2E tests into cinematic product demo scenarios.\n\nGiven a Playwright test file, generate a new TypeScript file that uses the Screenwright helpers API to create a polished demo with:\n- Human-friendly data (replace faker/test data with realistic values)\n- Narration cues (explain what's happening to the viewer)\n- Scene boundaries (organize the demo into logical chapters)\n\nThe output must be a valid TypeScript file with a default export function that takes a ScreenwrightHelpers parameter.\n\nAvailable helpers:\n- sw.scene(title) \u2014 scene marker only, no slide\n- sw.scene(title, description?) \u2014 scene marker with optional description, no slide\n- sw.scene(title, { description?, slide?: { duration?, brandColor?, textColor?, fontFamily?, titleFontSize?, animation? } }) \u2014 scene with optional transition slide. animation: 'fade' (default) | 'slide-up' | 'slide-left' | 'zoom' | 'cinematic' | 'pop' | 'wipe'\n- sw.navigate(url, { narration? }) \u2014 navigate to a URL\n- sw.click(selector, { narration? }) \u2014 click an element\n- sw.fill(selector, value, { narration? }) \u2014 type into an input\n- sw.hover(selector, { narration? }) \u2014 hover over an element\n- sw.press(key, { narration? }) \u2014 press a keyboard key\n- sw.wait(ms) \u2014 pause for pacing\n- sw.narrate(text) \u2014 speak narration without an action\n\nRules:\n1. Import only ScreenwrightHelpers from 'screenwright'\n2. Export a default async function\n3. Replace ALL test/faker data with realistic human-friendly values\n4. Add narration to key actions explaining what the user is doing\n5. Use sw.wait() for pacing \u2014 add deliberate pauses where the viewer needs a moment to absorb the screen.\n6. Use sw.scene() to organize into 2-5 scenes. Pass a slide option (e.g. sw.scene('Title', { slide: {} })) to add a transition slide.\n7. Keep the same user flow as the original test\n8. Do NOT include assertions \u2014 this is a demo, not a test\n\nOutput format \u2014 always follow this exact structure:\n\n```typescript\nimport type { ScreenwrightHelpers } from 'screenwright';\n\nexport default async function scenario(sw: ScreenwrightHelpers) {\n // Scene 1\n await sw.scene('...', { slide: {} });\n // ... actions ...\n\n // Scene 2\n await sw.scene('...', { slide: {} });\n // ... actions ...\n}\n```\n\nCommon mistakes \u2014 do NOT do any of these:\n- Do NOT use page.click(), page.fill(), or any page.* methods \u2014 use sw.click(), sw.fill() etc.\n- Do NOT import expect, assert, or any test library\n- Do NOT call expect() or assert()\n- Do NOT use page.evaluate() or page.waitForSelector()\n- Do NOT add test(), describe(), or beforeEach() wrappers\n- Do NOT use page.locator().click() \u2014 use sw.click(selector) directly";
2
2
  export declare function buildUserPrompt(testSource: string, narrationStyle: 'brief' | 'detailed', appDescription?: string): string;
3
3
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/generator/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,woFAqD4C,CAAC;AAEvE,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,GAAG,UAAU,EACpC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAmER"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/generator/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,qvFAqD4C,CAAC;AAEvE,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,GAAG,UAAU,EACpC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAmER"}
@@ -10,7 +10,7 @@ The output must be a valid TypeScript file with a default export function that t
10
10
  Available helpers:
11
11
  - sw.scene(title) — scene marker only, no slide
12
12
  - sw.scene(title, description?) — scene marker with optional description, no slide
13
- - sw.scene(title, { description?, slide?: { duration?, brandColor?, textColor?, fontFamily?, titleFontSize? } }) — scene with optional transition slide
13
+ - sw.scene(title, { description?, slide?: { duration?, brandColor?, textColor?, fontFamily?, titleFontSize?, animation? } }) — scene with optional transition slide. animation: 'fade' (default) | 'slide-up' | 'slide-left' | 'zoom' | 'cinematic' | 'pop' | 'wipe'
14
14
  - sw.navigate(url, { narration? }) — navigate to a URL
15
15
  - sw.click(selector, { narration? }) — click an element
16
16
  - sw.fill(selector, value, { narration? }) — type into an input
@@ -1,6 +1,7 @@
1
1
  export type { ScreenwrightHelpers, ActionOptions, SceneOptions } from './runtime/action-helpers.js';
2
2
  export type { ScenarioFn } from './runtime/instrumented-page.js';
3
- export type { Timeline, TimelineEvent, SceneEvent, ActionEvent, CursorTargetEvent, NarrationEvent, WaitEvent, FrameEntry, SceneSlideConfig } from './timeline/types.js';
3
+ export type { Timeline, TimelineEvent, SceneEvent, ActionEvent, CursorTargetEvent, NarrationEvent, WaitEvent, FrameEntry, SceneSlideConfig, SlideAnimation } from './timeline/types.js';
4
+ export { slideAnimations } from './timeline/types.js';
4
5
  export type { ScreenwrightConfig, OpenaiVoice } from './config/config-schema.js';
5
6
  export { openaiVoices } from './config/config-schema.js';
6
7
  export { validateScenarioCode, extractScenarioCode } from './generator/scenario-generator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxK,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxL,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { slideAnimations } from './timeline/types.js';
1
2
  export { openaiVoices } from './config/config-schema.js';
2
3
  export { validateScenarioCode, extractScenarioCode } from './generator/scenario-generator.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumented-page.d.ts","sourceRoot":"","sources":["../../../src/runtime/instrumented-page.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAmJ5F"}
1
+ {"version":3,"file":"instrumented-page.d.ts","sourceRoot":"","sources":["../../../src/runtime/instrumented-page.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAoJ5F"}
@@ -50,6 +50,7 @@ export async function runScenario(scenario, opts) {
50
50
  if (capturing)
51
51
  return;
52
52
  capturing = true;
53
+ const capturedAt = collector.elapsed();
53
54
  pendingScreenshot = (async () => {
54
55
  try {
55
56
  frameCounter++;
@@ -57,7 +58,7 @@ export async function runScenario(scenario, opts) {
57
58
  const filePath = join(framesDir, filename);
58
59
  await page.screenshot({ path: filePath, type: 'jpeg', quality: 90 });
59
60
  frameManifest.push({
60
- timestampMs: collector.elapsed(),
61
+ timestampMs: capturedAt,
61
62
  file: `frames/${filename}`,
62
63
  });
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrumented-page.js","sourceRoot":"","sources":["../../../src/runtime/instrumented-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAoB9E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAoB,EAAE,IAAgB;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;IAEjD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,CAAC,eAAe,EAAE,4BAA4B,EAAE,oBAAoB,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,WAAW,GAA4B;QAC3C,QAAQ;QACR,iBAAiB,EAAE,GAAG;QACtB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,OAAO;QACxC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;QAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,kBAAkB;KAClD,CAAC;IAEF,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;QAC5B,WAAW,CAAC,WAAW,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEtD,yEAAyE;IACzE,MAAM,OAAO,CAAC,aAAa,CAAC;;;;GAI3B,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC1C,IAAI,aAAuC,CAAC;IAC5C,IAAI,UAAkC,CAAC;IACvC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEzD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,aAAa,GAAG,EAAE,CAAC;QAEnB,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE/C,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,2DAA2D;QAC3D,UAAU,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAA6B,EAAE,EAAE;YACtE,UAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE7F,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,GAAG,IAAI,CAAC;YACjB,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC;oBACH,YAAY,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,SAAS,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;oBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrE,aAAc,CAAC,IAAI,CAAC;wBAClB,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE;wBAChC,IAAI,EAAE,UAAU,QAAQ,EAAE;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,sCAAsC;gBACxC,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,CAAC;IAElB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE1C,IAAI,SAA6B,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEnB,6CAA6C;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7D,MAAM,iBAAiB,CAAC;YAExB,+BAA+B;YAC/B,IAAI,CAAC;gBACH,YAAY,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,SAAS,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;gBACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,aAAc,CAAC,IAAI,CAAC;oBAClB,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE;oBAChC,IAAI,EAAE,UAAU,QAAQ,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;YAED,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,+BAA+B;QAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,QAAQ;QACR,eAAe;QACf,SAAS;QACT,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"instrumented-page.js","sourceRoot":"","sources":["../../../src/runtime/instrumented-page.ts"],"names":[],"mappings":"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"}
@@ -96,16 +96,19 @@ export declare const timelineSchema: z.ZodObject<{
96
96
  textColor: z.ZodOptional<z.ZodString>;
97
97
  fontFamily: z.ZodOptional<z.ZodString>;
98
98
  titleFontSize: z.ZodOptional<z.ZodNumber>;
99
+ animation: z.ZodOptional<z.ZodEnum<["fade", "slide-up", "slide-left", "zoom", "cinematic", "pop", "wipe"]>>;
99
100
  }, "strip", z.ZodTypeAny, {
100
101
  brandColor?: string | undefined;
101
102
  textColor?: string | undefined;
102
103
  fontFamily?: string | undefined;
104
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
103
105
  duration?: number | undefined;
104
106
  titleFontSize?: number | undefined;
105
107
  }, {
106
108
  brandColor?: string | undefined;
107
109
  textColor?: string | undefined;
108
110
  fontFamily?: string | undefined;
111
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
109
112
  duration?: number | undefined;
110
113
  titleFontSize?: number | undefined;
111
114
  }>>;
@@ -119,6 +122,7 @@ export declare const timelineSchema: z.ZodObject<{
119
122
  brandColor?: string | undefined;
120
123
  textColor?: string | undefined;
121
124
  fontFamily?: string | undefined;
125
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
122
126
  duration?: number | undefined;
123
127
  titleFontSize?: number | undefined;
124
128
  } | undefined;
@@ -132,6 +136,7 @@ export declare const timelineSchema: z.ZodObject<{
132
136
  brandColor?: string | undefined;
133
137
  textColor?: string | undefined;
134
138
  fontFamily?: string | undefined;
139
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
135
140
  duration?: number | undefined;
136
141
  titleFontSize?: number | undefined;
137
142
  } | undefined;
@@ -284,6 +289,7 @@ export declare const timelineSchema: z.ZodObject<{
284
289
  brandColor?: string | undefined;
285
290
  textColor?: string | undefined;
286
291
  fontFamily?: string | undefined;
292
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
287
293
  duration?: number | undefined;
288
294
  titleFontSize?: number | undefined;
289
295
  } | undefined;
@@ -352,6 +358,7 @@ export declare const timelineSchema: z.ZodObject<{
352
358
  brandColor?: string | undefined;
353
359
  textColor?: string | undefined;
354
360
  fontFamily?: string | undefined;
361
+ animation?: "pop" | "fade" | "slide-up" | "slide-left" | "zoom" | "cinematic" | "wipe" | undefined;
355
362
  duration?: number | undefined;
356
363
  titleFontSize?: number | undefined;
357
364
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/timeline/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6ExB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBzB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/timeline/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+ExB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBzB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { z } from 'zod';
2
+ import { slideAnimations } from './types.js';
2
3
  const sceneSlideConfigSchema = z.object({
3
4
  duration: z.number().positive().optional(),
4
5
  brandColor: z.string().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/).optional(),
5
6
  textColor: z.string().regex(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/).optional(),
6
7
  fontFamily: z.string().optional(),
7
8
  titleFontSize: z.number().positive().optional(),
9
+ animation: z.enum(slideAnimations).optional(),
8
10
  });
9
11
  const sceneEventSchema = z.object({
10
12
  type: z.literal('scene'),