@argo-video/cli 0.9.1 → 0.10.1
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/README.md +34 -33
- package/dist/camera.d.ts +12 -4
- package/dist/camera.d.ts.map +1 -1
- package/dist/camera.js +98 -20
- package/dist/camera.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +26 -1
- package/dist/cli.js.map +1 -1
- package/dist/cursor.d.ts +24 -0
- package/dist/cursor.d.ts.map +1 -0
- package/dist/cursor.js +110 -0
- package/dist/cursor.js.map +1 -0
- package/dist/export.d.ts +2 -0
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +10 -4
- package/dist/export.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +29 -47
- package/dist/init.js.map +1 -1
- package/dist/overlays/index.d.ts +7 -2
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/overlays/index.js +49 -4
- package/dist/overlays/index.js.map +1 -1
- package/dist/overlays/manifest-loader.d.ts +4 -0
- package/dist/overlays/manifest-loader.d.ts.map +1 -0
- package/dist/overlays/manifest-loader.js +22 -0
- package/dist/overlays/manifest-loader.js.map +1 -0
- package/dist/overlays/manifest.d.ts.map +1 -1
- package/dist/overlays/manifest.js +4 -19
- package/dist/overlays/manifest.js.map +1 -1
- package/dist/overlays/types.d.ts +46 -0
- package/dist/overlays/types.d.ts.map +1 -1
- package/dist/overlays/types.js +6 -0
- package/dist/overlays/types.js.map +1 -1
- package/dist/parse-playwright.d.ts +15 -0
- package/dist/parse-playwright.d.ts.map +1 -1
- package/dist/parse-playwright.js +22 -3
- package/dist/parse-playwright.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +58 -8
- package/dist/pipeline.js.map +1 -1
- package/dist/preview.d.ts +30 -0
- package/dist/preview.d.ts.map +1 -0
- package/dist/preview.js +2524 -0
- package/dist/preview.js.map +1 -0
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +12 -4
- package/dist/record.js.map +1 -1
- package/dist/tts/engine.d.ts +8 -0
- package/dist/tts/engine.d.ts.map +1 -1
- package/dist/tts/engine.js.map +1 -1
- package/dist/tts/engines/elevenlabs.d.ts +2 -1
- package/dist/tts/engines/elevenlabs.d.ts.map +1 -1
- package/dist/tts/engines/elevenlabs.js +3 -0
- package/dist/tts/engines/elevenlabs.js.map +1 -1
- package/dist/tts/engines/gemini.d.ts +2 -1
- package/dist/tts/engines/gemini.d.ts.map +1 -1
- package/dist/tts/engines/gemini.js +3 -0
- package/dist/tts/engines/gemini.js.map +1 -1
- package/dist/tts/engines/kokoro.d.ts +2 -1
- package/dist/tts/engines/kokoro.d.ts.map +1 -1
- package/dist/tts/engines/kokoro.js +3 -0
- package/dist/tts/engines/kokoro.js.map +1 -1
- package/dist/tts/engines/mlx-audio.d.ts +2 -1
- package/dist/tts/engines/mlx-audio.d.ts.map +1 -1
- package/dist/tts/engines/mlx-audio.js +6 -0
- package/dist/tts/engines/mlx-audio.js.map +1 -1
- package/dist/tts/engines/openai.d.ts +7 -2
- package/dist/tts/engines/openai.d.ts.map +1 -1
- package/dist/tts/engines/openai.js +13 -2
- package/dist/tts/engines/openai.js.map +1 -1
- package/dist/tts/engines/sarvam.d.ts +2 -1
- package/dist/tts/engines/sarvam.d.ts.map +1 -1
- package/dist/tts/engines/sarvam.js +3 -0
- package/dist/tts/engines/sarvam.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +36 -54
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
- package/scripts/setup-mlx-audio.sh +1 -1
- package/scripts/voice-clone-preview.sh +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
**Turn Playwright demo scripts into polished product demo videos with AI voiceover.**
|
|
17
17
|
|
|
18
|
-
Write a demo script with Playwright. Add a
|
|
18
|
+
Write a demo script with Playwright. Add a scenes manifest. Run one command. Get an MP4 with overlays and narration.
|
|
19
19
|
|
|
20
20
|
## Showcase
|
|
21
21
|
|
|
@@ -35,7 +35,7 @@ https://gist.github.com/user-attachments/assets/ba009e90-0310-454b-833e-e0d71d4d
|
|
|
35
35
|
clips scene marks audio
|
|
36
36
|
│ │
|
|
37
37
|
▼ ▼
|
|
38
|
-
.
|
|
38
|
+
.scenes.json → narration-aligned.wav → final.mp4
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
## Quick start
|
|
@@ -56,13 +56,13 @@ npx argo pipeline example
|
|
|
56
56
|
|
|
57
57
|
# Or run steps individually
|
|
58
58
|
npx argo record example
|
|
59
|
-
npx argo tts generate demos/example.
|
|
59
|
+
npx argo tts generate demos/example.scenes.json
|
|
60
60
|
npx argo export example
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
## Writing a demo
|
|
64
64
|
|
|
65
|
-
A demo is two files: a **script** and a **
|
|
65
|
+
A demo is two files: a **script** and a **scenes manifest**.
|
|
66
66
|
|
|
67
67
|
### Demo script (`demos/my-feature.demo.ts`)
|
|
68
68
|
|
|
@@ -74,46 +74,43 @@ test('my-feature', async ({ page, narration }) => {
|
|
|
74
74
|
await page.goto('/');
|
|
75
75
|
|
|
76
76
|
narration.mark('intro');
|
|
77
|
-
await showOverlay(page, 'intro',
|
|
78
|
-
type: 'lower-third',
|
|
79
|
-
text: 'Welcome to our product',
|
|
80
|
-
placement: 'bottom-center',
|
|
81
|
-
motion: 'fade-in',
|
|
82
|
-
autoBackground: true,
|
|
83
|
-
}, narration.durationFor('intro'));
|
|
77
|
+
await showOverlay(page, 'intro', narration.durationFor('intro'));
|
|
84
78
|
|
|
85
79
|
narration.mark('action');
|
|
86
|
-
await withOverlay(page, 'action', {
|
|
87
|
-
type: 'headline-card',
|
|
88
|
-
title: 'Watch this',
|
|
89
|
-
placement: 'top-right',
|
|
90
|
-
motion: 'slide-in',
|
|
91
|
-
}, async () => {
|
|
80
|
+
await withOverlay(page, 'action', async () => {
|
|
92
81
|
await page.click('#get-started');
|
|
93
82
|
await page.waitForTimeout(narration.durationFor('action'));
|
|
94
83
|
});
|
|
95
84
|
|
|
96
85
|
narration.mark('done');
|
|
97
|
-
await showOverlay(page, 'done',
|
|
98
|
-
type: 'callout',
|
|
99
|
-
text: "That's it!",
|
|
100
|
-
placement: 'top-left',
|
|
101
|
-
motion: 'fade-in',
|
|
102
|
-
}, narration.durationFor('done'));
|
|
86
|
+
await showOverlay(page, 'done', narration.durationFor('done'));
|
|
103
87
|
});
|
|
104
88
|
```
|
|
105
89
|
|
|
106
|
-
###
|
|
90
|
+
### Scenes manifest (`demos/my-feature.scenes.json`)
|
|
107
91
|
|
|
108
92
|
```json
|
|
109
93
|
[
|
|
110
|
-
{
|
|
111
|
-
|
|
112
|
-
|
|
94
|
+
{
|
|
95
|
+
"scene": "intro",
|
|
96
|
+
"text": "Welcome to our product — let me show you around.",
|
|
97
|
+
"overlay": { "type": "lower-third", "text": "Welcome to our product", "placement": "bottom-center", "motion": "fade-in", "autoBackground": true }
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"scene": "action",
|
|
101
|
+
"text": "Just click get started and you're off.",
|
|
102
|
+
"overlay": { "type": "headline-card", "title": "Watch this", "placement": "top-right", "motion": "slide-in" }
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"scene": "done",
|
|
106
|
+
"text": "And that's all there is to it.",
|
|
107
|
+
"voice": "af_heart",
|
|
108
|
+
"overlay": { "type": "callout", "text": "That's it!", "placement": "top-left", "motion": "fade-in" }
|
|
109
|
+
}
|
|
113
110
|
]
|
|
114
111
|
```
|
|
115
112
|
|
|
116
|
-
Each `scene` in the manifest maps to a `narration.mark()` call in the script. Argo records the timestamp of each mark, generates TTS clips, and aligns them to produce the final narrated video.
|
|
113
|
+
Each `scene` in the manifest maps to a `narration.mark()` call in the script. The `text` field is spoken narration; the optional `overlay` sub-object defines what appears on screen. Argo records the timestamp of each mark, generates TTS clips, and aligns them to produce the final narrated video.
|
|
117
114
|
|
|
118
115
|
## Configuration
|
|
119
116
|
|
|
@@ -181,6 +178,7 @@ argo tts generate <manifest> Generate TTS clips from manifest
|
|
|
181
178
|
argo export <demo> Merge video + audio to MP4
|
|
182
179
|
argo pipeline <demo> Run all steps end-to-end
|
|
183
180
|
argo validate <demo> Check scene name consistency (no TTS/recording)
|
|
181
|
+
argo preview <demo> Browser-based editor for voiceover, overlays, timing
|
|
184
182
|
argo doctor Check environment (ffmpeg, Playwright, config)
|
|
185
183
|
argo --config <path> <command> Use a custom config file
|
|
186
184
|
|
|
@@ -188,6 +186,7 @@ Options:
|
|
|
188
186
|
--browser <engine> chromium | webkit | firefox (overrides config)
|
|
189
187
|
--base-url <url> Override baseURL from config
|
|
190
188
|
--headed Run browser in visible mode
|
|
189
|
+
--port <number> Preview server port (default: auto)
|
|
191
190
|
```
|
|
192
191
|
|
|
193
192
|
## API
|
|
@@ -208,8 +207,10 @@ import { defineConfig, demosProject, engines } from '@argo-video/cli';
|
|
|
208
207
|
| `test` | Playwright `test` with `narration` fixture injected |
|
|
209
208
|
| `expect` | Re-exported from Playwright |
|
|
210
209
|
| `demoType(page, selectorOrLocator, text, delay?)` | Type character-by-character — accepts CSS selector or Playwright Locator |
|
|
211
|
-
| `showOverlay(page, scene,
|
|
212
|
-
| `
|
|
210
|
+
| `showOverlay(page, scene, durationMs)` | Show overlay from manifest for a fixed duration |
|
|
211
|
+
| `showOverlay(page, scene, cue, durationMs)` | Show overlay with inline cue (backward compat) |
|
|
212
|
+
| `withOverlay(page, scene, action)` | Show overlay from manifest during an async action |
|
|
213
|
+
| `withOverlay(page, scene, cue, action)` | Show overlay with inline cue during action (backward compat) |
|
|
213
214
|
| `hideOverlay(page, zone?)` | Remove overlay from a zone |
|
|
214
215
|
| `showConfetti(page, opts?)` | Non-blocking confetti animation (`spread: 'burst' \| 'rain'`, `wait: true` to block) |
|
|
215
216
|
| `spotlight(page, selector, opts?)` | Dark overlay with hole around target element |
|
|
@@ -240,7 +241,7 @@ choco install ffmpeg # Windows
|
|
|
240
241
|
|
|
241
242
|
## How the pipeline works
|
|
242
243
|
|
|
243
|
-
1. **TTS** — Generates WAV clips from the
|
|
244
|
+
1. **TTS** — Generates WAV clips from the scenes manifest. Kokoro is the default (local, free), but you can swap in OpenAI, ElevenLabs, Gemini, Sarvam, or mlx-audio via `engines.*` factories. Clips are cached by content hash in `.argo/<demo>/clips/`.
|
|
244
245
|
|
|
245
246
|
```js
|
|
246
247
|
import { defineConfig, engines } from '@argo-video/cli';
|
|
@@ -268,7 +269,7 @@ choco install ffmpeg # Windows
|
|
|
268
269
|
bash $(npm root)/@argo-video/cli/scripts/voice-clone-preview.sh \
|
|
269
270
|
--ref-audio assets/ref-voice.wav \
|
|
270
271
|
--ref-text "Transcript of what I said." \
|
|
271
|
-
--voiceover demos/showcase.
|
|
272
|
+
--voiceover demos/showcase.scenes.json --play
|
|
272
273
|
```
|
|
273
274
|
|
|
274
275
|
```js
|
|
@@ -306,7 +307,7 @@ Argo ships as a **Claude Code skill** so LLMs can create demo videos autonomousl
|
|
|
306
307
|
/plugin marketplace add shreyaskarnik/argo
|
|
307
308
|
```
|
|
308
309
|
|
|
309
|
-
The skill teaches Claude how to write demo scripts,
|
|
310
|
+
The skill teaches Claude how to write demo scripts, scenes manifests, overlay cues, and run the pipeline — no manual guidance needed.
|
|
310
311
|
|
|
311
312
|
## License
|
|
312
313
|
|
package/dist/camera.d.ts
CHANGED
|
@@ -21,10 +21,18 @@ export interface ZoomToOptions extends CameraOptions {
|
|
|
21
21
|
/** Zoom level — 1.5 means 150% magnification. Default: 1.5 */
|
|
22
22
|
scale?: number;
|
|
23
23
|
}
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
export type SelectorOrLocator = string | {
|
|
25
|
+
boundingBox: () => Promise<{
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
} | null>;
|
|
31
|
+
};
|
|
32
|
+
export declare function spotlight(page: Page, selectorOrLocator: SelectorOrLocator, opts?: SpotlightOptions): Promise<void>;
|
|
33
|
+
export declare function focusRing(page: Page, selectorOrLocator: SelectorOrLocator, opts?: FocusRingOptions): Promise<void>;
|
|
34
|
+
export declare function dimAround(page: Page, selectorOrLocator: SelectorOrLocator, opts?: DimAroundOptions): Promise<void>;
|
|
35
|
+
export declare function zoomTo(page: Page, selectorOrLocator: SelectorOrLocator, opts?: ZoomToOptions): Promise<void>;
|
|
28
36
|
export declare function resetCamera(page: Page): Promise<void>;
|
|
29
37
|
export {};
|
|
30
38
|
//# sourceMappingURL=camera.d.ts.map
|
package/dist/camera.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN;IAAE,WAAW,EAAE,MAAM,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CAAE,CAAC;AA+CnG,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Ff;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAqIf;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3D"}
|
package/dist/camera.js
CHANGED
|
@@ -2,6 +2,25 @@ const CAMERA_ATTR = 'data-argo-camera';
|
|
|
2
2
|
const OVERLAY_ID_PREFIX = 'argo-overlay-';
|
|
3
3
|
const CONFETTI_ID = 'argo-confetti';
|
|
4
4
|
const ZOOM_WRAPPER_ID = 'argo-camera-zoom-wrapper';
|
|
5
|
+
async function resolveRect(page, selectorOrLocator) {
|
|
6
|
+
if (typeof selectorOrLocator === 'string') {
|
|
7
|
+
return { selector: selectorOrLocator, rect: null };
|
|
8
|
+
}
|
|
9
|
+
const box = await selectorOrLocator.boundingBox();
|
|
10
|
+
if (!box)
|
|
11
|
+
return { selector: null, rect: null };
|
|
12
|
+
return {
|
|
13
|
+
selector: null,
|
|
14
|
+
rect: {
|
|
15
|
+
left: box.x,
|
|
16
|
+
top: box.y,
|
|
17
|
+
right: box.x + box.width,
|
|
18
|
+
bottom: box.y + box.height,
|
|
19
|
+
width: box.width,
|
|
20
|
+
height: box.height,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
5
24
|
async function runCameraEffect(page, fn, args, totalMs, wait) {
|
|
6
25
|
try {
|
|
7
26
|
await page.evaluate(fn, args);
|
|
@@ -16,18 +35,25 @@ async function runCameraEffect(page, fn, args, totalMs, wait) {
|
|
|
16
35
|
}
|
|
17
36
|
}
|
|
18
37
|
}
|
|
19
|
-
export async function spotlight(page,
|
|
38
|
+
export async function spotlight(page, selectorOrLocator, opts) {
|
|
20
39
|
const duration = opts?.duration ?? 3000;
|
|
21
40
|
const fadeIn = opts?.fadeIn ?? 400;
|
|
22
41
|
const fadeOut = opts?.fadeOut ?? 400;
|
|
23
42
|
const opacity = opts?.opacity ?? 0.7;
|
|
24
43
|
const padding = opts?.padding ?? 12;
|
|
25
44
|
const wait = opts?.wait ?? false;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
45
|
+
const { selector, rect: preRect } = await resolveRect(page, selectorOrLocator);
|
|
46
|
+
await runCameraEffect(page, ({ selector, preRect, duration, fadeIn, fadeOut, opacity, padding, attr }) => {
|
|
47
|
+
const rect = preRect ?? (() => {
|
|
48
|
+
const target = document.querySelector(selector);
|
|
49
|
+
if (!target) {
|
|
50
|
+
console.warn('[argo] camera effect: no element found for selector "' + selector + '"');
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return target.getBoundingClientRect();
|
|
54
|
+
})();
|
|
55
|
+
if (!rect)
|
|
29
56
|
return;
|
|
30
|
-
const rect = target.getBoundingClientRect();
|
|
31
57
|
const overlay = document.createElement('div');
|
|
32
58
|
overlay.setAttribute(attr, 'spotlight');
|
|
33
59
|
overlay.style.cssText = `
|
|
@@ -50,9 +76,9 @@ export async function spotlight(page, selector, opts) {
|
|
|
50
76
|
overlay.style.opacity = '0';
|
|
51
77
|
setTimeout(() => overlay.remove(), fadeOut);
|
|
52
78
|
}, duration);
|
|
53
|
-
}, { selector, duration, fadeIn, fadeOut, opacity, padding, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
79
|
+
}, { selector, preRect, duration, fadeIn, fadeOut, opacity, padding, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
54
80
|
}
|
|
55
|
-
export async function focusRing(page,
|
|
81
|
+
export async function focusRing(page, selectorOrLocator, opts) {
|
|
56
82
|
const duration = opts?.duration ?? 3000;
|
|
57
83
|
const fadeIn = opts?.fadeIn ?? 400;
|
|
58
84
|
const fadeOut = opts?.fadeOut ?? 400;
|
|
@@ -60,11 +86,18 @@ export async function focusRing(page, selector, opts) {
|
|
|
60
86
|
const ringWidth = opts?.width ?? 3;
|
|
61
87
|
const pulse = opts?.pulse ?? true;
|
|
62
88
|
const wait = opts?.wait ?? false;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
89
|
+
const { selector, rect: preRect } = await resolveRect(page, selectorOrLocator);
|
|
90
|
+
await runCameraEffect(page, ({ selector, preRect, duration, fadeIn, fadeOut, color, ringWidth, pulse, attr }) => {
|
|
91
|
+
const rect = preRect ?? (() => {
|
|
92
|
+
const target = document.querySelector(selector);
|
|
93
|
+
if (!target) {
|
|
94
|
+
console.warn('[argo] camera effect: no element found for selector "' + selector + '"');
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return target.getBoundingClientRect();
|
|
98
|
+
})();
|
|
99
|
+
if (!rect)
|
|
66
100
|
return;
|
|
67
|
-
const rect = target.getBoundingClientRect();
|
|
68
101
|
// Inject pulse animation if needed
|
|
69
102
|
if (pulse) {
|
|
70
103
|
const style = document.createElement('style');
|
|
@@ -79,11 +112,13 @@ export async function focusRing(page, selector, opts) {
|
|
|
79
112
|
}
|
|
80
113
|
const ring = document.createElement('div');
|
|
81
114
|
ring.setAttribute(attr, 'focus-ring');
|
|
115
|
+
// When using pre-resolved rect, we don't have a DOM target to read borderRadius from
|
|
116
|
+
const borderRadius = preRect ? ringWidth : Math.min(8, parseInt(getComputedStyle(document.querySelector(selector)).borderRadius) || 0) + ringWidth;
|
|
82
117
|
ring.style.cssText = `
|
|
83
118
|
position: fixed; z-index: 99990; pointer-events: none;
|
|
84
119
|
left: ${rect.left - ringWidth}px; top: ${rect.top - ringWidth}px;
|
|
85
120
|
width: ${rect.width + ringWidth * 2}px; height: ${rect.height + ringWidth * 2}px;
|
|
86
|
-
border-radius: ${
|
|
121
|
+
border-radius: ${borderRadius}px;
|
|
87
122
|
box-shadow: 0 0 0 ${ringWidth}px ${color}66, 0 0 0 ${ringWidth * 2}px ${color}26;
|
|
88
123
|
${pulse ? 'animation: argo-focus-pulse 1.5s ease-in-out infinite;' : ''}
|
|
89
124
|
opacity: 0; transition: opacity ${fadeIn}ms ease-out;
|
|
@@ -98,18 +133,53 @@ export async function focusRing(page, selector, opts) {
|
|
|
98
133
|
document.querySelectorAll(`[${attr}="focus-ring-style"]`).forEach(el => el.remove());
|
|
99
134
|
}, fadeOut);
|
|
100
135
|
}, duration);
|
|
101
|
-
}, { selector, duration, fadeIn, fadeOut, color, ringWidth, pulse, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
136
|
+
}, { selector, preRect, duration, fadeIn, fadeOut, color, ringWidth, pulse, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
102
137
|
}
|
|
103
|
-
export async function dimAround(page,
|
|
138
|
+
export async function dimAround(page, selectorOrLocator, opts) {
|
|
104
139
|
const duration = opts?.duration ?? 3000;
|
|
105
140
|
const fadeIn = opts?.fadeIn ?? 400;
|
|
106
141
|
const fadeOut = opts?.fadeOut ?? 400;
|
|
107
142
|
const dimOpacity = opts?.dimOpacity ?? 0.3;
|
|
108
143
|
const wait = opts?.wait ?? false;
|
|
144
|
+
const { selector, rect: preRect } = await resolveRect(page, selectorOrLocator);
|
|
145
|
+
// When a Locator is passed (preRect != null), we don't have a DOM element reference,
|
|
146
|
+
// so sibling-dimming is not possible. Fall back to a spotlight-style full-page dim.
|
|
147
|
+
if (preRect !== null) {
|
|
148
|
+
console.warn('[argo] dimAround: Locator passed — falling back to spotlight-style dim (sibling dimming requires a CSS selector)');
|
|
149
|
+
await runCameraEffect(page, ({ preRect, duration, fadeIn, fadeOut, dimOpacity, attr }) => {
|
|
150
|
+
const rect = preRect;
|
|
151
|
+
const padding = 0;
|
|
152
|
+
const overlay = document.createElement('div');
|
|
153
|
+
overlay.setAttribute(attr, 'dim-around');
|
|
154
|
+
overlay.style.cssText = `
|
|
155
|
+
position: fixed; inset: 0; z-index: 99990; pointer-events: none;
|
|
156
|
+
background: rgba(0,0,0,${1 - dimOpacity});
|
|
157
|
+
clip-path: polygon(
|
|
158
|
+
0% 0%, 0% 100%, 100% 100%, 100% 0%, 0% 0%,
|
|
159
|
+
${rect.left - padding}px ${rect.top - padding}px,
|
|
160
|
+
${rect.left - padding}px ${rect.bottom + padding}px,
|
|
161
|
+
${rect.right + padding}px ${rect.bottom + padding}px,
|
|
162
|
+
${rect.right + padding}px ${rect.top - padding}px,
|
|
163
|
+
${rect.left - padding}px ${rect.top - padding}px
|
|
164
|
+
);
|
|
165
|
+
opacity: 0; transition: opacity ${fadeIn}ms ease-out;
|
|
166
|
+
`;
|
|
167
|
+
document.body.appendChild(overlay);
|
|
168
|
+
requestAnimationFrame(() => { overlay.style.opacity = '1'; });
|
|
169
|
+
setTimeout(() => {
|
|
170
|
+
overlay.style.transition = `opacity ${fadeOut}ms ease-out`;
|
|
171
|
+
overlay.style.opacity = '0';
|
|
172
|
+
setTimeout(() => overlay.remove(), fadeOut);
|
|
173
|
+
}, duration);
|
|
174
|
+
}, { preRect, duration, fadeIn, fadeOut, dimOpacity, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
109
177
|
await runCameraEffect(page, ({ selector, duration, fadeIn, fadeOut, dimOpacity, attr }) => {
|
|
110
178
|
const target = document.querySelector(selector);
|
|
111
|
-
if (!target)
|
|
179
|
+
if (!target) {
|
|
180
|
+
console.warn('[argo] camera effect: no element found for selector "' + selector + '"');
|
|
112
181
|
return;
|
|
182
|
+
}
|
|
113
183
|
// Find siblings to dim — walk up to a reasonable container
|
|
114
184
|
const parent = target.parentElement;
|
|
115
185
|
if (!parent)
|
|
@@ -154,17 +224,24 @@ export async function dimAround(page, selector, opts) {
|
|
|
154
224
|
}, duration);
|
|
155
225
|
}, { selector, duration, fadeIn, fadeOut, dimOpacity, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
156
226
|
}
|
|
157
|
-
export async function zoomTo(page,
|
|
227
|
+
export async function zoomTo(page, selectorOrLocator, opts) {
|
|
158
228
|
const duration = opts?.duration ?? 3000;
|
|
159
229
|
const fadeIn = opts?.fadeIn ?? 400;
|
|
160
230
|
const fadeOut = opts?.fadeOut ?? 400;
|
|
161
231
|
const scale = opts?.scale ?? 1.5;
|
|
162
232
|
const wait = opts?.wait ?? false;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
233
|
+
const { selector, rect: preRect } = await resolveRect(page, selectorOrLocator);
|
|
234
|
+
await runCameraEffect(page, ({ selector, preRect, duration, fadeIn, fadeOut, scale, attr, overlayPrefix, confettiId, wrapperId, }) => {
|
|
235
|
+
const rect = preRect ?? (() => {
|
|
236
|
+
const target = document.querySelector(selector);
|
|
237
|
+
if (!target) {
|
|
238
|
+
console.warn('[argo] camera effect: no element found for selector "' + selector + '"');
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
return target.getBoundingClientRect();
|
|
242
|
+
})();
|
|
243
|
+
if (!rect)
|
|
166
244
|
return;
|
|
167
|
-
const rect = target.getBoundingClientRect();
|
|
168
245
|
const centerX = rect.left + rect.width / 2;
|
|
169
246
|
const centerY = rect.top + rect.height / 2;
|
|
170
247
|
const isArgoManaged = (el) => el.hasAttribute(attr) ||
|
|
@@ -249,6 +326,7 @@ export async function zoomTo(page, selector, opts) {
|
|
|
249
326
|
}, duration);
|
|
250
327
|
}, {
|
|
251
328
|
selector,
|
|
329
|
+
preRect,
|
|
252
330
|
duration,
|
|
253
331
|
fadeIn,
|
|
254
332
|
fadeOut,
|
package/dist/camera.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA6B5C,wBAAgB,aAAa,IAAI,OAAO,CA0KvC"}
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,7 @@ import { generateClips } from './tts/generate.js';
|
|
|
6
6
|
import { exportVideo } from './export.js';
|
|
7
7
|
import { runPipeline } from './pipeline.js';
|
|
8
8
|
import { init, initFrom } from './init.js';
|
|
9
|
+
import { startPreviewServer } from './preview.js';
|
|
9
10
|
import { validateDemo } from './validate.js';
|
|
10
11
|
import { runDoctor, formatDoctorResults } from './doctor.js';
|
|
11
12
|
function validateDemoName(name) {
|
|
@@ -64,7 +65,7 @@ export function createProgram() {
|
|
|
64
65
|
const config = await ensureTTSEngine(await loadConfig(process.cwd(), configPath));
|
|
65
66
|
await generateClips({
|
|
66
67
|
manifestPath: manifest,
|
|
67
|
-
demoName: basename(manifest).replace(/\.voiceover\.json$/, '').replace(/\.json$/, ''),
|
|
68
|
+
demoName: basename(manifest).replace(/\.scenes\.json$/, '').replace(/\.voiceover\.json$/, '').replace(/\.json$/, ''),
|
|
68
69
|
engine: config.tts.engine,
|
|
69
70
|
projectRoot: '.',
|
|
70
71
|
defaults: { voice: config.tts.defaultVoice, speed: config.tts.defaultSpeed },
|
|
@@ -143,6 +144,30 @@ export function createProgram() {
|
|
|
143
144
|
if (fails > 0)
|
|
144
145
|
process.exitCode = 1;
|
|
145
146
|
});
|
|
147
|
+
program
|
|
148
|
+
.command('preview <demo>')
|
|
149
|
+
.description('Start a browser-based preview server to tweak voiceover, overlays, and timing without re-recording')
|
|
150
|
+
.option('--port <number>', 'server port (default: auto)', parseInt)
|
|
151
|
+
.action(async (demo, cmdOpts) => {
|
|
152
|
+
validateDemoName(demo);
|
|
153
|
+
const configPath = program.opts().config;
|
|
154
|
+
const config = await loadConfig(process.cwd(), configPath);
|
|
155
|
+
const { url } = await startPreviewServer({
|
|
156
|
+
demoName: demo,
|
|
157
|
+
argoDir: '.argo',
|
|
158
|
+
demosDir: config.demosDir,
|
|
159
|
+
outputDir: config.outputDir,
|
|
160
|
+
port: cmdOpts.port,
|
|
161
|
+
ttsDefaults: {
|
|
162
|
+
voice: config.tts.defaultVoice,
|
|
163
|
+
speed: config.tts.defaultSpeed,
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
console.log(`\nArgo Preview running at: ${url}`);
|
|
167
|
+
console.log('Press Ctrl+C to stop.\n');
|
|
168
|
+
// Keep process alive
|
|
169
|
+
await new Promise(() => { });
|
|
170
|
+
});
|
|
146
171
|
program
|
|
147
172
|
.command('init')
|
|
148
173
|
.description('Initialize a new Argo project')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
export interface CursorHighlightOptions {
|
|
3
|
+
/** Highlight ring color. Default: '#3b82f6' */
|
|
4
|
+
color?: string;
|
|
5
|
+
/** Radius of the highlight circle in px. Default: 20 */
|
|
6
|
+
radius?: number;
|
|
7
|
+
/** Show a pulsing glow around cursor. Default: true */
|
|
8
|
+
pulse?: boolean;
|
|
9
|
+
/** Show a ripple effect on click. Default: true */
|
|
10
|
+
clickRipple?: boolean;
|
|
11
|
+
/** Opacity of the highlight ring. Default: 0.5 */
|
|
12
|
+
opacity?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Enables a persistent cursor highlight that follows the mouse pointer.
|
|
16
|
+
* The highlight remains active until `resetCursor(page)` is called.
|
|
17
|
+
* Calling again replaces the existing highlight.
|
|
18
|
+
*/
|
|
19
|
+
export declare function cursorHighlight(page: Page, opts?: CursorHighlightOptions): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Removes the cursor highlight and all related elements.
|
|
22
|
+
*/
|
|
23
|
+
export declare function resetCursor(page: Page): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK7C,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,sBAAsB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3D"}
|