screenwright 0.1.25 → 0.1.28
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/dist/src/commands/compose.d.ts.map +1 -1
- package/dist/src/commands/compose.js +1 -0
- package/dist/src/commands/compose.js.map +1 -1
- package/dist/src/composition/DemoVideo.d.ts +2 -0
- package/dist/src/composition/DemoVideo.d.ts.map +1 -1
- package/dist/src/composition/DemoVideo.js +21 -7
- package/dist/src/composition/DemoVideo.js.map +1 -1
- package/dist/src/composition/SceneSlide.d.ts +13 -0
- package/dist/src/composition/SceneSlide.d.ts.map +1 -0
- package/dist/src/composition/SceneSlide.js +97 -0
- package/dist/src/composition/SceneSlide.js.map +1 -0
- package/dist/src/composition/remotion-root.d.ts.map +1 -1
- package/dist/src/composition/remotion-root.js +7 -1
- package/dist/src/composition/remotion-root.js.map +1 -1
- package/dist/src/composition/render.d.ts +2 -0
- package/dist/src/composition/render.d.ts.map +1 -1
- package/dist/src/composition/render.js +7 -2
- package/dist/src/composition/render.js.map +1 -1
- package/dist/src/composition/time-remap.d.ts +26 -0
- package/dist/src/composition/time-remap.d.ts.map +1 -0
- package/dist/src/composition/time-remap.js +63 -0
- package/dist/src/composition/time-remap.js.map +1 -0
- package/dist/src/config/config-schema.d.ts +37 -0
- package/dist/src/config/config-schema.d.ts.map +1 -1
- package/dist/src/config/config-schema.js +7 -0
- package/dist/src/config/config-schema.js.map +1 -1
- package/dist/src/runtime/action-helpers.d.ts +1 -1
- package/dist/src/runtime/action-helpers.d.ts.map +1 -1
- package/dist/src/runtime/action-helpers.js +7 -7
- package/dist/src/runtime/action-helpers.js.map +1 -1
- package/dist/src/runtime/instrumented-page.d.ts.map +1 -1
- package/dist/src/runtime/instrumented-page.js +37 -16
- package/dist/src/runtime/instrumented-page.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/commands/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/commands/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,cAAc,SA0JvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/commands/compose.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/commands/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAmB,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;KACpD,MAAM,CAAC,cAAc,EAAE,2BAA2B,CAAC;KACnD,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,CAAC;KAC5D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;KAC7C,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAI,EAAE,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG;QACzB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,0BAA0B;IAC1B,IAAI,OAAO,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9C,IAAI,UAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3D,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI,QAAQ,EAAE,OAAe,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE;YAC3C,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,OAAO,CAAC,OAAO,CAAC,YAAY,QAAQ,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAClF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,4CAA4C;YAC5C,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACrF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,GAAG,GAAG,CAAC,yBAAyB,cAAc,iBAAiB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACrG,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,KAAK,OAAO;oBAC9C,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACpD,CAAC,CAAC,SAAS,CAAC;gBACd,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE;oBAChD,OAAO;oBACP,SAAS;oBACT,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;iBACpD,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,aAAa,cAAc,qBAAqB,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,eAAe,CAAC;YACpB,QAAQ,EAAE,aAAa;YACvB,UAAU;YACV,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa;IACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;IACZ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ValidatedTimeline } from '../timeline/schema.js';
|
|
3
|
+
import type { BrandingConfig } from '../config/config-schema.js';
|
|
3
4
|
interface Props {
|
|
4
5
|
timeline: ValidatedTimeline;
|
|
6
|
+
branding?: BrandingConfig;
|
|
5
7
|
}
|
|
6
8
|
export declare const DemoVideo: React.FC<Props>;
|
|
7
9
|
export {};
|
|
@@ -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;
|
|
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;AAMD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+ErC,CAAC"}
|
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Img, OffthreadVideo, staticFile, useCurrentFrame } from 'remotion';
|
|
2
|
+
import { Img, OffthreadVideo, Sequence, staticFile, useCurrentFrame } from 'remotion';
|
|
3
3
|
import { CursorOverlay } from './CursorOverlay.js';
|
|
4
4
|
import { NarrationTrack } from './NarrationTrack.js';
|
|
5
|
+
import { SceneSlide } from './SceneSlide.js';
|
|
5
6
|
import { precomputeCursorPaths } from './cursor-path.js';
|
|
6
7
|
import { findClosestFrame } from './frame-lookup.js';
|
|
7
|
-
|
|
8
|
+
import { SLIDE_DURATION_MS, sourceTimeMs, computeSlideSegments, remapEvents } from './time-remap.js';
|
|
9
|
+
function msToFrames(ms, fps) {
|
|
10
|
+
return Math.round((ms / 1000) * fps);
|
|
11
|
+
}
|
|
12
|
+
export const DemoVideo = ({ timeline, branding }) => {
|
|
8
13
|
const fps = 30;
|
|
9
14
|
const frame = useCurrentFrame();
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
15
|
+
const outputTimeMs = (frame / fps) * 1000;
|
|
16
|
+
const scenes = timeline.events.filter((e) => e.type === 'scene');
|
|
17
|
+
const slideDuration = branding ? SLIDE_DURATION_MS : 0;
|
|
18
|
+
const timeMs = branding && scenes.length
|
|
19
|
+
? sourceTimeMs(outputTimeMs, scenes, slideDuration)
|
|
20
|
+
: outputTimeMs;
|
|
21
|
+
const eventsToUse = branding && scenes.length
|
|
22
|
+
? remapEvents(timeline.events, scenes, slideDuration)
|
|
23
|
+
: timeline.events;
|
|
24
|
+
const cursorEvents = precomputeCursorPaths(eventsToUse.filter((e) => e.type === 'cursor_target'));
|
|
25
|
+
const clickEvents = eventsToUse.filter((e) => e.type === 'action' && e.action === 'click');
|
|
26
|
+
const narrations = eventsToUse.filter((e) => e.type === 'narration');
|
|
14
27
|
const { frameManifest, videoFile } = timeline.metadata;
|
|
15
28
|
let baseLayer;
|
|
16
29
|
if (frameManifest && frameManifest.length > 0) {
|
|
@@ -23,11 +36,12 @@ export const DemoVideo = ({ timeline }) => {
|
|
|
23
36
|
else {
|
|
24
37
|
throw new Error('Timeline must have either frameManifest or videoFile');
|
|
25
38
|
}
|
|
39
|
+
const slideSegments = branding ? computeSlideSegments(scenes, slideDuration) : [];
|
|
26
40
|
return (_jsxs("div", { style: {
|
|
27
41
|
position: 'relative',
|
|
28
42
|
width: timeline.metadata.viewport.width,
|
|
29
43
|
height: timeline.metadata.viewport.height,
|
|
30
44
|
overflow: 'hidden',
|
|
31
|
-
}, children: [baseLayer, _jsx(CursorOverlay, { cursorEvents: cursorEvents, clickEvents: clickEvents, fps: fps }), _jsx(NarrationTrack, { narrations: narrations, fps: fps })] }));
|
|
45
|
+
}, children: [baseLayer, _jsx(CursorOverlay, { cursorEvents: cursorEvents, clickEvents: clickEvents, fps: fps }), _jsx(NarrationTrack, { narrations: narrations, fps: fps }), branding && slideSegments.map(seg => (_jsx(Sequence, { from: msToFrames(seg.slideStartMs, fps), durationInFrames: msToFrames(slideDuration, fps), children: _jsx(SceneSlide, { title: seg.sceneTitle, description: seg.sceneDescription, brandColor: branding.brandColor, textColor: branding.textColor, fontFamily: branding.fontFamily, durationInFrames: msToFrames(slideDuration, fps), fps: fps }) }, seg.sceneTitle)))] }));
|
|
32
46
|
};
|
|
33
47
|
//# 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,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"DemoVideo.js","sourceRoot":"","sources":["../../../src/composition/DemoVideo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
title: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
brandColor: string;
|
|
6
|
+
textColor: string;
|
|
7
|
+
fontFamily?: string;
|
|
8
|
+
durationInFrames: number;
|
|
9
|
+
fps: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const SceneSlide: React.FC<Props>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=SceneSlide.d.ts.map
|
|
@@ -0,0 +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,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsItC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { delayRender, continueRender, useCurrentFrame, interpolate, spring } from 'remotion';
|
|
4
|
+
const SYSTEM_FONTS = 'system-ui, -apple-system, sans-serif';
|
|
5
|
+
const FONT_TIMEOUT_MS = 5000;
|
|
6
|
+
const ANIM_FRAMES = 12;
|
|
7
|
+
export const SceneSlide = ({ title, description, brandColor, textColor, fontFamily, durationInFrames, fps, }) => {
|
|
8
|
+
const frame = useCurrentFrame();
|
|
9
|
+
const [handle] = useState(() => fontFamily ? delayRender('Loading font') : null);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (!fontFamily || !handle)
|
|
12
|
+
return;
|
|
13
|
+
const encoded = encodeURIComponent(fontFamily);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = `https://fonts.googleapis.com/css2?family=${encoded}&display=swap`;
|
|
17
|
+
const timeout = setTimeout(() => {
|
|
18
|
+
console.warn(`Font "${fontFamily}" timed out after ${FONT_TIMEOUT_MS}ms, using fallback`);
|
|
19
|
+
continueRender(handle);
|
|
20
|
+
}, FONT_TIMEOUT_MS);
|
|
21
|
+
link.onload = () => {
|
|
22
|
+
document.fonts.ready.then(() => {
|
|
23
|
+
clearTimeout(timeout);
|
|
24
|
+
continueRender(handle);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
link.onerror = () => {
|
|
28
|
+
console.warn(`Failed to load font "${fontFamily}", using fallback`);
|
|
29
|
+
clearTimeout(timeout);
|
|
30
|
+
continueRender(handle);
|
|
31
|
+
};
|
|
32
|
+
document.head.appendChild(link);
|
|
33
|
+
return () => {
|
|
34
|
+
clearTimeout(timeout);
|
|
35
|
+
document.head.removeChild(link);
|
|
36
|
+
};
|
|
37
|
+
}, [fontFamily, handle]);
|
|
38
|
+
const resolvedFont = fontFamily ? `"${fontFamily}", ${SYSTEM_FONTS}` : SYSTEM_FONTS;
|
|
39
|
+
// In animation (first ANIM_FRAMES)
|
|
40
|
+
const inProgress = spring({ frame, fps, config: { damping: 12 }, durationInFrames: ANIM_FRAMES });
|
|
41
|
+
const inOpacity = interpolate(frame, [0, ANIM_FRAMES], [0, 1], { extrapolateRight: 'clamp' });
|
|
42
|
+
// Out animation (last ANIM_FRAMES)
|
|
43
|
+
const outStart = durationInFrames - ANIM_FRAMES;
|
|
44
|
+
const outOpacity = interpolate(frame, [outStart, durationInFrames], [1, 0], {
|
|
45
|
+
extrapolateLeft: 'clamp',
|
|
46
|
+
extrapolateRight: 'clamp',
|
|
47
|
+
});
|
|
48
|
+
const outScale = interpolate(frame, [outStart, durationInFrames], [1, 0.95], {
|
|
49
|
+
extrapolateLeft: 'clamp',
|
|
50
|
+
extrapolateRight: 'clamp',
|
|
51
|
+
});
|
|
52
|
+
const isInPhase = frame < ANIM_FRAMES;
|
|
53
|
+
const isOutPhase = frame >= outStart;
|
|
54
|
+
const bgOpacity = isOutPhase ? outOpacity : inOpacity;
|
|
55
|
+
const contentScale = isInPhase
|
|
56
|
+
? interpolate(inProgress, [0, 1], [0.85, 1])
|
|
57
|
+
: isOutPhase ? outScale : 1;
|
|
58
|
+
const contentOpacity = isOutPhase ? outOpacity : inOpacity;
|
|
59
|
+
const translateY = isInPhase ? interpolate(inProgress, [0, 1], [20, 0]) : 0;
|
|
60
|
+
return (_jsx("div", { style: {
|
|
61
|
+
position: 'absolute',
|
|
62
|
+
inset: 0,
|
|
63
|
+
display: 'flex',
|
|
64
|
+
flexDirection: 'column',
|
|
65
|
+
alignItems: 'center',
|
|
66
|
+
justifyContent: 'center',
|
|
67
|
+
backgroundColor: brandColor,
|
|
68
|
+
opacity: bgOpacity,
|
|
69
|
+
fontFamily: resolvedFont,
|
|
70
|
+
}, children: _jsxs("div", { style: {
|
|
71
|
+
transform: `scale(${contentScale}) translateY(${translateY}px)`,
|
|
72
|
+
opacity: contentOpacity,
|
|
73
|
+
textAlign: 'center',
|
|
74
|
+
padding: '0 10%',
|
|
75
|
+
}, children: [_jsx("h1", { style: {
|
|
76
|
+
color: textColor,
|
|
77
|
+
fontSize: 64,
|
|
78
|
+
fontWeight: 700,
|
|
79
|
+
margin: 0,
|
|
80
|
+
lineHeight: 1.2,
|
|
81
|
+
}, children: title }), description && (_jsxs(_Fragment, { children: [_jsx("div", { style: {
|
|
82
|
+
width: 80,
|
|
83
|
+
height: 4,
|
|
84
|
+
backgroundColor: textColor,
|
|
85
|
+
opacity: 0.4,
|
|
86
|
+
margin: '24px auto',
|
|
87
|
+
borderRadius: 2,
|
|
88
|
+
} }), _jsx("p", { style: {
|
|
89
|
+
color: textColor,
|
|
90
|
+
fontSize: 28,
|
|
91
|
+
fontWeight: 400,
|
|
92
|
+
margin: 0,
|
|
93
|
+
opacity: 0.85,
|
|
94
|
+
lineHeight: 1.5,
|
|
95
|
+
}, children: description })] }))] }) }));
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=SceneSlide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneSlide.js","sourceRoot":"","sources":["../../../src/composition/SceneSlide.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remotion-root.d.ts","sourceRoot":"","sources":["../../../src/composition/remotion-root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"remotion-root.d.ts","sourceRoot":"","sources":["../../../src/composition/remotion-root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAyChC,CAAC"}
|
|
@@ -3,8 +3,11 @@ import { Composition, registerRoot } from 'remotion';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { DemoVideo } from './DemoVideo.js';
|
|
5
5
|
import { timelineSchema } from '../timeline/schema.js';
|
|
6
|
+
import { brandingSchema } from '../config/config-schema.js';
|
|
7
|
+
import { SLIDE_DURATION_MS } from './time-remap.js';
|
|
6
8
|
const propsSchema = z.object({
|
|
7
9
|
timeline: timelineSchema,
|
|
10
|
+
branding: brandingSchema.optional(),
|
|
8
11
|
});
|
|
9
12
|
export const RemotionRoot = () => {
|
|
10
13
|
return (_jsx(_Fragment, { children: _jsx(Composition, { id: "DemoVideo", lazyComponent: () => Promise.resolve({ default: DemoVideo }), schema: propsSchema, durationInFrames: 300, fps: 30, width: 1280, height: 720, defaultProps: {
|
|
@@ -22,7 +25,10 @@ export const RemotionRoot = () => {
|
|
|
22
25
|
},
|
|
23
26
|
}, calculateMetadata: ({ props }) => {
|
|
24
27
|
const fps = 30;
|
|
25
|
-
const
|
|
28
|
+
const sceneCount = props.timeline.events.filter(e => e.type === 'scene').length;
|
|
29
|
+
const slideDurationMs = props.branding ? SLIDE_DURATION_MS : 0;
|
|
30
|
+
const totalMs = props.timeline.metadata.videoDurationMs + sceneCount * slideDurationMs;
|
|
31
|
+
const durationInFrames = Math.max(30, Math.ceil((totalMs / 1000) * fps));
|
|
26
32
|
return {
|
|
27
33
|
durationInFrames,
|
|
28
34
|
fps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remotion-root.js","sourceRoot":"","sources":["../../../src/composition/remotion-root.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"remotion-root.js","sourceRoot":"","sources":["../../../src/composition/remotion-root.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAa,GAAG,EAAE;IACzC,OAAO,CACL,4BACE,KAAC,WAAW,IACV,EAAE,EAAC,WAAW,EACd,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAgB,EAAE,CAAC,EACnE,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,GAAG,EACrB,GAAG,EAAE,EAAE,EACP,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,GAAG,EACX,YAAY,EAAE;gBACZ,QAAQ,EAAE;oBACR,OAAO,EAAE,CAAU;oBACnB,QAAQ,EAAE;wBACR,QAAQ,EAAE,EAAE;wBACZ,YAAY,EAAE,EAAE;wBAChB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;wBACtC,eAAe,EAAE,CAAC;wBAClB,SAAS,EAAE,kBAAkB;qBAC9B;oBACD,MAAM,EAAE,EAAE;iBACX;aACF,EACD,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC/B,MAAM,GAAG,GAAG,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;gBAChF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,UAAU,GAAG,eAAe,CAAC;gBACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzE,OAAO;oBACL,gBAAgB;oBAChB,GAAG;oBACH,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;oBAC7C,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;iBAChD,CAAC;YACJ,CAAC,GACD,GACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { Timeline } from '../timeline/types.js';
|
|
2
|
+
import type { BrandingConfig } from '../config/config-schema.js';
|
|
2
3
|
export interface RenderOptions {
|
|
3
4
|
timeline: Timeline;
|
|
4
5
|
outputPath: string;
|
|
5
6
|
publicDir: string;
|
|
6
7
|
entryPoint?: string;
|
|
8
|
+
branding?: BrandingConfig;
|
|
7
9
|
}
|
|
8
10
|
export declare function renderDemoVideo(opts: RenderOptions): Promise<string>;
|
|
9
11
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/composition/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/composition/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAyBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC1E"}
|
|
@@ -30,10 +30,14 @@ export async function renderDemoVideo(opts) {
|
|
|
30
30
|
publicDir: opts.publicDir,
|
|
31
31
|
});
|
|
32
32
|
const staticTimeline = toStaticPaths(opts.timeline);
|
|
33
|
+
const inputProps = { timeline: staticTimeline };
|
|
34
|
+
if (opts.branding) {
|
|
35
|
+
inputProps.branding = opts.branding;
|
|
36
|
+
}
|
|
33
37
|
const composition = await selectComposition({
|
|
34
38
|
serveUrl: bundlePath,
|
|
35
39
|
id: 'DemoVideo',
|
|
36
|
-
inputProps
|
|
40
|
+
inputProps,
|
|
37
41
|
});
|
|
38
42
|
await renderMedia({
|
|
39
43
|
composition,
|
|
@@ -41,8 +45,9 @@ export async function renderDemoVideo(opts) {
|
|
|
41
45
|
codec: 'h264',
|
|
42
46
|
crf: 16,
|
|
43
47
|
pixelFormat: 'yuv420p',
|
|
48
|
+
scale: 2,
|
|
44
49
|
outputLocation: opts.outputPath,
|
|
45
|
-
inputProps
|
|
50
|
+
inputProps,
|
|
46
51
|
});
|
|
47
52
|
return opts.outputPath;
|
|
48
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/composition/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/composition/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAY9C;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,4EAA4E;IAC5E,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC1C,OAAO,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAmB;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAEvF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC;QAC9B,UAAU;QACV,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,UAAU,GAA4B,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IACzE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC;QAC1C,QAAQ,EAAE,UAAU;QACpB,EAAE,EAAE,WAAW;QACf,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC;QAChB,WAAW;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,EAAE;QACP,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,CAAC;QACR,cAAc,EAAE,IAAI,CAAC,UAAU;QAC/B,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SceneEvent, TimelineEvent } from '../timeline/types.js';
|
|
2
|
+
export declare const SLIDE_DURATION_MS = 2000;
|
|
3
|
+
export interface SlideSegment {
|
|
4
|
+
slideStartMs: number;
|
|
5
|
+
slideEndMs: number;
|
|
6
|
+
sceneTitle: string;
|
|
7
|
+
sceneDescription?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Compute the output-time intervals where each scene slide is shown.
|
|
11
|
+
* Each slide is inserted *before* the scene's recorded content.
|
|
12
|
+
*/
|
|
13
|
+
export declare function computeSlideSegments(scenes: SceneEvent[], slideDurationMs: number): SlideSegment[];
|
|
14
|
+
/**
|
|
15
|
+
* Map an output-time position back to its source-time position.
|
|
16
|
+
* During a slide, returns the scene's timestamp (freeze-frame).
|
|
17
|
+
* During video segments, subtracts accumulated slide durations.
|
|
18
|
+
*/
|
|
19
|
+
export declare function sourceTimeMs(outputTimeMs: number, scenes: SceneEvent[], slideDurationMs: number): number;
|
|
20
|
+
export declare function totalSlideDurationMs(sceneCount: number, slideDurationMs: number): number;
|
|
21
|
+
/**
|
|
22
|
+
* Shift every event's timestampMs forward by the accumulated slide
|
|
23
|
+
* durations that precede it. Returns a new array (no mutation).
|
|
24
|
+
*/
|
|
25
|
+
export declare function remapEvents<T extends TimelineEvent>(events: T[], scenes: SceneEvent[], slideDurationMs: number): T[];
|
|
26
|
+
//# sourceMappingURL=time-remap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-remap.d.ts","sourceRoot":"","sources":["../../../src/composition/time-remap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAAE,EACpB,eAAe,EAAE,MAAM,GACtB,YAAY,EAAE,CAehB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,EAAE,EACpB,eAAe,EAAE,MAAM,GACtB,MAAM,CAeR;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EACjD,MAAM,EAAE,CAAC,EAAE,EACX,MAAM,EAAE,UAAU,EAAE,EACpB,eAAe,EAAE,MAAM,GACtB,CAAC,EAAE,CAYL"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export const SLIDE_DURATION_MS = 2000;
|
|
2
|
+
/**
|
|
3
|
+
* Compute the output-time intervals where each scene slide is shown.
|
|
4
|
+
* Each slide is inserted *before* the scene's recorded content.
|
|
5
|
+
*/
|
|
6
|
+
export function computeSlideSegments(scenes, slideDurationMs) {
|
|
7
|
+
const segments = [];
|
|
8
|
+
let accumulated = 0;
|
|
9
|
+
for (const scene of scenes) {
|
|
10
|
+
const slideStartMs = scene.timestampMs + accumulated;
|
|
11
|
+
const slideEndMs = slideStartMs + slideDurationMs;
|
|
12
|
+
segments.push({
|
|
13
|
+
slideStartMs,
|
|
14
|
+
slideEndMs,
|
|
15
|
+
sceneTitle: scene.title,
|
|
16
|
+
sceneDescription: scene.description,
|
|
17
|
+
});
|
|
18
|
+
accumulated += slideDurationMs;
|
|
19
|
+
}
|
|
20
|
+
return segments;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Map an output-time position back to its source-time position.
|
|
24
|
+
* During a slide, returns the scene's timestamp (freeze-frame).
|
|
25
|
+
* During video segments, subtracts accumulated slide durations.
|
|
26
|
+
*/
|
|
27
|
+
export function sourceTimeMs(outputTimeMs, scenes, slideDurationMs) {
|
|
28
|
+
let accumulated = 0;
|
|
29
|
+
for (const scene of scenes) {
|
|
30
|
+
const slideStart = scene.timestampMs + accumulated;
|
|
31
|
+
const slideEnd = slideStart + slideDurationMs;
|
|
32
|
+
if (outputTimeMs < slideStart) {
|
|
33
|
+
return outputTimeMs - accumulated;
|
|
34
|
+
}
|
|
35
|
+
if (outputTimeMs < slideEnd) {
|
|
36
|
+
return scene.timestampMs;
|
|
37
|
+
}
|
|
38
|
+
accumulated += slideDurationMs;
|
|
39
|
+
}
|
|
40
|
+
return outputTimeMs - accumulated;
|
|
41
|
+
}
|
|
42
|
+
export function totalSlideDurationMs(sceneCount, slideDurationMs) {
|
|
43
|
+
return sceneCount * slideDurationMs;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Shift every event's timestampMs forward by the accumulated slide
|
|
47
|
+
* durations that precede it. Returns a new array (no mutation).
|
|
48
|
+
*/
|
|
49
|
+
export function remapEvents(events, scenes, slideDurationMs) {
|
|
50
|
+
return events.map(event => {
|
|
51
|
+
let offset = 0;
|
|
52
|
+
for (const scene of scenes) {
|
|
53
|
+
if (event.timestampMs >= scene.timestampMs) {
|
|
54
|
+
offset += slideDurationMs;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return { ...event, timestampMs: event.timestampMs + offset };
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=time-remap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-remap.js","sourceRoot":"","sources":["../../../src/composition/time-remap.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAStC;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,eAAuB;IAEvB,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACrD,MAAM,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC;YACZ,YAAY;YACZ,UAAU;YACV,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,gBAAgB,EAAE,KAAK,CAAC,WAAW;SACpC,CAAC,CAAC;QACH,WAAW,IAAI,eAAe,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAoB,EACpB,MAAoB,EACpB,eAAuB;IAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACnD,MAAM,QAAQ,GAAG,UAAU,GAAG,eAAe,CAAC;QAE9C,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;YAC9B,OAAO,YAAY,GAAG,WAAW,CAAC;QACpC,CAAC;QACD,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,CAAC;QACD,WAAW,IAAI,eAAe,CAAC;IACjC,CAAC;IACD,OAAO,YAAY,GAAG,WAAW,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,eAAuB;IAEvB,OAAO,UAAU,GAAG,eAAe,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,MAAW,EACX,MAAoB,EACpB,eAAuB;IAEvB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACxB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,IAAI,eAAe,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,6 +2,20 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const openaiVoices: readonly ["alloy", "ash", "ballad", "cedar", "coral", "echo", "fable", "marin", "nova", "onyx", "sage", "shimmer", "verse"];
|
|
3
3
|
export type OpenaiVoice = (typeof openaiVoices)[number];
|
|
4
4
|
export declare const DEFAULT_TTS_INSTRUCTIONS: string;
|
|
5
|
+
export declare const brandingSchema: z.ZodObject<{
|
|
6
|
+
brandColor: z.ZodString;
|
|
7
|
+
textColor: z.ZodString;
|
|
8
|
+
fontFamily: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
brandColor: string;
|
|
11
|
+
textColor: string;
|
|
12
|
+
fontFamily?: string | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
brandColor: string;
|
|
15
|
+
textColor: string;
|
|
16
|
+
fontFamily?: string | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export type BrandingConfig = z.infer<typeof brandingSchema>;
|
|
5
19
|
export declare const configSchema: z.ZodObject<{
|
|
6
20
|
voice: z.ZodDefault<z.ZodString>;
|
|
7
21
|
resolution: z.ZodDefault<z.ZodObject<{
|
|
@@ -21,6 +35,19 @@ export declare const configSchema: z.ZodObject<{
|
|
|
21
35
|
ttsProvider: z.ZodDefault<z.ZodEnum<["piper", "openai"]>>;
|
|
22
36
|
openaiVoice: z.ZodDefault<z.ZodEnum<["alloy", "ash", "ballad", "cedar", "coral", "echo", "fable", "marin", "nova", "onyx", "sage", "shimmer", "verse"]>>;
|
|
23
37
|
openaiTtsInstructions: z.ZodDefault<z.ZodString>;
|
|
38
|
+
branding: z.ZodOptional<z.ZodObject<{
|
|
39
|
+
brandColor: z.ZodString;
|
|
40
|
+
textColor: z.ZodString;
|
|
41
|
+
fontFamily: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
brandColor: string;
|
|
44
|
+
textColor: string;
|
|
45
|
+
fontFamily?: string | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
brandColor: string;
|
|
48
|
+
textColor: string;
|
|
49
|
+
fontFamily?: string | undefined;
|
|
50
|
+
}>>;
|
|
24
51
|
}, "strip", z.ZodTypeAny, {
|
|
25
52
|
voice: string;
|
|
26
53
|
resolution: {
|
|
@@ -34,6 +61,11 @@ export declare const configSchema: z.ZodObject<{
|
|
|
34
61
|
ttsProvider: "piper" | "openai";
|
|
35
62
|
openaiVoice: "alloy" | "ash" | "ballad" | "cedar" | "coral" | "echo" | "fable" | "marin" | "nova" | "onyx" | "sage" | "shimmer" | "verse";
|
|
36
63
|
openaiTtsInstructions: string;
|
|
64
|
+
branding?: {
|
|
65
|
+
brandColor: string;
|
|
66
|
+
textColor: string;
|
|
67
|
+
fontFamily?: string | undefined;
|
|
68
|
+
} | undefined;
|
|
37
69
|
}, {
|
|
38
70
|
voice?: string | undefined;
|
|
39
71
|
resolution?: {
|
|
@@ -47,6 +79,11 @@ export declare const configSchema: z.ZodObject<{
|
|
|
47
79
|
ttsProvider?: "piper" | "openai" | undefined;
|
|
48
80
|
openaiVoice?: "alloy" | "ash" | "ballad" | "cedar" | "coral" | "echo" | "fable" | "marin" | "nova" | "onyx" | "sage" | "shimmer" | "verse" | undefined;
|
|
49
81
|
openaiTtsInstructions?: string | undefined;
|
|
82
|
+
branding?: {
|
|
83
|
+
brandColor: string;
|
|
84
|
+
textColor: string;
|
|
85
|
+
fontFamily?: string | undefined;
|
|
86
|
+
} | undefined;
|
|
50
87
|
}>;
|
|
51
88
|
export type ScreenwrightConfig = z.infer<typeof configSchema>;
|
|
52
89
|
//# sourceMappingURL=config-schema.d.ts.map
|
|
@@ -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;
|
|
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"}
|
|
@@ -5,6 +5,12 @@ export const openaiVoices = [
|
|
|
5
5
|
];
|
|
6
6
|
export const DEFAULT_TTS_INSTRUCTIONS = 'Speak in an upbeat, enthusiastic tone. This is a tech product demo video. ' +
|
|
7
7
|
'Be energetic and professional, like a friendly product evangelist.';
|
|
8
|
+
const hexColor = z.string().regex(/^#[0-9a-fA-F]{3,8}$/, 'Must be a hex color like #4F46E5');
|
|
9
|
+
export const brandingSchema = z.object({
|
|
10
|
+
brandColor: hexColor,
|
|
11
|
+
textColor: hexColor,
|
|
12
|
+
fontFamily: z.string().optional(),
|
|
13
|
+
});
|
|
8
14
|
export const configSchema = z.object({
|
|
9
15
|
voice: z.string().default('en_US-amy-medium'),
|
|
10
16
|
resolution: z.object({
|
|
@@ -18,5 +24,6 @@ export const configSchema = z.object({
|
|
|
18
24
|
ttsProvider: z.enum(['piper', 'openai']).default('piper'),
|
|
19
25
|
openaiVoice: z.enum(openaiVoices).default('nova'),
|
|
20
26
|
openaiTtsInstructions: z.string().default(DEFAULT_TTS_INSTRUCTIONS),
|
|
27
|
+
branding: brandingSchema.optional(),
|
|
21
28
|
});
|
|
22
29
|
//# sourceMappingURL=config-schema.js.map
|
|
@@ -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,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;
|
|
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,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;AAE7F,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"}
|
|
@@ -15,5 +15,5 @@ export interface ScreenwrightHelpers {
|
|
|
15
15
|
narrate(text: string): Promise<void>;
|
|
16
16
|
}
|
|
17
17
|
export declare function calculateMoveDuration(fromX: number, fromY: number, toX: number, toY: number): number;
|
|
18
|
-
export declare function createHelpers(page: Page, collector: TimelineCollector
|
|
18
|
+
export declare function createHelpers(page: Page, collector: TimelineCollector): ScreenwrightHelpers;
|
|
19
19
|
//# sourceMappingURL=action-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-helpers.d.ts","sourceRoot":"","sources":["../../../src/runtime/action-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAYD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"action-helpers.d.ts","sourceRoot":"","sources":["../../../src/runtime/action-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAYD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,GAAG,mBAAmB,CA2J3F"}
|