screenci 0.0.15 → 0.0.17

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 (40) hide show
  1. package/README.md +26 -26
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +10 -88
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.d.ts +5 -5
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/src/browserLaunchOptions.d.ts +5 -0
  10. package/dist/src/browserLaunchOptions.d.ts.map +1 -0
  11. package/dist/src/browserLaunchOptions.js +23 -0
  12. package/dist/src/browserLaunchOptions.js.map +1 -0
  13. package/dist/src/{caption.d.ts → cue.d.ts} +80 -74
  14. package/dist/src/cue.d.ts.map +1 -0
  15. package/dist/src/{caption.js → cue.js} +120 -90
  16. package/dist/src/cue.js.map +1 -0
  17. package/dist/src/events.d.ts +27 -27
  18. package/dist/src/events.d.ts.map +1 -1
  19. package/dist/src/events.js +21 -21
  20. package/dist/src/events.js.map +1 -1
  21. package/dist/src/instrument.js +3 -3
  22. package/dist/src/instrument.js.map +1 -1
  23. package/dist/src/recordingData.d.ts +16 -16
  24. package/dist/src/recordingData.d.ts.map +1 -1
  25. package/dist/src/types.d.ts +4 -4
  26. package/dist/src/types.d.ts.map +1 -1
  27. package/dist/src/types.js +1 -1
  28. package/dist/src/types.js.map +1 -1
  29. package/dist/src/video.d.ts +3 -3
  30. package/dist/src/video.d.ts.map +1 -1
  31. package/dist/src/video.js +11 -25
  32. package/dist/src/video.js.map +1 -1
  33. package/dist/src/voices.d.ts +18 -18
  34. package/dist/src/voices.js +15 -15
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +1 -1
  37. package/skills/screenci/SKILL.md +20 -18
  38. package/skills/screenci/references/record.md +9 -6
  39. package/dist/src/caption.d.ts.map +0 -1
  40. package/dist/src/caption.js.map +0 -1
@@ -3,7 +3,7 @@ import { isInsideHide } from './hide.js';
3
3
  import { access, readFile } from 'fs/promises';
4
4
  import { createHash } from 'crypto';
5
5
  import { dirname, resolve } from 'path';
6
- // One frame at 24fps — ensures at least one rendered frame captures each caption state.
6
+ // One frame at 24fps — ensures at least one rendered frame captures each cue state.
7
7
  export const ONE_FRAME_MS = 1000 / 24;
8
8
  // Blocking sleep — spin until the elapsed time has passed
9
9
  let sleepFn = (ms) => {
@@ -16,19 +16,19 @@ export function setSleepFn(fn) {
16
16
  sleepFn = fn;
17
17
  }
18
18
  let activeRecorder = null;
19
- let captionStarted = false;
19
+ let cueStarted = false;
20
20
  const registeredCustomVoiceRefs = new Set();
21
21
  /** Maps local asset path → SHA-256 hash, populated during validateCustomVoiceRefs. */
22
- const videoCaptionFileHashes = new Map();
23
- export function setActiveCaptionRecorder(recorder) {
22
+ const videoCueFileHashes = new Map();
23
+ export function setActiveCueRecorder(recorder) {
24
24
  activeRecorder = recorder;
25
25
  }
26
- export function resetCaptionChain() {
27
- captionStarted = false;
26
+ export function resetCueChain() {
27
+ cueStarted = false;
28
28
  }
29
29
  export function resetRegisteredCustomVoiceRefs() {
30
30
  registeredCustomVoiceRefs.clear();
31
- videoCaptionFileHashes.clear();
31
+ videoCueFileHashes.clear();
32
32
  }
33
33
  export async function validateCustomVoiceRefs(testFilePath) {
34
34
  const testDir = dirname(testFilePath);
@@ -53,7 +53,7 @@ export async function validateCustomVoiceRefs(testFilePath) {
53
53
  .update(fileBuffer)
54
54
  .digest('hex');
55
55
  }
56
- for (const assetPath of videoCaptionFileHashes.keys()) {
56
+ for (const assetPath of videoCueFileHashes.keys()) {
57
57
  const candidates = [assetPath, resolve(testDir, assetPath)];
58
58
  let fileBuffer = null;
59
59
  for (const candidate of candidates) {
@@ -66,9 +66,9 @@ export async function validateCustomVoiceRefs(testFilePath) {
66
66
  }
67
67
  }
68
68
  if (fileBuffer === null) {
69
- throw new Error(`Video caption asset file not found: ${assetPath}`);
69
+ throw new Error(`Video cue asset file not found: ${assetPath}`);
70
70
  }
71
- videoCaptionFileHashes.set(assetPath, createHash('sha256').update(fileBuffer).digest('hex'));
71
+ videoCueFileHashes.set(assetPath, createHash('sha256').update(fileBuffer).digest('hex'));
72
72
  }
73
73
  }
74
74
  function toRecordedVoice(voice) {
@@ -85,79 +85,98 @@ function toRecordedVoice(voice) {
85
85
  };
86
86
  }
87
87
  /**
88
- * Auto-ends any currently active caption before starting a new one.
89
- * Called internally at the start of every voiceOver controller.
88
+ * Auto-ends any currently active cue before starting a new one.
89
+ * Called internally at the start of every narration controller.
90
90
  */
91
- function captionAutoEnd() {
92
- if (!captionStarted || activeRecorder === null)
91
+ function cueAutoEnd() {
92
+ if (!cueStarted || activeRecorder === null)
93
93
  return;
94
- activeRecorder.addCaptionEnd('auto');
94
+ activeRecorder.addCueEnd('auto');
95
95
  sleepFn(2 * ONE_FRAME_MS);
96
- captionStarted = false;
96
+ cueStarted = false;
97
97
  }
98
- async function doWaitEnd() {
99
- if (activeRecorder === null || !captionStarted)
98
+ async function doWait() {
99
+ if (activeRecorder === null || !cueStarted)
100
100
  return;
101
101
  if (isInsideHide())
102
- throw new Error('Cannot call waitEnd inside hide()');
103
- activeRecorder.addCaptionEnd('waitEnd');
102
+ throw new Error('Cannot call wait() inside hide()');
103
+ activeRecorder.addCueEnd('wait');
104
104
  sleepFn(2 * ONE_FRAME_MS);
105
- captionStarted = false;
105
+ cueStarted = false;
106
106
  }
107
107
  /**
108
- * Creates a set of typed voiceover controllers, one per key in the map.
108
+ * Creates a set of typed narration controllers, one per key in the map.
109
109
  *
110
110
  * Each controller has `start()` and `end()`.
111
- * At render time screenci generates a voiceover, and syncs the audio to the
111
+ * At render time screenci generates narration, and syncs the audio to the
112
112
  * recording. You write text; the voice is handled for you.
113
113
  *
114
114
  * The top-level `voice` applies to all languages. Override it per-language via
115
115
  * the `voice` field inside each language entry. Only language-level overrides
116
116
  * may set `seed`.
117
117
  *
118
- * TypeScript enforces that every language has the same caption keys.
118
+ * TypeScript enforces that every language has the same cue keys.
119
119
  * Forget a translation key → compile error.
120
120
  *
121
121
  * @example
122
122
  * ```ts
123
- * const voiceOvers = createVoiceOvers({
123
+ * const narration = createNarration({
124
124
  * voice: { name: voices.Ava, style: 'Clear and friendly' },
125
125
  * languages: {
126
- * en: { captions: { intro: 'Welcome.', next: 'Click here.' } },
126
+ * en: { cues: { intro: 'Welcome.', next: 'Click here.' } },
127
127
  * fi: {
128
128
  * voice: { name: voices.Nora, style: 'Selkeä opastus', seed: 42 },
129
- * captions: { intro: 'Tervetuloa.', next: 'Napsauta tästä.' },
129
+ * cues: { intro: 'Tervetuloa.', next: 'Napsauta tästä.' },
130
130
  * },
131
131
  * },
132
132
  * })
133
133
  *
134
- * // Await a voiceOver directly to start it:
135
- * await voiceOvers.intro
134
+ * // Await a narration segment directly to start it:
135
+ * await narration.intro
136
136
  * await page.goto('/dashboard')
137
137
  *
138
- * // Consecutive voiceOvers sequence automatically:
139
- * await voiceOvers.intro
140
- * await voiceOvers.next // ends intro, then starts next
138
+ * // Consecutive narration segments sequence automatically:
139
+ * await narration.intro
140
+ * await narration.next // ends intro, then starts next
141
141
  *
142
142
  * // Wait for audio to finish before an action:
143
- * await voiceOvers.intro
144
- * await voiceOvers.waitEnd()
143
+ * await narration.intro
144
+ * await narration.wait()
145
145
  * await page.click('#start')
146
146
  * ```
147
147
  */
148
- export function createVoiceOvers(input) {
149
- return buildCaptionsFromInput(input.voice, input.languages);
148
+ export function createNarration(input) {
149
+ return buildCuesFromInput(input.voice, input.languages);
150
+ }
151
+ function normalizeCueMapValue(value) {
152
+ if (typeof value === 'string') {
153
+ return { type: 'text', text: value };
154
+ }
155
+ if ('text' in value) {
156
+ return { type: 'text', text: value.text };
157
+ }
158
+ const mediaPath = 'media' in value ? value.media : value.path;
159
+ return {
160
+ type: 'file',
161
+ path: mediaPath,
162
+ ...(value.subtitle !== undefined && { subtitle: value.subtitle }),
163
+ };
164
+ }
165
+ function getLanguageCues(entry) {
166
+ if (entry === undefined)
167
+ return undefined;
168
+ return entry.cues;
150
169
  }
151
170
  function voiceToKeyString(voice) {
152
171
  if (isCustomVoiceRef(voice))
153
172
  return `custom:${voice.path}`;
154
173
  return voice;
155
174
  }
156
- function buildCaptionsFromInput(topVoice, languages) {
175
+ function buildCuesFromInput(topVoice, languages) {
157
176
  const langs = Object.keys(languages);
158
177
  const firstLang = langs[0];
159
178
  if (firstLang === undefined) {
160
- throw new Error('createVoiceOvers requires at least one language in "languages"');
179
+ throw new Error('createNarration requires at least one language in "languages"');
161
180
  }
162
181
  // Resolve effective voice and metadata per language
163
182
  const resolvedVoices = new Map();
@@ -209,30 +228,38 @@ function buildCaptionsFromInput(topVoice, languages) {
209
228
  if (!firstEntry)
210
229
  return {};
211
230
  const result = {};
212
- for (const key in firstEntry.captions) {
231
+ const firstCues = getLanguageCues(firstEntry);
232
+ if (firstCues === undefined)
233
+ return {};
234
+ for (const key in firstCues) {
213
235
  const keyStr = key;
214
- // Determine if any language uses a file-based value for this key.
236
+ const normalizedByLang = new Map();
237
+ // Normalize shorthand values and determine if any language uses a file entry for this key.
215
238
  let hasFileEntry = false;
216
239
  for (const lang of langs) {
217
- const val = languages[lang]?.captions[keyStr];
218
- if (val !== undefined && typeof val !== 'string') {
219
- hasFileEntry = true;
220
- videoCaptionFileHashes.set(val.path, '');
240
+ const val = getLanguageCues(languages[lang])?.[keyStr];
241
+ if (val !== undefined) {
242
+ const normalized = normalizeCueMapValue(val);
243
+ normalizedByLang.set(lang, normalized);
244
+ if (normalized.type === 'file') {
245
+ hasFileEntry = true;
246
+ videoCueFileHashes.set(normalized.path, '');
247
+ }
221
248
  }
222
249
  }
223
250
  if (hasFileEntry) {
224
251
  const fileStartFn = async () => {
225
252
  if (isInsideHide())
226
- throw new Error('Cannot start a voiceOver inside hide()');
253
+ throw new Error('Cannot start narration inside hide()');
227
254
  if (activeRecorder === null)
228
255
  return;
229
- captionAutoEnd();
256
+ cueAutoEnd();
230
257
  for (const lang of langs) {
231
258
  activeRecorder.registerVoiceForLang(lang, resolvedVoiceMeta.get(lang));
232
259
  }
233
260
  const videoTranslations = {};
234
261
  for (const lang of langs) {
235
- const val = languages[lang]?.captions[keyStr];
262
+ const val = normalizedByLang.get(lang);
236
263
  if (val === undefined)
237
264
  continue;
238
265
  const voice = resolvedVoices.get(lang);
@@ -242,9 +269,9 @@ function buildCaptionsFromInput(topVoice, languages) {
242
269
  const style = meta?.style;
243
270
  const accent = meta?.accent;
244
271
  const pacing = meta?.pacing;
245
- if (typeof val === 'string') {
272
+ if (val.type === 'text') {
246
273
  videoTranslations[lang] = {
247
- text: val,
274
+ text: val.text,
248
275
  voice: toRecordedVoice(voice),
249
276
  ...(region !== undefined && { region }),
250
277
  ...(modelType !== undefined && { modelType }),
@@ -254,12 +281,15 @@ function buildCaptionsFromInput(topVoice, languages) {
254
281
  };
255
282
  }
256
283
  else {
257
- videoTranslations[lang] = entryToVideoTranslation(val);
284
+ videoTranslations[lang] = entryToVideoTranslation({
285
+ path: val.path,
286
+ ...(val.subtitle !== undefined && { subtitle: val.subtitle }),
287
+ });
258
288
  }
259
289
  }
260
- captionStarted = true;
290
+ cueStarted = true;
261
291
  sleepFn(2 * ONE_FRAME_MS);
262
- activeRecorder.addVideoCaptionStart(keyStr, undefined, undefined, undefined, videoTranslations);
292
+ activeRecorder.addVideoCueStart(keyStr, undefined, undefined, undefined, videoTranslations);
263
293
  };
264
294
  result[keyStr] = {
265
295
  then(resolve, reject) {
@@ -270,17 +300,17 @@ function buildCaptionsFromInput(topVoice, languages) {
270
300
  else {
271
301
  const textStartFn = async () => {
272
302
  if (isInsideHide())
273
- throw new Error('Cannot start a voiceOver inside hide()');
303
+ throw new Error('Cannot start narration inside hide()');
274
304
  if (activeRecorder === null)
275
305
  return;
276
- captionAutoEnd();
306
+ cueAutoEnd();
277
307
  for (const lang of langs) {
278
308
  activeRecorder.registerVoiceForLang(lang, resolvedVoiceMeta.get(lang));
279
309
  }
280
310
  const textTranslations = {};
281
311
  for (const lang of langs) {
282
- const val = languages[lang]?.captions[keyStr];
283
- if (val !== undefined && typeof val === 'string') {
312
+ const val = normalizedByLang.get(lang);
313
+ if (val !== undefined && val.type === 'text') {
284
314
  const voice = resolvedVoices.get(lang);
285
315
  const region = languages[lang]?.region;
286
316
  const meta = resolvedVoiceMeta.get(lang);
@@ -289,7 +319,7 @@ function buildCaptionsFromInput(topVoice, languages) {
289
319
  const accent = meta?.accent;
290
320
  const pacing = meta?.pacing;
291
321
  textTranslations[lang] = {
292
- text: val,
322
+ text: val.text,
293
323
  voice: toRecordedVoice(voice),
294
324
  ...(region !== undefined && { region }),
295
325
  ...(modelType !== undefined && { modelType }),
@@ -299,9 +329,9 @@ function buildCaptionsFromInput(topVoice, languages) {
299
329
  };
300
330
  }
301
331
  }
302
- captionStarted = true;
332
+ cueStarted = true;
303
333
  sleepFn(2 * ONE_FRAME_MS);
304
- activeRecorder.addCaptionStart('', keyStr, undefined, textTranslations);
334
+ activeRecorder.addCueStart('', keyStr, undefined, textTranslations);
305
335
  };
306
336
  result[keyStr] = {
307
337
  then(resolve, reject) {
@@ -311,54 +341,54 @@ function buildCaptionsFromInput(topVoice, languages) {
311
341
  }
312
342
  }
313
343
  ;
314
- result.waitEnd = doWaitEnd;
344
+ result.wait = doWait;
315
345
  return result;
316
346
  }
317
347
  function entryToVideoTranslation(entry) {
318
348
  const path = typeof entry === 'string' ? entry : entry.path;
319
349
  const subtitle = typeof entry === 'string' ? undefined : entry.subtitle;
320
- const assetHash = videoCaptionFileHashes.get(path);
350
+ const assetHash = videoCueFileHashes.get(path);
321
351
  if (!assetHash)
322
- throw new Error(`Video caption asset hash missing for path: ${path}`);
352
+ throw new Error(`Video cue asset hash missing for path: ${path}`);
323
353
  return {
324
354
  assetHash,
325
355
  assetPath: path,
326
356
  ...(subtitle !== undefined && { subtitle }),
327
357
  };
328
358
  }
329
- export function createVideoCaptions(firstArg) {
330
- // Distinguish single-language vs multi-language by checking if any value has a `captions` key
359
+ export function createVideoCues(firstArg) {
360
+ // Distinguish single-language vs multi-language by checking if any value has a `cues` key
331
361
  const firstValue = Object.values(firstArg)[0];
332
362
  if (firstValue !== undefined &&
333
363
  typeof firstValue === 'object' &&
334
364
  !Array.isArray(firstValue) &&
335
- 'captions' in firstValue &&
336
- typeof firstValue.captions === 'object') {
337
- return buildMultiLangVideoCaptions(firstArg);
365
+ 'cues' in firstValue &&
366
+ typeof firstValue.cues === 'object') {
367
+ return buildMultiLangVideoCues(firstArg);
338
368
  }
339
- return buildSingleLangVideoCaptions(firstArg);
369
+ return buildSingleLangVideoCues(firstArg);
340
370
  }
341
- function buildSingleLangVideoCaptions(captionsMap) {
371
+ function buildSingleLangVideoCues(cuesMap) {
342
372
  const result = {};
343
- for (const key in captionsMap) {
344
- const entry = captionsMap[key];
373
+ for (const key in cuesMap) {
374
+ const entry = cuesMap[key];
345
375
  if (entry === undefined)
346
376
  continue;
347
377
  const assetPath = typeof entry === 'string' ? entry : entry.path;
348
378
  const subtitle = typeof entry === 'string' ? undefined : entry.subtitle;
349
- videoCaptionFileHashes.set(assetPath, '');
379
+ videoCueFileHashes.set(assetPath, '');
350
380
  const startFn = async () => {
351
381
  if (isInsideHide())
352
- throw new Error('Cannot start a voiceOver inside hide()');
382
+ throw new Error('Cannot start narration inside hide()');
353
383
  if (activeRecorder === null)
354
384
  return;
355
- captionAutoEnd();
356
- const assetHash = videoCaptionFileHashes.get(assetPath);
385
+ cueAutoEnd();
386
+ const assetHash = videoCueFileHashes.get(assetPath);
357
387
  if (!assetHash)
358
- throw new Error(`Video caption asset hash missing for path: ${assetPath}`);
359
- captionStarted = true;
388
+ throw new Error(`Video cue asset hash missing for path: ${assetPath}`);
389
+ cueStarted = true;
360
390
  sleepFn(2 * ONE_FRAME_MS);
361
- activeRecorder.addVideoCaptionStart(key, assetPath, assetHash, subtitle);
391
+ activeRecorder.addVideoCueStart(key, assetPath, assetHash, subtitle);
362
392
  };
363
393
  result[key] = {
364
394
  then(resolve, reject) {
@@ -367,38 +397,38 @@ function buildSingleLangVideoCaptions(captionsMap) {
367
397
  };
368
398
  }
369
399
  ;
370
- result.waitEnd = doWaitEnd;
400
+ result.wait = doWait;
371
401
  return result;
372
402
  }
373
- function buildMultiLangVideoCaptions(languagesMap) {
403
+ function buildMultiLangVideoCues(languagesMap) {
374
404
  const langs = Object.keys(languagesMap);
375
405
  const firstLang = langs[0];
376
406
  if (firstLang === undefined) {
377
407
  const empty = {};
378
- empty.waitEnd = doWaitEnd;
408
+ empty.wait = doWait;
379
409
  return empty;
380
410
  }
381
411
  const result = {};
382
- for (const key in languagesMap[firstLang].captions) {
412
+ for (const key in languagesMap[firstLang].cues) {
383
413
  const keyStr = key;
384
414
  const translations = {};
385
415
  for (const lang of langs) {
386
- const entry = languagesMap[lang].captions[keyStr];
416
+ const entry = languagesMap[lang].cues[keyStr];
387
417
  if (entry !== undefined) {
388
418
  const assetPath = typeof entry === 'string' ? entry : entry.path;
389
- videoCaptionFileHashes.set(assetPath, '');
419
+ videoCueFileHashes.set(assetPath, '');
390
420
  translations[lang] = entryToVideoTranslation(entry);
391
421
  }
392
422
  }
393
423
  const startFn = async () => {
394
424
  if (isInsideHide())
395
- throw new Error('Cannot start a voiceOver inside hide()');
425
+ throw new Error('Cannot start narration inside hide()');
396
426
  if (activeRecorder === null)
397
427
  return;
398
- captionAutoEnd();
399
- captionStarted = true;
428
+ cueAutoEnd();
429
+ cueStarted = true;
400
430
  sleepFn(2 * ONE_FRAME_MS);
401
- activeRecorder.addVideoCaptionStart(keyStr, undefined, undefined, undefined, translations);
431
+ activeRecorder.addVideoCueStart(keyStr, undefined, undefined, undefined, translations);
402
432
  };
403
433
  result[key] = {
404
434
  then(resolve, reject) {
@@ -407,7 +437,7 @@ function buildMultiLangVideoCaptions(languagesMap) {
407
437
  };
408
438
  }
409
439
  ;
410
- result.waitEnd = doWaitEnd;
440
+ result.wait = doWait;
411
441
  return result;
412
442
  }
413
- //# sourceMappingURL=caption.js.map
443
+ //# sourceMappingURL=cue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cue.js","sourceRoot":"","sources":["../../src/cue.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AutoZoomOptions, CaptionConfig, Easing, RecordOptions, RenderOptions, ResolvedRenderOptions } from './types.js';
1
+ import type { AutoZoomOptions, CueConfig, Easing, RecordOptions, RenderOptions, ResolvedRenderOptions } from './types.js';
2
2
  import type { VoiceKey } from './voices.js';
3
3
  export type VideoStartEvent = {
4
4
  type: 'videoStart';
@@ -54,7 +54,7 @@ export type MouseWaitEvent = {
54
54
  * A recorded user input action containing one or more inner mouse events.
55
55
  * mouseMove, mouseShow, and mouseHide subtypes each contain exactly one inner event.
56
56
  * All input events must not overlap in time; recording will throw if they do.
57
- * Captions are automatically prevented from falling inside any input event's time range.
57
+ * Cues are automatically prevented from falling inside any input event's time range.
58
58
  */
59
59
  export type InputEvent = {
60
60
  type: 'input';
@@ -67,7 +67,7 @@ export type RecordingCustomVoiceRef = {
67
67
  /** Present only in recording phase (for CLI upload); stripped from submitted data. */
68
68
  assetPath?: string;
69
69
  };
70
- export type CaptionTranslation = {
70
+ export type CueTranslation = {
71
71
  text: string;
72
72
  voice: VoiceKey | RecordingCustomVoiceRef;
73
73
  /** BCP-47 region code, e.g. 'en-US'. Overrides the base language for TTS synthesis. */
@@ -86,31 +86,31 @@ export type CaptionTranslation = {
86
86
  */
87
87
  seed?: number;
88
88
  };
89
- export type CaptionStartEvent = {
90
- type: 'captionStart';
89
+ export type CueStartEvent = {
90
+ type: 'cueStart';
91
91
  timeMs: number;
92
92
  name: string;
93
93
  /** Single-language API (backward compat) */
94
94
  text?: string;
95
- captionConfig?: CaptionConfig;
95
+ cueConfig?: CueConfig;
96
96
  /** Multi-language API — all language translations keyed by language code */
97
- translations?: Record<string, CaptionTranslation>;
97
+ translations?: Record<string, CueTranslation>;
98
98
  };
99
- export type CaptionEndEvent = {
100
- type: 'captionEnd';
99
+ export type CueEndEvent = {
100
+ type: 'cueEnd';
101
101
  timeMs: number;
102
- reason?: 'auto' | 'waitEnd';
102
+ reason?: 'auto' | 'wait';
103
103
  };
104
- /** File-based video caption translation. assetPath is present only in the local
104
+ /** File-based video cue translation. assetPath is present only in the local
105
105
  * recording phase (for CLI upload) and is stripped before submitting to the backend. */
106
- export type VideoCaptionTranslationFile = {
106
+ export type VideoCueTranslationFile = {
107
107
  assetHash: string;
108
108
  /** Local file path — present only during recording; stripped from submitted data. */
109
109
  assetPath?: string;
110
110
  subtitle?: string;
111
111
  };
112
- /** TTS-based video caption translation — generates audio via text-to-speech. */
113
- export type VideoCaptionTranslationTTS = {
112
+ /** TTS-based video cue translation — generates audio via text-to-speech. */
113
+ export type VideoCueTranslationTTS = {
114
114
  text: string;
115
115
  voice: VoiceKey | RecordingCustomVoiceRef;
116
116
  /** BCP-47 region code, e.g. 'en-US'. Overrides the base language for TTS synthesis. */
@@ -129,9 +129,9 @@ export type VideoCaptionTranslationTTS = {
129
129
  */
130
130
  seed?: number;
131
131
  };
132
- export type VideoCaptionTranslation = VideoCaptionTranslationFile | VideoCaptionTranslationTTS;
133
- export type VideoCaptionStartEvent = {
134
- type: 'videoCaptionStart';
132
+ export type VideoCueTranslation = VideoCueTranslationFile | VideoCueTranslationTTS;
133
+ export type VideoCueStartEvent = {
134
+ type: 'videoCueStart';
135
135
  timeMs: number;
136
136
  name: string;
137
137
  /** Single-language API: SHA-256 hash of the pre-recorded asset. */
@@ -141,7 +141,7 @@ export type VideoCaptionStartEvent = {
141
141
  /** Optional subtitle text. Words are spread with equal timing at render time. */
142
142
  subtitle?: string;
143
143
  /** Multi-language API — per-language translations keyed by language code. */
144
- translations?: Record<string, VideoCaptionTranslation>;
144
+ translations?: Record<string, VideoCueTranslation>;
145
145
  };
146
146
  export type AssetStartEvent = {
147
147
  type: 'assetStart';
@@ -179,7 +179,7 @@ export type AutoZoomEndEvent = {
179
179
  easing: string;
180
180
  duration: number;
181
181
  };
182
- export type RecordingEvent = VideoStartEvent | InputEvent | CaptionStartEvent | CaptionEndEvent | VideoCaptionStartEvent | AssetStartEvent | HideStartEvent | HideEndEvent | AutoZoomStartEvent | AutoZoomEndEvent;
182
+ export type RecordingEvent = VideoStartEvent | InputEvent | CueStartEvent | CueEndEvent | VideoCueStartEvent | AssetStartEvent | HideStartEvent | HideEndEvent | AutoZoomStartEvent | AutoZoomEndEvent;
183
183
  export type VoiceLanguageMeta = {
184
184
  /** Voice key string: a built-in voice name or an external voice key. */
185
185
  name: string;
@@ -201,7 +201,7 @@ export type VoiceLanguageMeta = {
201
201
  };
202
202
  export type RecordingMetadata = {
203
203
  videoName: string;
204
- /** Language codes present in multi-language captions, e.g. `['en', 'de']`. Omitted when no multi-language captions are used. */
204
+ /** Language codes present in multi-language cues, e.g. `['en', 'de']`. Omitted when no multi-language cues are used. */
205
205
  languages?: string[];
206
206
  };
207
207
  export type RecordingData = {
@@ -218,9 +218,9 @@ export interface IEventRecorder {
218
218
  * Throws if the event's time span overlaps with any previously recorded input event.
219
219
  */
220
220
  addInput(subType: InputEvent['subType'], elementRect: ElementRect | undefined, events: InputEvent['events']): void;
221
- addCaptionStart(text: string, name: string, captionConfig?: CaptionConfig, translations?: Record<string, CaptionTranslation>): void;
222
- addCaptionEnd(reason?: 'auto' | 'waitEnd'): void;
223
- addVideoCaptionStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCaptionTranslation>): void;
221
+ addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>): void;
222
+ addCueEnd(reason?: 'auto' | 'wait'): void;
223
+ addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>): void;
224
224
  addAssetStart(name: string, path: string, audio: number, fullScreen: boolean): void;
225
225
  addHideStart(): void;
226
226
  addHideEnd(): void;
@@ -228,7 +228,7 @@ export interface IEventRecorder {
228
228
  addAutoZoomEnd(options?: AutoZoomOptions): void;
229
229
  /**
230
230
  * Registers voice metadata seen during recording.
231
- * Kept for API compatibility; voice settings are stored per caption event.
231
+ * Kept for API compatibility; voice settings are stored per cue event.
232
232
  */
233
233
  registerVoiceForLang(lang: string, meta: VoiceLanguageMeta): void;
234
234
  getEvents(): RecordingEvent[];
@@ -245,9 +245,9 @@ export declare class EventRecorder implements IEventRecorder {
245
245
  private normalizeCentering;
246
246
  start(): void;
247
247
  addInput(subType: InputEvent['subType'], elementRect: ElementRect | undefined, events: InputEvent['events']): void;
248
- addCaptionStart(text: string, name: string, captionConfig?: CaptionConfig, translations?: Record<string, CaptionTranslation>): void;
249
- addCaptionEnd(reason?: 'auto' | 'waitEnd'): void;
250
- addVideoCaptionStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCaptionTranslation>): void;
248
+ addCueStart(text: string, name: string, cueConfig?: CueConfig, translations?: Record<string, CueTranslation>): void;
249
+ addCueEnd(reason?: 'auto' | 'wait'): void;
250
+ addVideoCueStart(name: string, assetPath: string | undefined, assetHash: string | undefined, subtitle?: string, translations?: Record<string, VideoCueTranslation>): void;
251
251
  addAssetStart(name: string, path: string, audio: number, fullScreen: boolean): void;
252
252
  addHideStart(): void;
253
253
  addHideEnd(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}