@argo-video/cli 0.18.0 → 0.20.0

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 (46) hide show
  1. package/README.md +18 -3
  2. package/dist/camera-move.d.ts +53 -0
  3. package/dist/camera-move.d.ts.map +1 -0
  4. package/dist/camera-move.js +107 -0
  5. package/dist/camera-move.js.map +1 -0
  6. package/dist/camera.d.ts +9 -0
  7. package/dist/camera.d.ts.map +1 -1
  8. package/dist/camera.js +38 -0
  9. package/dist/camera.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +17 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config.d.ts +13 -0
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js.map +1 -1
  16. package/dist/export.d.ts +3 -0
  17. package/dist/export.d.ts.map +1 -1
  18. package/dist/export.js +36 -6
  19. package/dist/export.js.map +1 -1
  20. package/dist/fixtures.d.ts.map +1 -1
  21. package/dist/fixtures.js +29 -0
  22. package/dist/fixtures.js.map +1 -1
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/media.d.ts +1 -0
  28. package/dist/media.d.ts.map +1 -1
  29. package/dist/media.js +20 -0
  30. package/dist/media.js.map +1 -1
  31. package/dist/narration.d.ts +10 -0
  32. package/dist/narration.d.ts.map +1 -1
  33. package/dist/narration.js +20 -0
  34. package/dist/narration.js.map +1 -1
  35. package/dist/pipeline.d.ts.map +1 -1
  36. package/dist/pipeline.js +129 -1
  37. package/dist/pipeline.js.map +1 -1
  38. package/dist/preview.d.ts +1 -0
  39. package/dist/preview.d.ts.map +1 -1
  40. package/dist/preview.js +17 -0
  41. package/dist/preview.js.map +1 -1
  42. package/dist/record.d.ts +2 -0
  43. package/dist/record.d.ts.map +1 -1
  44. package/dist/record.js +1 -1
  45. package/dist/record.js.map +1 -1
  46. package/package.json +1 -1
package/dist/export.js CHANGED
@@ -4,6 +4,8 @@ import { join } from 'node:path';
4
4
  import { buildTransitionFilters } from './transitions.js';
5
5
  import { runFfmpegWithProgress } from './progress.js';
6
6
  import { buildSpeedRampFilter } from './speed-ramp.js';
7
+ import { buildCameraMoveFilter } from './camera-move.js';
8
+ import { getVideoFrameRate } from './media.js';
7
9
  function formatSeconds(ms) {
8
10
  return (ms / 1000).toFixed(3).replace(/\.?0+$/, '');
9
11
  }
@@ -148,15 +150,18 @@ export async function exportVideo(options) {
148
150
  // Fade transitions use filter_complex with split+concat.
149
151
  // Apply any vFilters (scale, tpad) before the transition.
150
152
  let fc = transitionComplex.filterComplex;
151
- if (speedRampFilter) {
153
+ // Replace default stream refs when upstream filters (speed ramp, camera moves) change the labels
154
+ const hasUpstreamVideo = videoSource !== '0:v';
155
+ const hasUpstreamAudio = audioSource !== '1:a';
156
+ if (hasUpstreamVideo) {
152
157
  fc = fc.replace('[0:v]', `[${videoSource}]`);
153
- if (audioSource && transitionComplex.audioOutput) {
154
- fc = fc.replace('[1:a]', `[${audioSource}]`);
155
- }
158
+ }
159
+ if (hasUpstreamAudio && transitionComplex.audioOutput) {
160
+ fc = fc.replace('[1:a]', `[${audioSource}]`);
156
161
  }
157
162
  if (vFilters.length > 0) {
158
163
  // Prepend vFilters to the video input before split
159
- const inputRef = speedRampFilter ? `[${videoSource}]` : '[0:v]';
164
+ const inputRef = hasUpstreamVideo ? `[${videoSource}]` : '[0:v]';
160
165
  fc = fc.replace(inputRef + 'split=', `${inputRef}${vFilters.join(',')},split=`);
161
166
  }
162
167
  filterParts.push(fc);
@@ -174,12 +179,37 @@ export async function exportVideo(options) {
174
179
  args.push('-vf', vFilters.join(','));
175
180
  }
176
181
  }
182
+ // Post-export camera moves (zoom/pan) — applied AFTER transitions so that
183
+ // the time variable `t` is continuous across the concatenated output.
184
+ const cameraMoves = options.cameraMoves;
185
+ if (cameraMoves && cameraMoves.length > 0) {
186
+ const frameW = (outputWidth ?? 1920) * deviceScaleFactor;
187
+ const frameH = (outputHeight ?? 1080) * deviceScaleFactor;
188
+ const sourceFps = getVideoFrameRate(videoPath);
189
+ const camFilter = buildCameraMoveFilter(cameraMoves, frameW, frameH, `[${videoSource}]`, sourceFps);
190
+ if (camFilter) {
191
+ filterParts.push(camFilter.filter);
192
+ videoSource = camFilter.outputLabel;
193
+ }
194
+ }
195
+ // Audio loudnorm — must be added before filter_complex is finalized
196
+ let useLoudnormSimple = false;
197
+ if (hasAudio && options.loudnorm) {
198
+ if (filterParts.length > 0) {
199
+ // Append loudnorm inside the filter_complex audio chain
200
+ filterParts.push(`[${audioSource}]loudnorm=I=-16:TP=-1.5:LRA=11[anorm]`);
201
+ audioSource = 'anorm';
202
+ }
203
+ else {
204
+ useLoudnormSimple = true;
205
+ }
206
+ }
177
207
  if (filterParts.length > 0) {
178
208
  args.push('-filter_complex', filterParts.join(';\n'));
179
209
  }
180
210
  args.push('-c:v', 'libx264', '-preset', preset, '-crf', String(crf));
181
211
  if (hasAudio) {
182
- if (options.loudnorm) {
212
+ if (useLoudnormSimple) {
183
213
  args.push('-af', 'loudnorm=I=-16:TP=-1.5:LRA=11');
184
214
  }
185
215
  args.push('-c:a', 'aac', '-b:a', '192k');
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC;AAI5D,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,eAAgC,IAE5E,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,EACnD,UAAU;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,mBAU9B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,MAAM,GAAG;IAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAChH,IAAI,EAAE,MAAM,EACZ,KAAK,SAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAgBD,eAAO,MAAM,IAAI;eAA4B,iBAAiB;wGAe5D,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC;AAI5D,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,eAAgC,IAE5E,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,EACnD,UAAU;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,mBAU9B;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,MAAM,GAAG;IAAE,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAChH,IAAI,EAAE,MAAM,EACZ,KAAK,SAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAKf;AAgBD,eAAO,MAAM,IAAI;eAA4B,iBAAiB;wGA8C5D,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/dist/fixtures.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { test as base, expect } from '@playwright/test';
2
2
  import { readFileSync, existsSync } from 'node:fs';
3
+ import { basename } from 'node:path';
3
4
  import { NarrationTimeline } from './narration.js';
5
+ import { resetManifestCache } from './overlays/manifest-loader.js';
4
6
  const defaultFactory = () => new NarrationTimeline();
5
7
  export function createNarrationFixture(factory = defaultFactory) {
6
8
  return async (_context, use, testInfo) => {
@@ -35,6 +37,28 @@ function loadSceneDurations() {
35
37
  }
36
38
  export const test = base.extend({
37
39
  narration: async ({}, use, testInfo) => {
40
+ // Auto-discover overlay manifest when running from VS Code or standalone
41
+ // Playwright (without argo pipeline setting ARGO_OVERLAYS_PATH).
42
+ // Uses the test file basename (e.g., showcase.demo.ts → showcase) rather
43
+ // than testInfo.title, since titles can be anything ("Showcase demo", etc.)
44
+ const pipelineOverlayPath = process.env.ARGO_OVERLAYS_PATH;
45
+ let autoDiscovered = false;
46
+ if (!pipelineOverlayPath) {
47
+ const fileBase = basename(testInfo.file).replace(/\.demo\.ts$/, '');
48
+ const candidates = [
49
+ `demos/${fileBase}.scenes.json`,
50
+ `${fileBase}.scenes.json`,
51
+ ];
52
+ for (const candidate of candidates) {
53
+ if (existsSync(candidate)) {
54
+ process.env.ARGO_OVERLAYS_PATH = candidate;
55
+ autoDiscovered = true;
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ // Reset manifest cache so each test gets a fresh read
61
+ resetManifestCache();
38
62
  const durations = loadSceneDurations();
39
63
  const timeline = new NarrationTimeline(durations);
40
64
  timeline.start();
@@ -42,6 +66,11 @@ export const test = base.extend({
42
66
  await use(timeline);
43
67
  }
44
68
  finally {
69
+ // Restore original env to avoid leaking across tests in the same worker
70
+ if (autoDiscovered) {
71
+ delete process.env.ARGO_OVERLAYS_PATH;
72
+ resetManifestCache();
73
+ }
45
74
  const argoDir = process.env.ARGO_OUTPUT_DIR;
46
75
  const outputPath = argoDir
47
76
  ? `${argoDir}/.timing.json`
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,MAAM,cAAc,GAAoB,GAAG,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;AAEtE,MAAM,UAAU,sBAAsB,CAAC,UAA2B,cAAc;IAC9E,OAAO,KAAK,EACV,QAAiC,EACjC,GAAmD,EACnD,QAA2B,EAC3B,EAAE;QACF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,KAAK,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAU,EACV,iBAAgH,EAChH,IAAY,EACZ,KAAK,GAAG,EAAE;IAEV,MAAM,OAAO,GAAG,OAAO,iBAAiB,KAAK,QAAQ;QACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QACjC,CAAC,CAAC,iBAAiB,CAAC;IACtB,MAAM,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,iDAAiD,aAAa,KAAM,GAAa,CAAC,OAAO,IAAI;YAC7F,6FAA6F,CAC9F,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAmC;IAChE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAC5C,MAAM,UAAU,GAAG,OAAO;gBACxB,CAAC,CAAC,GAAG,OAAO,eAAe;gBAC3B,CAAC,CAAC,aAAa,QAAQ,CAAC,KAAK,OAAO,CAAC;YACvC,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { defineConfig, loadConfig, demosProject, type ArgoConfig, type UserConfig, type TTSConfig, type TTSEngine, type VideoConfig, type ExportConfig, type TransitionType, type TransitionConfig, type SpeedRampConfig, } from './config.js';
1
+ export { defineConfig, loadConfig, demosProject, type ArgoConfig, type UserConfig, type TTSConfig, type TTSEngine, type VideoConfig, type ExportConfig, type TransitionType, type TransitionConfig, type SpeedRampConfig, type VariantConfig, type AudioConfig, } from './config.js';
2
2
  export { test, expect, demoType } from './fixtures.js';
3
3
  export { NarrationTimeline, type SceneDurationOptions } from './narration.js';
4
4
  export { showCaption, hideCaption, withCaption } from './captions.js';
@@ -16,6 +16,7 @@ export { runDoctor, formatDoctorResults } from './doctor.js';
16
16
  export { runPipeline, runBatchPipeline, discoverDemos, type PipelineOptions } from './pipeline.js';
17
17
  export { buildTransitionFilters } from './transitions.js';
18
18
  export { computeSegments, applySpeedRamp } from './speed-ramp.js';
19
+ export { buildCameraMoveFilter, shiftCameraMoves, scaleCameraMoves, type CameraMove } from './camera-move.js';
19
20
  export { runFfmpegWithProgress } from './progress.js';
20
21
  export { startDashboardServer } from './dashboard.js';
21
22
  export { extractClip, type ClipOptions } from './clip.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,WAAW,EACX,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,WAAW,EACX,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -32,6 +32,8 @@ export { runPipeline, runBatchPipeline, discoverDemos } from './pipeline.js';
32
32
  export { buildTransitionFilters } from './transitions.js';
33
33
  // Speed Ramp
34
34
  export { computeSegments, applySpeedRamp } from './speed-ramp.js';
35
+ // Camera Moves
36
+ export { buildCameraMoveFilter, shiftCameraMoves, scaleCameraMoves } from './camera-move.js';
35
37
  // Progress
36
38
  export { runFfmpegWithProgress } from './progress.js';
37
39
  // Dashboard
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,SAAS;AACT,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,GAUb,MAAM,aAAa,CAAC;AAErB,WAAW;AACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAA6B,MAAM,gBAAgB,CAAC;AAE9E,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtE,WAAW;AACX,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,GAMZ,MAAM,qBAAqB,CAAC;AAE7B,UAAU;AACV,OAAO,EAAE,YAAY,EAAwB,MAAM,cAAc,CAAC;AAElE,SAAS;AACT,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAEpF,WAAW;AACX,OAAO,EAAE,YAAY,EAA6C,MAAM,eAAe,CAAC;AAExF,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEnG,cAAc;AACd,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,WAAW;AACX,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO;AACP,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAEzE,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,SAAS;AACT,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,GAYb,MAAM,aAAa,CAAC;AAErB,WAAW;AACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAA6B,MAAM,gBAAgB,CAAC;AAE9E,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtE,WAAW;AACX,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,GAMZ,MAAM,qBAAqB,CAAC;AAE7B,UAAU;AACV,OAAO,EAAE,YAAY,EAAwB,MAAM,cAAc,CAAC;AAElE,SAAS;AACT,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAEpF,WAAW;AACX,OAAO,EAAE,YAAY,EAA6C,MAAM,eAAe,CAAC;AAExF,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE7D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAEnG,cAAc;AACd,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,eAAe;AACf,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AAE9G,WAAW;AACX,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO;AACP,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,eAAe;AACf,OAAO,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAEzE,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
package/dist/media.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare function getVideoDurationMs(videoPath: string): number;
2
+ export declare function getVideoFrameRate(videoPath: string): number;
2
3
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB5D"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwB5D;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B3D"}
package/dist/media.js CHANGED
@@ -15,4 +15,24 @@ export function getVideoDurationMs(videoPath) {
15
15
  }
16
16
  return durationMs;
17
17
  }
18
+ export function getVideoFrameRate(videoPath) {
19
+ let raw;
20
+ try {
21
+ raw = execFileSync('ffprobe', ['-v', 'error', '-select_streams', 'v:0', '-show_entries', 'stream=avg_frame_rate', '-of', 'csv=p=0', videoPath], { encoding: 'utf-8' }).trim();
22
+ }
23
+ catch (err) {
24
+ throw new Error(`Failed to get video frame rate from ${videoPath}. ` +
25
+ `Ensure ffprobe is installed (it usually comes with ffmpeg). ` +
26
+ `Original error: ${err.message}`);
27
+ }
28
+ if (!raw || raw === '0/0') {
29
+ throw new Error(`ffprobe returned invalid frame rate "${raw}" for ${videoPath}.`);
30
+ }
31
+ const match = raw.match(/^(\d+(?:\.\d+)?)\/(\d+(?:\.\d+)?)$/);
32
+ const fps = match ? Number(match[1]) / Number(match[2]) : Number(raw);
33
+ if (!Number.isFinite(fps) || fps <= 0) {
34
+ throw new Error(`ffprobe returned invalid frame rate "${raw}" for ${videoPath}.`);
35
+ }
36
+ return fps;
37
+ }
18
38
  //# sourceMappingURL=media.js.map
package/dist/media.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAChB,SAAS,EACT,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAChF,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,IAAI;YAClD,8DAA8D;YAC9D,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,SAAS,SAAS,kCAAkC,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAChB,SAAS,EACT,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAChF,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qCAAqC,SAAS,IAAI;YAClD,8DAA8D;YAC9D,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,SAAS,SAAS,kCAAkC,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAChB,SAAS,EACT,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAChH,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,IAAI;YACpD,8DAA8D;YAC9D,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,SAAS,SAAS,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,SAAS,SAAS,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CameraMove } from './camera-move.js';
1
2
  export interface SceneDurationOptions {
2
3
  leadInMs?: number;
3
4
  leadOutMs?: number;
@@ -11,9 +12,18 @@ export declare class NarrationTimeline {
11
12
  private startTime;
12
13
  private sceneDurations;
13
14
  private cachedPlacements;
15
+ private _cameraMoves;
14
16
  constructor(sceneDurations?: Record<string, number>);
15
17
  start(): void;
16
18
  mark(scene: string): void;
19
+ /**
20
+ * Record a camera move (zoom/pan) to be applied as an ffmpeg post-export effect.
21
+ * Call this during recording with the target element's bounding box.
22
+ */
23
+ recordCameraMove(move: Omit<CameraMove, 'startMs'> & {
24
+ startMs?: number;
25
+ }): void;
26
+ getCameraMoves(): CameraMove[];
17
27
  getTimings(): Record<string, number>;
18
28
  flush(outputPath: string): Promise<void>;
19
29
  private getBaseDuration;
@@ -1 +1 @@
1
- {"version":3,"file":"narration.d.ts","sourceRoot":"","sources":["../src/narration.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAA4B;gBAExC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMnD,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI9B,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,aAAa;IAerB;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;CAmBnE"}
1
+ {"version":3,"file":"narration.d.ts","sourceRoot":"","sources":["../src/narration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAoB;gBAE5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMnD,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzB;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQhF,cAAc,IAAI,UAAU,EAAE;IAI9B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI9B,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,aAAa;IAerB;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;CAmBnE"}
package/dist/narration.js CHANGED
@@ -6,6 +6,7 @@ export class NarrationTimeline {
6
6
  startTime = null;
7
7
  sceneDurations = {};
8
8
  cachedPlacements = null;
9
+ _cameraMoves = [];
9
10
  constructor(sceneDurations) {
10
11
  if (sceneDurations) {
11
12
  this.sceneDurations = sceneDurations;
@@ -26,12 +27,31 @@ export class NarrationTimeline {
26
27
  this.timings.set(scene, Date.now() - this.startTime);
27
28
  this.cachedPlacements = null;
28
29
  }
30
+ /**
31
+ * Record a camera move (zoom/pan) to be applied as an ffmpeg post-export effect.
32
+ * Call this during recording with the target element's bounding box.
33
+ */
34
+ recordCameraMove(move) {
35
+ if (this.startTime === null) {
36
+ throw new Error('Cannot record camera move before start() has been called');
37
+ }
38
+ const startMs = move.startMs ?? (Date.now() - this.startTime);
39
+ this._cameraMoves.push({ ...move, startMs });
40
+ }
41
+ getCameraMoves() {
42
+ return [...this._cameraMoves];
43
+ }
29
44
  getTimings() {
30
45
  return Object.fromEntries(this.timings);
31
46
  }
32
47
  async flush(outputPath) {
33
48
  await mkdir(dirname(outputPath), { recursive: true });
34
49
  await writeFile(outputPath, JSON.stringify(this.getTimings(), null, 2), 'utf-8');
50
+ // Write camera moves to a sidecar file if any were recorded
51
+ if (this._cameraMoves.length > 0) {
52
+ const cameraMovesPath = outputPath.replace(/\.json$/, '') + '.camera-moves.json';
53
+ await writeFile(cameraMovesPath, JSON.stringify(this._cameraMoves, null, 2), 'utf-8');
54
+ }
35
55
  }
36
56
  getBaseDuration(scene, options) {
37
57
  const clipMs = this.sceneDurations[scene];
@@ -1 +1 @@
1
- {"version":3,"file":"narration.js","sourceRoot":"","sources":["../src/narration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"narration.js","sourceRoot":"","sources":["../src/narration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAU9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CASxD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,CAAC,CA+MjB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAU9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CASxD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,EACxG,YAAY,CAAC,EAAE,eAAe,GAC7B,OAAO,CAAC,MAAM,CAAC,CA+VjB"}
package/dist/pipeline.js CHANGED
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
1
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync, existsSync } from 'node:fs';
2
2
  import { join, basename } from 'node:path';
3
3
  import { generateClips } from './tts/generate.js';
4
4
  import { record } from './record.js';
@@ -9,6 +9,7 @@ import { generateSrt, generateVtt } from './subtitles.js';
9
9
  import { generateChapterMetadata } from './chapters.js';
10
10
  import { buildSceneReport, formatSceneReport } from './report.js';
11
11
  import { applySpeedRampToTimeline } from './speed-ramp.js';
12
+ import { shiftCameraMoves, scaleCameraMoves } from './camera-move.js';
12
13
  import { getVideoDurationMs } from './media.js';
13
14
  import { buildPlacementsFromTimingAndDurations, buildSceneTexts, computeHeadTrimMs, readScenesManifest, shiftPlacements, } from './timeline.js';
14
15
  /**
@@ -103,6 +104,17 @@ export async function runPipeline(demoName, config, pipelineOpts) {
103
104
  throw new Error(`Failed to parse timing file at ${timingPath}: ${err.message}. ` +
104
105
  `The file may be corrupt from an interrupted recording. Try re-running: argo record ${demoName}`);
105
106
  }
107
+ // Read camera moves if recorded by zoomTo with narration option
108
+ let cameraMoves = [];
109
+ const cameraMovesPath = join(argoDir, '.timing.camera-moves.json');
110
+ try {
111
+ if (existsSync(cameraMovesPath)) {
112
+ cameraMoves = JSON.parse(readFileSync(cameraMovesPath, 'utf-8'));
113
+ }
114
+ }
115
+ catch {
116
+ // Camera moves are optional — don't fail the pipeline
117
+ }
106
118
  // Use actual video duration for alignment
107
119
  const videoPath = join(argoDir, 'video.webm');
108
120
  const totalDurationMs = getVideoDurationMs(videoPath);
@@ -190,6 +202,12 @@ export async function runPipeline(demoName, config, pipelineOpts) {
190
202
  exportOptions.tailPadMs = tailPadMs;
191
203
  if (headTrimMs > 0)
192
204
  exportOptions.headTrimMs = headTrimMs;
205
+ // Apply camera moves — shift for head trim, scale for deviceScaleFactor
206
+ if (cameraMoves.length > 0) {
207
+ let moves = shiftCameraMoves(cameraMoves, headTrimMs);
208
+ moves = scaleCameraMoves(moves, config.video.deviceScaleFactor ?? 1);
209
+ exportOptions.cameraMoves = moves;
210
+ }
193
211
  const outputPath = await exportVideo(exportOptions);
194
212
  // Scene report
195
213
  const report = buildSceneReport(demoName, finalPlacements, overflowMs, finalDurationMs, outputPath);
@@ -230,6 +248,116 @@ export async function runPipeline(demoName, config, pipelineOpts) {
230
248
  };
231
249
  writeFileSync(join(config.outputDir, `${demoName}.meta.json`), JSON.stringify(pipelineMeta, null, 2) + '\n', 'utf-8');
232
250
  console.log(`\n✓ That's a wrap! Video saved to: ${outputPath}`);
251
+ // Viewport-native variants — re-record at different viewports
252
+ const variants = config.export.variants;
253
+ if (variants && variants.length > 0) {
254
+ for (const variant of variants) {
255
+ console.log(`\n${'─'.repeat(50)}`);
256
+ console.log(` Variant: ${variant.name} (${variant.video.width}×${variant.video.height})`);
257
+ console.log(`${'─'.repeat(50)}\n`);
258
+ const variantArgoDir = join('.argo', `${demoName}-${variant.name}`);
259
+ mkdirSync(variantArgoDir, { recursive: true });
260
+ // Copy scene durations (TTS is shared)
261
+ writeFileSync(join(variantArgoDir, '.scene-durations.json'), JSON.stringify(sceneDurations, null, 2), 'utf-8');
262
+ // Record at variant viewport
263
+ const variantSubdir = `${demoName}-${variant.name}`;
264
+ console.log('★ Rolling camera...');
265
+ const variantRecord = await record(demoName, {
266
+ demosDir: config.demosDir,
267
+ baseURL: config.baseURL,
268
+ video: { width: variant.video.width, height: variant.video.height },
269
+ browser: config.video.browser,
270
+ deviceScaleFactor: config.video.deviceScaleFactor,
271
+ isMobile: config.video.isMobile,
272
+ hasTouch: config.video.hasTouch,
273
+ contextOptions: config.video.contextOptions,
274
+ autoBackground: config.overlays.autoBackground,
275
+ defaultPlacement: config.overlays.defaultPlacement,
276
+ headed: pipelineOpts?.headed,
277
+ argoSubdir: variantSubdir,
278
+ });
279
+ // Align with shared TTS clips
280
+ const variantTiming = JSON.parse(readFileSync(variantRecord.timingPath, 'utf-8'));
281
+ const variantVideoPath = join('.argo', variantSubdir, 'video.webm');
282
+ const variantDurationMs = getVideoDurationMs(variantVideoPath);
283
+ const variantHeadTrimMs = computeHeadTrimMs(variantTiming);
284
+ let variantPlacements = [];
285
+ let variantShiftedDurationMs = variantDurationMs;
286
+ if (!isSilent) {
287
+ console.log('★ Mixing the soundtrack...');
288
+ const clips = clipResults.map((cr) => {
289
+ const wavBuf = readFileSync(cr.clipPath);
290
+ const header = parseWavHeader(wavBuf);
291
+ const sampleCount = header.dataSize / 4;
292
+ const samples = new Float32Array(sampleCount);
293
+ for (let i = 0; i < sampleCount && header.dataOffset + i * 4 + 3 < wavBuf.length; i++) {
294
+ samples[i] = wavBuf.readFloatLE(header.dataOffset + i * 4);
295
+ }
296
+ return { scene: cr.scene, durationMs: header.durationMs, samples };
297
+ });
298
+ const variantAligned = alignClips(variantTiming, clips, variantDurationMs);
299
+ const variantAlignedPath = join('.argo', variantSubdir, 'narration-aligned.wav');
300
+ writeFileSync(variantAlignedPath, createWavBuffer(variantAligned.samples, 24000));
301
+ variantPlacements = variantAligned.placements.map(p => ({
302
+ scene: p.scene,
303
+ startMs: Math.max(0, p.startMs - variantHeadTrimMs),
304
+ endMs: Math.max(0, p.endMs - variantHeadTrimMs),
305
+ }));
306
+ variantShiftedDurationMs = variantDurationMs - variantHeadTrimMs;
307
+ }
308
+ // Export variant
309
+ console.log('★ Cutting the final take...');
310
+ const variantChapterPath = join('.argo', variantSubdir, 'chapters.txt');
311
+ writeFileSync(variantChapterPath, generateChapterMetadata(variantPlacements, variantShiftedDurationMs), 'utf-8');
312
+ // Subtitles — read from manifest file directly for text field
313
+ const variantSceneTexts = {};
314
+ try {
315
+ const rawManifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
316
+ for (const entry of rawManifest) {
317
+ if (entry.scene && entry.text)
318
+ variantSceneTexts[entry.scene] = entry.text;
319
+ }
320
+ }
321
+ catch { /* ignore */ }
322
+ mkdirSync(config.outputDir, { recursive: true });
323
+ try {
324
+ writeFileSync(join(config.outputDir, `${demoName}.${variant.name}.srt`), generateSrt(variantPlacements, variantSceneTexts), 'utf-8');
325
+ writeFileSync(join(config.outputDir, `${demoName}.${variant.name}.vtt`), generateVtt(variantPlacements, variantSceneTexts), 'utf-8');
326
+ }
327
+ catch { /* subtitles are best-effort */ }
328
+ // Read camera moves for this variant if recorded
329
+ let variantCameraMoves = [];
330
+ const variantCameraMovesPath = join('.argo', variantSubdir, '.timing.camera-moves.json');
331
+ try {
332
+ if (existsSync(variantCameraMovesPath)) {
333
+ variantCameraMoves = JSON.parse(readFileSync(variantCameraMovesPath, 'utf-8'));
334
+ }
335
+ }
336
+ catch { /* optional */ }
337
+ if (variantCameraMoves.length > 0) {
338
+ variantCameraMoves = shiftCameraMoves(variantCameraMoves, variantHeadTrimMs);
339
+ variantCameraMoves = scaleCameraMoves(variantCameraMoves, config.video.deviceScaleFactor ?? 1);
340
+ }
341
+ const variantOutputPath = await exportVideo({
342
+ demoName: variantSubdir,
343
+ argoDir: '.argo',
344
+ outputDir: config.outputDir,
345
+ preset: config.export.preset,
346
+ crf: config.export.crf,
347
+ fps: config.video.fps,
348
+ outputWidth: variant.video.width,
349
+ outputHeight: variant.video.height,
350
+ chapterMetadataPath: variantChapterPath,
351
+ transition: config.export.transition,
352
+ placements: variantPlacements,
353
+ totalDurationMs: variantShiftedDurationMs,
354
+ headTrimMs: variantHeadTrimMs > 0 ? variantHeadTrimMs : undefined,
355
+ loudnorm: config.export.audio?.loudnorm,
356
+ cameraMoves: variantCameraMoves.length > 0 ? variantCameraMoves : undefined,
357
+ });
358
+ console.log(`✓ Variant saved to: ${variantOutputPath}`);
359
+ }
360
+ }
233
361
  return outputPath;
234
362
  }
235
363
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAmC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,qCAAqC,EACrC,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAMvB;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,QAAQ,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;aACtD,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAwG,EACxG,YAA8B;IAE9B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,QAAQ,2BAA2B,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,MAAwG,EACxG,YAA8B;IAE9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,WAAW,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;QACtC,YAAY,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,cAAc;QAC1D,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;QACzB,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;KAC7E,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1C,wEAAwE;IACxE,MAAM,cAAc,GAA2B,EAAE,CAAC;IAClD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3C,CAAC;IACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAClE,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpF,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QACjE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;QAC7B,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB;QACjD,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC/B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC/B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;QAC3C,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;QAC9C,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB;QAClD,MAAM,EAAE,YAAY,EAAE,MAAM;KAC7B,CAAC,CAAC;IAEH,kCAAkC;IAClC,IAAI,MAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,KAAM,GAAa,CAAC,OAAO,IAAI;YAC3E,sFAAsF,QAAQ,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEtD,IAAI,SAA6B,CAAC;IAClC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,iBAAiB,GAA6D,EAAE,CAAC;IACrF,IAAI,iBAAiB,GAAG,eAAe,CAAC;IAExC,qEAAqE;IACrE,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAE1C,6BAA6B;QAC7B,MAAM,KAAK,GAAe,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtF,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,UAAU,CAAC,CAAC;QAClE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACV,0BAA0B,OAAO,CAAC,UAAU,yBAAyB;gBACrE,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,qCAAqC,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;QACrG,iBAAiB,GAAG,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC/D,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,iBAAiB,GAAG,eAAe,GAAG,UAAU,CAAC;QACjD,iBAAiB,GAAG,eAAe,CACjC,qCAAqC,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC,EAC9E,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,wBAAwB,CAC5C,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;IACF,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC;IACjD,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;IAEtD,0DAA0D;IAC1D,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,qCAAqC;IACrC,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,cAAc,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,eAAe,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;QAErE,mDAAmD;QACnD,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrD,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACvE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IAED,uCAAuC;IACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,uBAAuB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAClF,aAAa,CAAC,mBAAmB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAE7D,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAsC;QACvD,QAAQ;QACR,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;QAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;QACtB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;QACrB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;QAC/B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QACjC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB;QACjD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa;QAC1C,mBAAmB;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;QACpC,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,eAAe;QAChC,iBAAiB,EAAE,aAAa,CAAC,QAAQ;QACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ;KACxC,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;IACjE,IAAI,UAAU,GAAG,CAAC;QAAE,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;IAE1D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IAEpD,eAAe;IACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACpG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,2EAA2E;IAC3E,MAAM,QAAQ,GAA6D,CAAC,GAAG,EAAE;QAC/E,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACtF,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;YACzB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;YACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;YAC7B,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC;SACvD;QACD,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;QAC7D,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY;YAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY;YAC7C,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SAC7C,CAAC,CAAC;QACH,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;YACtB,UAAU,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACpD;QACD,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtH,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;IAChE,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/preview.d.ts CHANGED
@@ -18,6 +18,7 @@ export interface PreviewExportConfig {
18
18
  formats?: Array<'1:1' | '9:16' | 'gif'>;
19
19
  transition?: import('./config.js').TransitionConfig;
20
20
  speedRamp?: import('./config.js').SpeedRampConfig;
21
+ loudnorm?: boolean;
21
22
  }
22
23
  export interface PreviewOptions {
23
24
  demoName: string;