screenci 0.0.71 → 0.0.72
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 +12 -12
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +133 -10
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +3 -3
- package/dist/docs/manifest.js +1 -1
- package/dist/docs/manifest.js.map +1 -1
- package/dist/docs/video-sources/installation.screenci.js +13 -12
- package/dist/docs/video-sources/installation.screenci.js.map +1 -1
- package/dist/docs/video-sources/landing.screenci.js +16 -9
- package/dist/docs/video-sources/landing.screenci.js.map +1 -1
- package/dist/docs/video-sources/product-pitch.screenci.js +97 -32
- package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -1
- package/dist/docs/video-sources/public-urls.screenci.js +16 -9
- package/dist/docs/video-sources/public-urls.screenci.js.map +1 -1
- package/dist/docs/video-sources/studio.screenci.js +42 -27
- package/dist/docs/video-sources/studio.screenci.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +8 -23
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +10 -32
- package/dist/src/asset.js.map +1 -1
- package/dist/src/audio.d.ts +6 -24
- package/dist/src/audio.d.ts.map +1 -1
- package/dist/src/audio.js +10 -35
- package/dist/src/audio.js.map +1 -1
- package/dist/src/builder.d.ts +214 -0
- package/dist/src/builder.d.ts.map +1 -0
- package/dist/src/builder.js +212 -0
- package/dist/src/builder.js.map +1 -0
- package/dist/src/cue.d.ts +40 -123
- package/dist/src/cue.d.ts.map +1 -1
- package/dist/src/cue.js +190 -30
- package/dist/src/cue.js.map +1 -1
- package/dist/src/events.d.ts +80 -15
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +72 -6
- package/dist/src/events.js.map +1 -1
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +14 -13
- package/dist/src/init.js.map +1 -1
- package/dist/src/locales.d.ts +19 -0
- package/dist/src/locales.d.ts.map +1 -0
- package/dist/src/locales.js +60 -0
- package/dist/src/locales.js.map +1 -0
- package/dist/src/localize.d.ts +135 -0
- package/dist/src/localize.d.ts.map +1 -0
- package/dist/src/localize.js +195 -0
- package/dist/src/localize.js.map +1 -0
- package/dist/src/localizeRuntime.d.ts +53 -0
- package/dist/src/localizeRuntime.d.ts.map +1 -0
- package/dist/src/localizeRuntime.js +79 -0
- package/dist/src/localizeRuntime.js.map +1 -0
- package/dist/src/recordingData.d.ts +5 -4
- package/dist/src/recordingData.d.ts.map +1 -1
- package/dist/src/runtimeContext.d.ts +3 -4
- package/dist/src/runtimeContext.d.ts.map +1 -1
- package/dist/src/runtimeContext.js.map +1 -1
- package/dist/src/runtimeMode.d.ts +47 -0
- package/dist/src/runtimeMode.d.ts.map +1 -1
- package/dist/src/runtimeMode.js +124 -0
- package/dist/src/runtimeMode.js.map +1 -1
- package/dist/src/screenshot.d.ts +56 -2
- package/dist/src/screenshot.d.ts.map +1 -1
- package/dist/src/screenshot.js +47 -10
- package/dist/src/screenshot.js.map +1 -1
- package/dist/src/stillCapture.d.ts +2 -3
- package/dist/src/stillCapture.d.ts.map +1 -1
- package/dist/src/stillCapture.js.map +1 -1
- package/dist/src/studio.d.ts +55 -22
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +38 -12
- package/dist/src/studio.js.map +1 -1
- package/dist/src/types.d.ts +18 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/video.d.ts +149 -13
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +91 -24
- package/dist/src/video.js.map +1 -1
- package/dist/src/voiceConfig.d.ts +110 -0
- package/dist/src/voiceConfig.d.ts.map +1 -0
- package/dist/src/voiceConfig.js +2 -0
- package/dist/src/voiceConfig.js.map +1 -0
- package/dist/src/voices.d.ts +27 -23
- package/dist/src/voices.d.ts.map +1 -1
- package/dist/src/voices.js +7 -4
- package/dist/src/voices.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/skills/screenci/SKILL.md +39 -30
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { type Lang } from './voices.js';
|
|
2
|
+
import type { LangNarrationOverride } from './voiceConfig.js';
|
|
3
|
+
/**
|
|
4
|
+
* A voice configuration used inside a `localize` spec. Allows a `seed` (it can
|
|
5
|
+
* sit on a per-language or per-cue voice), discriminated by voice name like the
|
|
6
|
+
* narration voice overrides.
|
|
7
|
+
*/
|
|
8
|
+
export type VoiceConfig = LangNarrationOverride;
|
|
9
|
+
/**
|
|
10
|
+
* How a localized video/screenshot is recorded.
|
|
11
|
+
*
|
|
12
|
+
* - `'per-language'` (default): one capture pass per language, with the browser
|
|
13
|
+
* locale set from the language (unless `browserLocale` is `false`) and the
|
|
14
|
+
* `language` fixture defined.
|
|
15
|
+
* - `'shared'`: a single capture shared across languages; narration is overdubbed
|
|
16
|
+
* per language at render. No per-language locale; `language` fixture is undefined.
|
|
17
|
+
*/
|
|
18
|
+
export type LocalizeMode = 'per-language' | 'shared';
|
|
19
|
+
/**
|
|
20
|
+
* A narration cue value in a seeded map.
|
|
21
|
+
*
|
|
22
|
+
* - `string`: the spoken line.
|
|
23
|
+
* - `{ cue, voice?, language?, volume? }`: the spoken line with a per-cue voice
|
|
24
|
+
* override, a per-cue synthesis `language` (the locale the text is spoken in,
|
|
25
|
+
* default the version language), and/or render-time mix volume. The spoken text
|
|
26
|
+
* key is `cue` (not `text`) so it never collides with the injected `text` fields.
|
|
27
|
+
* - `{ media | path, subtitle?, volume? }`: a pre-recorded audio file.
|
|
28
|
+
*/
|
|
29
|
+
export type LocalizeNarrationValue = string | {
|
|
30
|
+
cue: string;
|
|
31
|
+
voice?: VoiceConfig;
|
|
32
|
+
language?: Lang;
|
|
33
|
+
volume?: number;
|
|
34
|
+
} | {
|
|
35
|
+
media: string;
|
|
36
|
+
subtitle?: string;
|
|
37
|
+
volume?: number;
|
|
38
|
+
language?: never;
|
|
39
|
+
} | {
|
|
40
|
+
path: string;
|
|
41
|
+
subtitle?: string;
|
|
42
|
+
volume?: number;
|
|
43
|
+
language?: never;
|
|
44
|
+
};
|
|
45
|
+
/** Seeded narration: language -> (cue name -> value). */
|
|
46
|
+
export type NarrationByLang = Partial<Record<Lang, Record<string, LocalizeNarrationValue>>>;
|
|
47
|
+
/** Seeded text: language -> (field name -> string). */
|
|
48
|
+
export type TextByLang = Partial<Record<Lang, Record<string, string>>>;
|
|
49
|
+
/**
|
|
50
|
+
* The `voice` field: a per-language map of voice overrides. Languages omitted
|
|
51
|
+
* from the map fall back to the config/global default voice set via `use`
|
|
52
|
+
* (`renderOptions.narration.voice`). There is deliberately no single
|
|
53
|
+
* config-for-all-languages form here: the all-languages default belongs in
|
|
54
|
+
* `use`, so the localize `voice` only carries per-language overrides.
|
|
55
|
+
*/
|
|
56
|
+
export type LocalizeVoiceSpec = Partial<Record<Lang, VoiceConfig>>;
|
|
57
|
+
/**
|
|
58
|
+
* The localization spec passed to `video.localize(...)` / `screenshot.localize(...)`.
|
|
59
|
+
*
|
|
60
|
+
* `narration` and `text` are seeded per-language maps (keys must be identical
|
|
61
|
+
* across languages, enforced by TypeScript). Studio-managed cue/field names are
|
|
62
|
+
* declared separately via `video.studio({...})`. `voice` co-locates per-language
|
|
63
|
+
* narration voice overrides with the content; the all-languages default comes
|
|
64
|
+
* from `use`.
|
|
65
|
+
*/
|
|
66
|
+
export type LocalizeSpec = {
|
|
67
|
+
/** Per-language narration voice overrides. The all-languages default comes from `use`. */
|
|
68
|
+
voice?: LocalizeVoiceSpec;
|
|
69
|
+
/**
|
|
70
|
+
* Explicit language set. Required when there are no seeded maps (e.g. every
|
|
71
|
+
* cue/field is Studio-managed via `video.studio({...})`).
|
|
72
|
+
*/
|
|
73
|
+
languages?: readonly string[];
|
|
74
|
+
/** Spoken narration (video only): seeded per-language map. */
|
|
75
|
+
narration?: NarrationByLang;
|
|
76
|
+
/** Injected text fields: seeded per-language map. */
|
|
77
|
+
text?: TextByLang;
|
|
78
|
+
/** Per-language browser-locale overrides (e.g. `{ en: 'en-GB' }`). */
|
|
79
|
+
locales?: Partial<Record<Lang, string>>;
|
|
80
|
+
/** Recording mode. Defaults to `'per-language'`. */
|
|
81
|
+
mode?: LocalizeMode;
|
|
82
|
+
/** Set the browser locale per language pass. Defaults to `true`. */
|
|
83
|
+
browserLocale?: boolean;
|
|
84
|
+
};
|
|
85
|
+
/** A normalized narration cue value (text with optional per-cue voice, or media). */
|
|
86
|
+
export type NormalizedCueValue = {
|
|
87
|
+
kind: 'text';
|
|
88
|
+
text: string;
|
|
89
|
+
voice?: VoiceConfig;
|
|
90
|
+
language?: Lang;
|
|
91
|
+
volume?: number;
|
|
92
|
+
} | {
|
|
93
|
+
kind: 'media';
|
|
94
|
+
path: string;
|
|
95
|
+
subtitle?: string;
|
|
96
|
+
volume?: number;
|
|
97
|
+
};
|
|
98
|
+
export type NormalizedNarration = {
|
|
99
|
+
/** Every cue name: seeded then Studio, in declared order. */
|
|
100
|
+
cueNames: string[];
|
|
101
|
+
/** Studio-managed cue names. */
|
|
102
|
+
studioNames: string[];
|
|
103
|
+
/** Seeded cue names (declared in the per-language maps). */
|
|
104
|
+
seededNames: string[];
|
|
105
|
+
/** Seeded values: language -> (cue name -> normalized value). */
|
|
106
|
+
seedByLang: Partial<Record<Lang, Record<string, NormalizedCueValue>>>;
|
|
107
|
+
} | null;
|
|
108
|
+
export type NormalizedText = {
|
|
109
|
+
/** Every field name: seeded then Studio, in declared order. */
|
|
110
|
+
fieldNames: string[];
|
|
111
|
+
/** Studio-managed field names. */
|
|
112
|
+
studioNames: string[];
|
|
113
|
+
/** Seeded field names. */
|
|
114
|
+
seededNames: string[];
|
|
115
|
+
/** Seeded values: language -> (field name -> string). */
|
|
116
|
+
seedByLang: Partial<Record<Lang, Record<string, string>>>;
|
|
117
|
+
} | null;
|
|
118
|
+
export type NormalizedLocalize = {
|
|
119
|
+
languages: string[];
|
|
120
|
+
mode: LocalizeMode;
|
|
121
|
+
browserLocale: boolean;
|
|
122
|
+
locales?: Partial<Record<Lang, string>>;
|
|
123
|
+
narration: NormalizedNarration;
|
|
124
|
+
text: NormalizedText;
|
|
125
|
+
/** Per-language localize `voice` overrides (absent language = use config default). */
|
|
126
|
+
voiceByLang: Partial<Record<Lang, VoiceConfig>>;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Normalize and validate a localize spec: resolve narration/text into seeded
|
|
130
|
+
* values + Studio name lists, infer the language set (union of seeded keys and
|
|
131
|
+
* the explicit `languages`), and validate disjointness, identical seeded keys,
|
|
132
|
+
* and voice coverage. Pure and exported for testing.
|
|
133
|
+
*/
|
|
134
|
+
export declare function normalizeLocalizeSpec(spec: LocalizeSpec): NormalizedLocalize;
|
|
135
|
+
//# sourceMappingURL=localize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localize.d.ts","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { supportedLanguages } from './voices.js';
|
|
2
|
+
const SUPPORTED_LANGUAGE_SET = new Set(supportedLanguages);
|
|
3
|
+
function dedupe(values) {
|
|
4
|
+
const seen = new Set();
|
|
5
|
+
const out = [];
|
|
6
|
+
for (const value of values) {
|
|
7
|
+
if (seen.has(value))
|
|
8
|
+
continue;
|
|
9
|
+
seen.add(value);
|
|
10
|
+
out.push(value);
|
|
11
|
+
}
|
|
12
|
+
return out;
|
|
13
|
+
}
|
|
14
|
+
/** Union of a seeded map's inner keys across all languages, in first-seen order. */
|
|
15
|
+
function collectSeededNames(seed) {
|
|
16
|
+
const out = [];
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
for (const perLang of Object.values(seed)) {
|
|
19
|
+
if (perLang === undefined)
|
|
20
|
+
continue;
|
|
21
|
+
for (const name of Object.keys(perLang)) {
|
|
22
|
+
if (seen.has(name))
|
|
23
|
+
continue;
|
|
24
|
+
seen.add(name);
|
|
25
|
+
out.push(name);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
function normalizeCueValue(name, value) {
|
|
31
|
+
if (typeof value === 'string') {
|
|
32
|
+
return { kind: 'text', text: value };
|
|
33
|
+
}
|
|
34
|
+
if ('cue' in value) {
|
|
35
|
+
return {
|
|
36
|
+
kind: 'text',
|
|
37
|
+
text: value.cue,
|
|
38
|
+
...(value.voice !== undefined && { voice: value.voice }),
|
|
39
|
+
...(value.language !== undefined && { language: value.language }),
|
|
40
|
+
...(value.volume !== undefined && { volume: value.volume }),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (!('media' in value) && !('path' in value)) {
|
|
44
|
+
throw new Error(`localize(): narration cue "${name}" must be a string, a { cue } object, or a { media | path } object.`);
|
|
45
|
+
}
|
|
46
|
+
const path = 'media' in value ? value.media : value.path;
|
|
47
|
+
return {
|
|
48
|
+
kind: 'media',
|
|
49
|
+
path,
|
|
50
|
+
...(value.subtitle !== undefined && { subtitle: value.subtitle }),
|
|
51
|
+
...(value.volume !== undefined && { volume: value.volume }),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Languages a seeded map provides values for, in first-seen order. */
|
|
55
|
+
function seedLanguages(seed) {
|
|
56
|
+
if (seed === undefined)
|
|
57
|
+
return [];
|
|
58
|
+
return Object.keys(seed);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Every declared language must seed exactly the seeded names (identical keys
|
|
62
|
+
* across languages). Backstops the TypeScript guarantee at runtime.
|
|
63
|
+
*/
|
|
64
|
+
function assertIdenticalSeededKeys(label, seed, seededNames, languages) {
|
|
65
|
+
if (seededNames.length === 0)
|
|
66
|
+
return;
|
|
67
|
+
const expected = new Set(seededNames);
|
|
68
|
+
for (const lang of languages) {
|
|
69
|
+
const perLang = seed[lang];
|
|
70
|
+
const keys = perLang ? Object.keys(perLang) : [];
|
|
71
|
+
const present = new Set(keys);
|
|
72
|
+
const missing = seededNames.filter((name) => !present.has(name));
|
|
73
|
+
const extra = keys.filter((name) => !expected.has(name));
|
|
74
|
+
if (missing.length === 0 && extra.length === 0)
|
|
75
|
+
continue;
|
|
76
|
+
const parts = [];
|
|
77
|
+
if (missing.length > 0)
|
|
78
|
+
parts.push(`missing ${missing.join(', ')}`);
|
|
79
|
+
if (extra.length > 0)
|
|
80
|
+
parts.push(`unexpected ${extra.join(', ')}`);
|
|
81
|
+
throw new Error(`localize(): ${label} for "${lang}" must declare the same keys as every other language (${seededNames.join(', ')}): ${parts.join('; ')}.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function normalizeNarration(input) {
|
|
85
|
+
const hasSeed = input !== undefined && Object.keys(input).length > 0;
|
|
86
|
+
if (!hasSeed) {
|
|
87
|
+
return { normalized: null, seedLangs: [] };
|
|
88
|
+
}
|
|
89
|
+
const seedByLang = {};
|
|
90
|
+
const seededNames = collectSeededNames(input);
|
|
91
|
+
for (const [lang, cues] of Object.entries(input)) {
|
|
92
|
+
if (cues === undefined)
|
|
93
|
+
continue;
|
|
94
|
+
const normalizedCues = {};
|
|
95
|
+
for (const [name, value] of Object.entries(cues)) {
|
|
96
|
+
normalizedCues[name] = normalizeCueValue(name, value);
|
|
97
|
+
}
|
|
98
|
+
seedByLang[lang] = normalizedCues;
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
normalized: {
|
|
102
|
+
cueNames: seededNames,
|
|
103
|
+
studioNames: [],
|
|
104
|
+
seededNames,
|
|
105
|
+
seedByLang,
|
|
106
|
+
},
|
|
107
|
+
seedLangs: seedLanguages(input),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function normalizeText(input) {
|
|
111
|
+
const hasSeed = input !== undefined && Object.keys(input).length > 0;
|
|
112
|
+
if (!hasSeed) {
|
|
113
|
+
return { normalized: null, seedLangs: [] };
|
|
114
|
+
}
|
|
115
|
+
const seedByLang = {};
|
|
116
|
+
const seededNames = collectSeededNames(input);
|
|
117
|
+
for (const [lang, fields] of Object.entries(input)) {
|
|
118
|
+
if (fields === undefined)
|
|
119
|
+
continue;
|
|
120
|
+
seedByLang[lang] = { ...fields };
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
normalized: {
|
|
124
|
+
fieldNames: seededNames,
|
|
125
|
+
studioNames: [],
|
|
126
|
+
seededNames,
|
|
127
|
+
seedByLang,
|
|
128
|
+
},
|
|
129
|
+
seedLangs: seedLanguages(input),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function normalizeVoice(voice, languages) {
|
|
133
|
+
if (voice === undefined)
|
|
134
|
+
return {};
|
|
135
|
+
// Per-language overrides only. Languages omitted from the map fall back to the
|
|
136
|
+
// config/global default voice set via `use`, so the map may be partial; it may
|
|
137
|
+
// not name a language outside the declared set (catches typos).
|
|
138
|
+
const extra = Object.keys(voice).filter((lang) => !languages.includes(lang));
|
|
139
|
+
if (extra.length > 0) {
|
|
140
|
+
throw new Error(`localize(): voice map names language(s) ${extra.join(', ')} that are not part of this localization (${languages.join(', ')}).`);
|
|
141
|
+
}
|
|
142
|
+
const out = {};
|
|
143
|
+
for (const [lang, config] of Object.entries(voice)) {
|
|
144
|
+
if (config !== undefined)
|
|
145
|
+
out[lang] = config;
|
|
146
|
+
}
|
|
147
|
+
return out;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Normalize and validate a localize spec: resolve narration/text into seeded
|
|
151
|
+
* values + Studio name lists, infer the language set (union of seeded keys and
|
|
152
|
+
* the explicit `languages`), and validate disjointness, identical seeded keys,
|
|
153
|
+
* and voice coverage. Pure and exported for testing.
|
|
154
|
+
*/
|
|
155
|
+
export function normalizeLocalizeSpec(spec) {
|
|
156
|
+
const { normalized: narration, seedLangs: narrationLangs } = normalizeNarration(spec.narration);
|
|
157
|
+
const { normalized: text, seedLangs: textLangs } = normalizeText(spec.text);
|
|
158
|
+
const hasExplicitLanguages = spec.languages !== undefined && spec.languages.length > 0;
|
|
159
|
+
if (narration === null && text === null && !hasExplicitLanguages) {
|
|
160
|
+
throw new Error('localize(): nothing to localize. Provide narration and/or text (seeded maps), or pass `languages: [...]` when every cue/field is Studio-managed via video.studio({...}).');
|
|
161
|
+
}
|
|
162
|
+
const seededLanguages = dedupe([...narrationLangs, ...textLangs]);
|
|
163
|
+
let languages;
|
|
164
|
+
if (hasExplicitLanguages) {
|
|
165
|
+
languages = dedupe([...spec.languages, ...seededLanguages]);
|
|
166
|
+
}
|
|
167
|
+
else if (seededLanguages.length > 0) {
|
|
168
|
+
languages = seededLanguages;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
throw new Error('localize(): no languages. Pass `languages: [...]`, or seed narration/text with per-language values.');
|
|
172
|
+
}
|
|
173
|
+
for (const lang of languages) {
|
|
174
|
+
if (!SUPPORTED_LANGUAGE_SET.has(lang)) {
|
|
175
|
+
throw new Error(`localize(): unsupported language "${lang}". Use a supported code such as "en" or "fi".`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (narration !== null) {
|
|
179
|
+
assertIdenticalSeededKeys('narration', narration.seedByLang, narration.seededNames, languages);
|
|
180
|
+
}
|
|
181
|
+
if (text !== null) {
|
|
182
|
+
assertIdenticalSeededKeys('text', text.seedByLang, text.seededNames, languages);
|
|
183
|
+
}
|
|
184
|
+
const voiceByLang = normalizeVoice(spec.voice, languages);
|
|
185
|
+
return {
|
|
186
|
+
languages,
|
|
187
|
+
mode: spec.mode ?? 'per-language',
|
|
188
|
+
browserLocale: spec.browserLocale ?? true,
|
|
189
|
+
...(spec.locales !== undefined && { locales: spec.locales }),
|
|
190
|
+
narration,
|
|
191
|
+
text,
|
|
192
|
+
voiceByLang,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=localize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type NarrationCue } from './cue.js';
|
|
2
|
+
import type { NormalizedLocalize } from './localize.js';
|
|
3
|
+
import type { TextOverrides } from './runtimeMode.js';
|
|
4
|
+
import type { TopLevelVoiceConfig } from './voiceConfig.js';
|
|
5
|
+
import type { RenderOptions } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* The config/global default narration voice from a recording's render options.
|
|
8
|
+
* This is the lowest-priority entry in the voice cascade: the localize `voice`
|
|
9
|
+
* (per-language) and per-cue `voice` override it. When render options are
|
|
10
|
+
* deferred to Studio (`video.studio({ renderOptions: true })`) there is no code
|
|
11
|
+
* voice here (Studio owns it at render).
|
|
12
|
+
*/
|
|
13
|
+
export declare function narrationVoiceConfigFromRenderOptions(renderOptions: RenderOptions | undefined, studioRenderOptions: boolean): TopLevelVoiceConfig | undefined;
|
|
14
|
+
/** Narration markers keyed by cue name. Markers carry timing, never text. */
|
|
15
|
+
export type NarrationMarkers = Record<string, NarrationCue>;
|
|
16
|
+
/** Per-language text field values, keyed by field name. */
|
|
17
|
+
export type TextValues = Record<string, string>;
|
|
18
|
+
/**
|
|
19
|
+
* Build the `narration` marker object for a localized recording. Seeded cues
|
|
20
|
+
* emit translations carrying the resolved voice + spoken text (filtered to the
|
|
21
|
+
* active language by the recorder); Studio-managed cues emit studio cues whose
|
|
22
|
+
* text is owned by Studio. The markers expose only timing, never the text.
|
|
23
|
+
*
|
|
24
|
+
* The narration voice is resolved per `(cue, language)`: per-cue `voice` →
|
|
25
|
+
* localize `voiceByLang` → the config/global `defaultVoice` → a built-in voice.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildNarrationMarkers(localize: NormalizedLocalize | undefined, defaultVoice?: TopLevelVoiceConfig, studioNarration?: readonly string[]): NarrationMarkers;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the `text` field values for the active language: a Studio override (if
|
|
30
|
+
* present, from {@link parseTextOverrides}) wins over the code-declared seed.
|
|
31
|
+
* A Studio-managed field has no seed, so until it is set in Studio it resolves
|
|
32
|
+
* to the empty string (the recording still succeeds, and Studio learns the field
|
|
33
|
+
* from the emitted declaration and flags it as needing input).
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildTextValues(localize: NormalizedLocalize | undefined, language: string | undefined, overrides?: TextOverrides | null, studioText?: readonly string[]): TextValues;
|
|
36
|
+
/** A localized text declaration emitted to the backend at recording start. */
|
|
37
|
+
export type TextDeclaration = {
|
|
38
|
+
/** Every field name (seeded then Studio-managed), in declared order. */
|
|
39
|
+
fields: string[];
|
|
40
|
+
/** Studio-managed field names (declared via `studio.text`, no code seed). */
|
|
41
|
+
studioFields: string[];
|
|
42
|
+
/** Code seeds keyed `{ [language]: { [field]: value } }`. Omitted when empty. */
|
|
43
|
+
seed?: Record<string, Record<string, string>>;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Build the declaration of `text` fields to emit at recording start so the
|
|
47
|
+
* backend learns which fields exist and their code seeds. In a per-language pass
|
|
48
|
+
* `language` is the active language and only its seeds are included (mirroring
|
|
49
|
+
* how cue translations carry a single language). Returns `null` when the spec
|
|
50
|
+
* declares no `text`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildTextDeclaration(localize: NormalizedLocalize | undefined, language: string | undefined, studioText?: readonly string[]): TextDeclaration | null;
|
|
53
|
+
//# sourceMappingURL=localizeRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localizeRuntime.d.ts","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,mBAAmB,EAAE,OAAO,GAC3B,mBAAmB,GAAG,SAAS,CAKjC;AAED,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAE3D,2DAA2D;AAC3D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE/C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,YAAY,CAAC,EAAE,mBAAmB,EAClC,eAAe,GAAE,SAAS,MAAM,EAAO,GACtC,gBAAgB,CAUlB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,EAChC,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,UAAU,CAgBZ;AAED,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG;IAC5B,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,eAAe,GAAG,IAAI,CAqBxB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { buildLocalizedNarrationCues, buildStudioNarrationCues, } from './cue.js';
|
|
2
|
+
/**
|
|
3
|
+
* The config/global default narration voice from a recording's render options.
|
|
4
|
+
* This is the lowest-priority entry in the voice cascade: the localize `voice`
|
|
5
|
+
* (per-language) and per-cue `voice` override it. When render options are
|
|
6
|
+
* deferred to Studio (`video.studio({ renderOptions: true })`) there is no code
|
|
7
|
+
* voice here (Studio owns it at render).
|
|
8
|
+
*/
|
|
9
|
+
export function narrationVoiceConfigFromRenderOptions(renderOptions, studioRenderOptions) {
|
|
10
|
+
if (studioRenderOptions || renderOptions === undefined) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return renderOptions.narration?.voice;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Build the `narration` marker object for a localized recording. Seeded cues
|
|
17
|
+
* emit translations carrying the resolved voice + spoken text (filtered to the
|
|
18
|
+
* active language by the recorder); Studio-managed cues emit studio cues whose
|
|
19
|
+
* text is owned by Studio. The markers expose only timing, never the text.
|
|
20
|
+
*
|
|
21
|
+
* The narration voice is resolved per `(cue, language)`: per-cue `voice` →
|
|
22
|
+
* localize `voiceByLang` → the config/global `defaultVoice` → a built-in voice.
|
|
23
|
+
*/
|
|
24
|
+
export function buildNarrationMarkers(localize, defaultVoice, studioNarration = []) {
|
|
25
|
+
const seeded = localize
|
|
26
|
+
? buildLocalizedNarrationCues(localize.narration, localize.voiceByLang, defaultVoice)
|
|
27
|
+
: {};
|
|
28
|
+
if (studioNarration.length === 0)
|
|
29
|
+
return seeded;
|
|
30
|
+
return { ...seeded, ...buildStudioNarrationCues(studioNarration) };
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the `text` field values for the active language: a Studio override (if
|
|
34
|
+
* present, from {@link parseTextOverrides}) wins over the code-declared seed.
|
|
35
|
+
* A Studio-managed field has no seed, so until it is set in Studio it resolves
|
|
36
|
+
* to the empty string (the recording still succeeds, and Studio learns the field
|
|
37
|
+
* from the emitted declaration and flags it as needing input).
|
|
38
|
+
*/
|
|
39
|
+
export function buildTextValues(localize, language, overrides, studioText = []) {
|
|
40
|
+
const text = localize?.text;
|
|
41
|
+
const fieldNames = [...(text?.fieldNames ?? []), ...studioText];
|
|
42
|
+
if (fieldNames.length === 0)
|
|
43
|
+
return {};
|
|
44
|
+
const override = language !== undefined ? overrides?.[language] : undefined;
|
|
45
|
+
const seed = language !== undefined && text
|
|
46
|
+
? text.seedByLang[language]
|
|
47
|
+
: undefined;
|
|
48
|
+
const values = {};
|
|
49
|
+
for (const field of fieldNames) {
|
|
50
|
+
values[field] = override?.[field] ?? seed?.[field] ?? '';
|
|
51
|
+
}
|
|
52
|
+
return values;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build the declaration of `text` fields to emit at recording start so the
|
|
56
|
+
* backend learns which fields exist and their code seeds. In a per-language pass
|
|
57
|
+
* `language` is the active language and only its seeds are included (mirroring
|
|
58
|
+
* how cue translations carry a single language). Returns `null` when the spec
|
|
59
|
+
* declares no `text`.
|
|
60
|
+
*/
|
|
61
|
+
export function buildTextDeclaration(localize, language, studioText = []) {
|
|
62
|
+
const text = localize?.text;
|
|
63
|
+
const seededFields = text?.fieldNames ?? [];
|
|
64
|
+
const fields = [...seededFields, ...studioText];
|
|
65
|
+
if (fields.length === 0)
|
|
66
|
+
return null;
|
|
67
|
+
const declaration = {
|
|
68
|
+
fields,
|
|
69
|
+
studioFields: [...studioText],
|
|
70
|
+
};
|
|
71
|
+
if (language !== undefined && text) {
|
|
72
|
+
const langSeed = text.seedByLang[language];
|
|
73
|
+
if (langSeed !== undefined && Object.keys(langSeed).length > 0) {
|
|
74
|
+
declaration.seed = { [language]: langSeed };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return declaration;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=localizeRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localizeRuntime.js","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GAEzB,MAAM,UAAU,CAAA;AAMjB;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CACnD,aAAwC,EACxC,mBAA4B;IAE5B,IAAI,mBAAmB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,aAAa,CAAC,SAAS,EAAE,KAAK,CAAA;AACvC,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAwC,EACxC,YAAkC,EAClC,kBAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,2BAA2B,CACzB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,WAAW,EACpB,YAAY,CACb;QACH,CAAC,CAAC,EAAE,CAAA;IACN,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IAC/C,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAA;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAwC,EACxC,QAA4B,EAC5B,SAAgC,EAChC,aAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAA;IAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEtC,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS,IAAI,IAAI;QAC5B,CAAC,CAAE,IAAI,CAAC,UAAqD,CAAC,QAAQ,CAAC;QACvE,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAwC,EACxC,QAA4B,EAC5B,aAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAA;IAC3B,MAAM,YAAY,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,MAAM,WAAW,GAAoB;QACnC,MAAM;QACN,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;KAC9B,CAAA;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,QAAQ,GACZ,IAAI,CAAC,UACN,CAAC,QAAQ,CAAC,CAAA;QACX,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
|
@@ -113,7 +113,7 @@ export type CueStartEvent = {
|
|
|
113
113
|
type: 'cueStart';
|
|
114
114
|
timeMs: number;
|
|
115
115
|
name: string;
|
|
116
|
-
/** Cue declared via
|
|
116
|
+
/** Cue declared via the Studio-managed (name-only) narration form — text and voice come from Studio. */
|
|
117
117
|
studio?: true;
|
|
118
118
|
text?: string;
|
|
119
119
|
cueConfig?: CueConfig;
|
|
@@ -153,7 +153,7 @@ export type VideoCueStartEvent = {
|
|
|
153
153
|
type: 'videoCueStart';
|
|
154
154
|
timeMs: number;
|
|
155
155
|
name: string;
|
|
156
|
-
/** Cue declared via
|
|
156
|
+
/** Cue declared via the Studio-managed (name-only) narration form whose Studio entry is a media file. */
|
|
157
157
|
studio?: true;
|
|
158
158
|
assetHash?: string;
|
|
159
159
|
assetPath?: string;
|
|
@@ -196,8 +196,9 @@ export type VideoAssetStartEvent = {
|
|
|
196
196
|
};
|
|
197
197
|
export type AssetStartEvent = ImageAssetStartEvent | VideoAssetStartEvent;
|
|
198
198
|
/**
|
|
199
|
-
*
|
|
200
|
-
* configured in Studio, so the recording only marks
|
|
199
|
+
* Studio-managed overlay declared via `video.studio({ overlays: [...] })`. The
|
|
200
|
+
* file and display options are configured in Studio, so the recording only marks
|
|
201
|
+
* the timeline point.
|
|
201
202
|
*/
|
|
202
203
|
export type StudioAssetStartEvent = {
|
|
203
204
|
type: 'assetStart';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordingData.d.ts","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"recordingData.d.ts","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Page } from '@playwright/test';
|
|
2
2
|
import { type IEventRecorder, type ElementRect } from './events.js';
|
|
3
3
|
import type { AutoZoomOptions, RecordOptions, RenderOptions } from './types.js';
|
|
4
|
-
import type { StudioRenderOptionsSentinel } from './studio.js';
|
|
5
4
|
import type { ScreenshotCropRecord } from './crop.js';
|
|
6
5
|
export type CurrentZoomViewport = {
|
|
7
6
|
focusPoint: {
|
|
@@ -72,7 +71,7 @@ export type ScreenCIRuntimeContext = {
|
|
|
72
71
|
/** Resolved capture options for the active recording, when available. */
|
|
73
72
|
recordOptions: RecordOptions | null;
|
|
74
73
|
/** Base render options for the active recording (drive a still's framing). */
|
|
75
|
-
renderOptions: RenderOptions |
|
|
74
|
+
renderOptions: RenderOptions | undefined;
|
|
76
75
|
/**
|
|
77
76
|
* Crop recorded for the current `screenshot()` fixture capture, or null for the
|
|
78
77
|
* full image. Set via the `crop` fixture argument and read by the fixture at
|
|
@@ -109,7 +108,7 @@ export declare function createScreenCIRuntimeContext(overrides?: {
|
|
|
109
108
|
testFilePath?: string | null;
|
|
110
109
|
recordingDir?: string | null;
|
|
111
110
|
recordOptions?: RecordOptions | null;
|
|
112
|
-
renderOptions?: RenderOptions |
|
|
111
|
+
renderOptions?: RenderOptions | undefined;
|
|
113
112
|
}): ScreenCIRuntimeContext;
|
|
114
113
|
export declare function runWithScreenCIRuntimeContext<T>(context: ScreenCIRuntimeContext, fn: () => T): T;
|
|
115
114
|
export declare function getScreenCIRuntimeContext(): ScreenCIRuntimeContext;
|
|
@@ -130,7 +129,7 @@ export declare function setRuntimePage(page: Page | null): void;
|
|
|
130
129
|
export declare function getRuntimePage(): Page | null;
|
|
131
130
|
export declare function getRuntimeRecordingDir(): string | null;
|
|
132
131
|
export declare function getRuntimeRecordOptions(): RecordOptions | null;
|
|
133
|
-
export declare function getRuntimeRenderOptions(): RenderOptions |
|
|
132
|
+
export declare function getRuntimeRenderOptions(): RenderOptions | undefined;
|
|
134
133
|
export declare function setRuntimeCrop(crop: ScreenshotCropRecord | null): void;
|
|
135
134
|
export declare function getRuntimeCrop(): ScreenshotCropRecord | undefined;
|
|
136
135
|
export declare function resetCueRuntimeState(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeContext.d.ts","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"runtimeContext.d.ts","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeContext.js","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EACL,mBAAmB,GAGpB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"runtimeContext.js","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"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"}
|