screenci 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +51 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +557 -200
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +253 -98
- package/dist/docs/manifest.d.ts.map +1 -1
- package/dist/docs/manifest.js +92 -32
- package/dist/docs/manifest.js.map +1 -1
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts +2 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js +57 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js.map +1 -0
- package/dist/docs/video-sources/installation.screenci.js +14 -3
- package/dist/docs/video-sources/installation.screenci.js.map +1 -1
- package/dist/docs/video-sources/languages.screenci.d.ts +2 -0
- package/dist/docs/video-sources/languages.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/languages.screenci.js +68 -0
- package/dist/docs/video-sources/languages.screenci.js.map +1 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js +1 -1
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
- package/dist/docs/video-sources/narration.screenci.d.ts +2 -0
- package/dist/docs/video-sources/narration.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/narration.screenci.js +71 -0
- package/dist/docs/video-sources/narration.screenci.js.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts +2 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js +60 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts +2 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.js +76 -0
- package/dist/docs/video-sources/speaking-style.screenci.js.map +1 -0
- package/dist/docs/video-sources/vertical-video.screenci.d.ts +2 -0
- package/dist/docs/video-sources/vertical-video.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/vertical-video.screenci.js +58 -0
- package/dist/docs/video-sources/vertical-video.screenci.js.map +1 -0
- package/dist/docs/videos.d.ts +20 -0
- package/dist/docs/videos.d.ts.map +1 -1
- package/dist/docs/videos.js +25 -0
- package/dist/docs/videos.js.map +1 -1
- package/dist/e2e/instrument.e2e.js +8 -0
- package/dist/e2e/instrument.e2e.js.map +1 -1
- package/dist/e2e/redact.e2e.d.ts +2 -0
- package/dist/e2e/redact.e2e.d.ts.map +1 -0
- package/dist/e2e/redact.e2e.js +161 -0
- package/dist/e2e/redact.e2e.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +154 -13
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +262 -32
- package/dist/src/asset.js.map +1 -1
- package/dist/src/assetHash.d.ts +27 -0
- package/dist/src/assetHash.d.ts.map +1 -0
- package/dist/src/assetHash.js +0 -0
- package/dist/src/assetHash.js.map +1 -0
- package/dist/src/audio.d.ts +8 -5
- package/dist/src/audio.d.ts.map +1 -1
- package/dist/src/audio.js +56 -31
- package/dist/src/audio.js.map +1 -1
- package/dist/src/builder.d.ts +132 -32
- package/dist/src/builder.d.ts.map +1 -1
- package/dist/src/builder.js +66 -20
- package/dist/src/builder.js.map +1 -1
- package/dist/src/changeFocus.d.ts.map +1 -1
- package/dist/src/changeFocus.js +103 -34
- package/dist/src/changeFocus.js.map +1 -1
- package/dist/src/cue.d.ts +29 -17
- package/dist/src/cue.d.ts.map +1 -1
- package/dist/src/cue.js +138 -61
- package/dist/src/cue.js.map +1 -1
- package/dist/src/declare.d.ts +8 -4
- package/dist/src/declare.d.ts.map +1 -1
- package/dist/src/declare.js +28 -10
- package/dist/src/declare.js.map +1 -1
- package/dist/src/defaults.d.ts +23 -0
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +23 -0
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/events.d.ts +289 -25
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +145 -13
- package/dist/src/events.js.map +1 -1
- package/dist/src/htmlRasterizer.d.ts +10 -0
- package/dist/src/htmlRasterizer.d.ts.map +1 -1
- package/dist/src/htmlRasterizer.js +12 -2
- package/dist/src/htmlRasterizer.js.map +1 -1
- package/dist/src/init.d.ts +2 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +64 -18
- package/dist/src/init.js.map +1 -1
- package/dist/src/instrument.d.ts.map +1 -1
- package/dist/src/instrument.js +25 -7
- package/dist/src/instrument.js.map +1 -1
- package/dist/src/locales.d.ts.map +1 -1
- package/dist/src/locales.js +1 -0
- package/dist/src/locales.js.map +1 -1
- package/dist/src/localize.d.ts +25 -17
- package/dist/src/localize.d.ts.map +1 -1
- package/dist/src/localize.js +18 -10
- package/dist/src/localize.js.map +1 -1
- package/dist/src/localizeRuntime.d.ts +18 -13
- package/dist/src/localizeRuntime.d.ts.map +1 -1
- package/dist/src/localizeRuntime.js +28 -18
- package/dist/src/localizeRuntime.js.map +1 -1
- package/dist/src/logger.d.ts +5 -0
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +7 -0
- package/dist/src/logger.js.map +1 -1
- package/dist/src/narrationVisibility.d.ts +19 -0
- package/dist/src/narrationVisibility.d.ts.map +1 -0
- package/dist/src/narrationVisibility.js +26 -0
- package/dist/src/narrationVisibility.js.map +1 -0
- package/dist/src/recordingData.d.ts +7 -0
- package/dist/src/recordingData.d.ts.map +1 -1
- package/dist/src/recordingSize.d.ts +32 -0
- package/dist/src/recordingSize.d.ts.map +1 -0
- package/dist/src/recordingSize.js +54 -0
- package/dist/src/recordingSize.js.map +1 -0
- package/dist/src/redact.d.ts +68 -0
- package/dist/src/redact.d.ts.map +1 -0
- package/dist/src/redact.js +138 -0
- package/dist/src/redact.js.map +1 -0
- package/dist/src/redactController.d.ts +61 -0
- package/dist/src/redactController.d.ts.map +1 -0
- package/dist/src/redactController.js +232 -0
- package/dist/src/redactController.js.map +1 -0
- package/dist/src/runtimeContext.d.ts +32 -0
- package/dist/src/runtimeContext.d.ts.map +1 -1
- package/dist/src/runtimeContext.js +21 -0
- package/dist/src/runtimeContext.js.map +1 -1
- package/dist/src/runtimeMode.d.ts +15 -7
- package/dist/src/runtimeMode.d.ts.map +1 -1
- package/dist/src/runtimeMode.js +17 -6
- package/dist/src/runtimeMode.js.map +1 -1
- package/dist/src/screenAudio.d.ts +34 -4
- package/dist/src/screenAudio.d.ts.map +1 -1
- package/dist/src/screenAudio.js +0 -0
- package/dist/src/screenAudio.js.map +1 -1
- package/dist/src/screenAudioSink.d.ts +12 -0
- package/dist/src/screenAudioSink.d.ts.map +1 -1
- package/dist/src/screenAudioSink.js +30 -0
- package/dist/src/screenAudioSink.js.map +1 -1
- package/dist/src/screenshot.d.ts +16 -14
- package/dist/src/screenshot.d.ts.map +1 -1
- package/dist/src/screenshot.js +11 -11
- package/dist/src/screenshot.js.map +1 -1
- package/dist/src/sourceTrim.d.ts +29 -0
- package/dist/src/sourceTrim.d.ts.map +1 -0
- package/dist/src/sourceTrim.js +76 -0
- package/dist/src/sourceTrim.js.map +1 -0
- package/dist/src/studio.d.ts +71 -3
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +19 -1
- package/dist/src/studio.js.map +1 -1
- package/dist/src/timelineOffset.d.ts +46 -0
- package/dist/src/timelineOffset.d.ts.map +1 -0
- package/dist/src/timelineOffset.js +66 -0
- package/dist/src/timelineOffset.js.map +1 -0
- package/dist/src/titleValidation.d.ts +38 -0
- package/dist/src/titleValidation.d.ts.map +1 -1
- package/dist/src/titleValidation.js +42 -0
- package/dist/src/titleValidation.js.map +1 -1
- package/dist/src/types.d.ts +85 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/video.d.ts +37 -34
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +99 -48
- package/dist/src/video.js.map +1 -1
- package/dist/src/voiceSampleAudio.d.ts +34 -0
- package/dist/src/voiceSampleAudio.d.ts.map +1 -0
- package/dist/src/voiceSampleAudio.js +105 -0
- package/dist/src/voiceSampleAudio.js.map +1 -0
- package/dist/src/voices.d.ts +2 -2
- package/dist/src/voices.d.ts.map +1 -1
- package/dist/src/voices.js +8 -3
- package/dist/src/voices.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/templates/recordings/assets/logo.png +0 -0
package/dist/src/locales.js
CHANGED
package/dist/src/locales.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/locales.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkC;IACrE,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,GAAG,EAAE,OAAO;CACb,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,SAAyC;IAEzC,MAAM,GAAG,GAAG,IAAY,CAAA;IACxB,OAAO,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;AAClE,CAAC"}
|
|
1
|
+
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/locales.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkC;IACrE,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;IACX,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,OAAO;CACb,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,SAAyC;IAEzC,MAAM,GAAG,GAAG,IAAY,CAAA;IACxB,OAAO,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;AAClE,CAAC"}
|
package/dist/src/localize.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type Lang } from './voices.js';
|
|
2
2
|
import type { LangNarrationOverride } from './voiceConfig.js';
|
|
3
|
+
import type { OverlayCrop, SourceTrimPoint } from './events.js';
|
|
4
|
+
import type { TimelineOffset } from './timelineOffset.js';
|
|
3
5
|
/**
|
|
4
6
|
* A voice configuration used inside a `localize` spec. Allows a `seed` (it can
|
|
5
7
|
* sit on a per-language or per-cue voice), discriminated by voice name like the
|
|
@@ -26,26 +28,28 @@ export type LocalizeMode = 'per-language' | 'shared';
|
|
|
26
28
|
* key is `cue` (not `text`) so it never collides with the injected `text` fields.
|
|
27
29
|
* - `{ media | path, subtitle?, volume? }`: a pre-recorded audio file.
|
|
28
30
|
*/
|
|
31
|
+
type LocalizeNarrationMediaFields = {
|
|
32
|
+
subtitle?: string;
|
|
33
|
+
volume?: number;
|
|
34
|
+
crop?: OverlayCrop;
|
|
35
|
+
start?: TimelineOffset;
|
|
36
|
+
end?: TimelineOffset;
|
|
37
|
+
language?: never;
|
|
38
|
+
};
|
|
29
39
|
export type LocalizeNarrationValue = string | {
|
|
30
40
|
cue: string;
|
|
31
41
|
voice?: VoiceConfig;
|
|
32
42
|
language?: Lang;
|
|
33
43
|
volume?: number;
|
|
34
|
-
} | {
|
|
44
|
+
} | ({
|
|
35
45
|
media: string;
|
|
36
|
-
|
|
37
|
-
volume?: number;
|
|
38
|
-
language?: never;
|
|
39
|
-
} | {
|
|
46
|
+
} & LocalizeNarrationMediaFields) | ({
|
|
40
47
|
path: string;
|
|
41
|
-
|
|
42
|
-
volume?: number;
|
|
43
|
-
language?: never;
|
|
44
|
-
};
|
|
48
|
+
} & LocalizeNarrationMediaFields);
|
|
45
49
|
/** Seeded narration: language -> (cue name -> value). */
|
|
46
50
|
export type NarrationByLang = Partial<Record<Lang, Record<string, LocalizeNarrationValue>>>;
|
|
47
|
-
/** Seeded
|
|
48
|
-
export type
|
|
51
|
+
/** Seeded values: language -> (field name -> string). */
|
|
52
|
+
export type ValuesByLang = Partial<Record<Lang, Record<string, string>>>;
|
|
49
53
|
/**
|
|
50
54
|
* The `voice` field: a per-language map of voice overrides. Languages omitted
|
|
51
55
|
* from the map fall back to the config/global default voice set via `use`
|
|
@@ -57,7 +61,7 @@ export type LocalizeVoiceSpec = Partial<Record<Lang, VoiceConfig>>;
|
|
|
57
61
|
/**
|
|
58
62
|
* The localization spec passed to `video.localize(...)` / `screenshot.localize(...)`.
|
|
59
63
|
*
|
|
60
|
-
* `narration` and `
|
|
64
|
+
* `narration` and `values` are seeded per-language maps (keys must be identical
|
|
61
65
|
* across languages, enforced by TypeScript). Studio-managed cue/field names are
|
|
62
66
|
* declared separately via `video.studio({...})`. `voice` co-locates per-language
|
|
63
67
|
* narration voice overrides with the content; the all-languages default comes
|
|
@@ -73,8 +77,8 @@ export type LocalizeSpec = {
|
|
|
73
77
|
languages?: readonly string[];
|
|
74
78
|
/** Spoken narration (video only): seeded per-language map. */
|
|
75
79
|
narration?: NarrationByLang;
|
|
76
|
-
/** Injected
|
|
77
|
-
|
|
80
|
+
/** Injected values fields: seeded per-language map. */
|
|
81
|
+
values?: ValuesByLang;
|
|
78
82
|
/** Per-language browser-locale overrides (e.g. `{ en: 'en-GB' }`). */
|
|
79
83
|
locales?: Partial<Record<Lang, string>>;
|
|
80
84
|
/** Recording mode. Defaults to `'per-language'`. */
|
|
@@ -94,6 +98,9 @@ export type NormalizedCueValue = {
|
|
|
94
98
|
path: string;
|
|
95
99
|
subtitle?: string;
|
|
96
100
|
volume?: number;
|
|
101
|
+
crop?: OverlayCrop;
|
|
102
|
+
sourceStart?: SourceTrimPoint;
|
|
103
|
+
sourceEnd?: SourceTrimPoint;
|
|
97
104
|
};
|
|
98
105
|
export type NormalizedNarration = {
|
|
99
106
|
/** Every cue name: seeded then Studio, in declared order. */
|
|
@@ -105,7 +112,7 @@ export type NormalizedNarration = {
|
|
|
105
112
|
/** Seeded values: language -> (cue name -> normalized value). */
|
|
106
113
|
seedByLang: Partial<Record<Lang, Record<string, NormalizedCueValue>>>;
|
|
107
114
|
} | null;
|
|
108
|
-
export type
|
|
115
|
+
export type NormalizedValues = {
|
|
109
116
|
/** Every field name: seeded then Studio, in declared order. */
|
|
110
117
|
fieldNames: string[];
|
|
111
118
|
/** Studio-managed field names. */
|
|
@@ -121,16 +128,17 @@ export type NormalizedLocalize = {
|
|
|
121
128
|
browserLocale: boolean;
|
|
122
129
|
locales?: Partial<Record<Lang, string>>;
|
|
123
130
|
narration: NormalizedNarration;
|
|
124
|
-
|
|
131
|
+
values: NormalizedValues;
|
|
125
132
|
/** Per-language localize `voice` overrides (absent language = use config default). */
|
|
126
133
|
voiceByLang: Partial<Record<Lang, VoiceConfig>>;
|
|
127
134
|
};
|
|
128
135
|
export declare function normalizeCueValue(name: string, value: LocalizeNarrationValue): NormalizedCueValue;
|
|
129
136
|
/**
|
|
130
|
-
* Normalize and validate a localize spec: resolve narration/
|
|
137
|
+
* Normalize and validate a localize spec: resolve narration/values into seeded
|
|
131
138
|
* values + Studio name lists, infer the language set (union of seeded keys and
|
|
132
139
|
* the explicit `languages`), and validate disjointness, identical seeded keys,
|
|
133
140
|
* and voice coverage. Pure and exported for testing.
|
|
134
141
|
*/
|
|
135
142
|
export declare function normalizeLocalizeSpec(spec: LocalizeSpec): NormalizedLocalize;
|
|
143
|
+
export {};
|
|
136
144
|
//# sourceMappingURL=localize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localize.d.ts","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"localize.d.ts","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"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"}
|
package/dist/src/localize.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { supportedLanguages } from './voices.js';
|
|
2
|
+
import { validateCrop, resolveSourceTrim } from './sourceTrim.js';
|
|
2
3
|
const SUPPORTED_LANGUAGE_SET = new Set(supportedLanguages);
|
|
3
4
|
function dedupe(values) {
|
|
4
5
|
const seen = new Set();
|
|
@@ -44,11 +45,18 @@ export function normalizeCueValue(name, value) {
|
|
|
44
45
|
throw new Error(`localize(): narration cue "${name}" must be a string, a { cue } object, or a { media | path } object.`);
|
|
45
46
|
}
|
|
46
47
|
const path = 'media' in value ? value.media : value.path;
|
|
48
|
+
const label = `localize() narration cue "${name}" media "${path}"`;
|
|
49
|
+
if (value.crop !== undefined)
|
|
50
|
+
validateCrop(label, value.crop);
|
|
51
|
+
const { sourceStart, sourceEnd } = resolveSourceTrim(label, value.start, value.end);
|
|
47
52
|
return {
|
|
48
53
|
kind: 'media',
|
|
49
54
|
path,
|
|
50
55
|
...(value.subtitle !== undefined && { subtitle: value.subtitle }),
|
|
51
56
|
...(value.volume !== undefined && { volume: value.volume }),
|
|
57
|
+
...(value.crop !== undefined && { crop: value.crop }),
|
|
58
|
+
...(sourceStart !== undefined && { sourceStart }),
|
|
59
|
+
...(sourceEnd !== undefined && { sourceEnd }),
|
|
52
60
|
};
|
|
53
61
|
}
|
|
54
62
|
/** Languages a seeded map provides values for, in first-seen order. */
|
|
@@ -107,7 +115,7 @@ function normalizeNarration(input) {
|
|
|
107
115
|
seedLangs: seedLanguages(input),
|
|
108
116
|
};
|
|
109
117
|
}
|
|
110
|
-
function
|
|
118
|
+
function normalizeValues(input) {
|
|
111
119
|
const hasSeed = input !== undefined && Object.keys(input).length > 0;
|
|
112
120
|
if (!hasSeed) {
|
|
113
121
|
return { normalized: null, seedLangs: [] };
|
|
@@ -147,19 +155,19 @@ function normalizeVoice(voice, languages) {
|
|
|
147
155
|
return out;
|
|
148
156
|
}
|
|
149
157
|
/**
|
|
150
|
-
* Normalize and validate a localize spec: resolve narration/
|
|
158
|
+
* Normalize and validate a localize spec: resolve narration/values into seeded
|
|
151
159
|
* values + Studio name lists, infer the language set (union of seeded keys and
|
|
152
160
|
* the explicit `languages`), and validate disjointness, identical seeded keys,
|
|
153
161
|
* and voice coverage. Pure and exported for testing.
|
|
154
162
|
*/
|
|
155
163
|
export function normalizeLocalizeSpec(spec) {
|
|
156
164
|
const { normalized: narration, seedLangs: narrationLangs } = normalizeNarration(spec.narration);
|
|
157
|
-
const { normalized:
|
|
165
|
+
const { normalized: values, seedLangs: valuesLangs } = normalizeValues(spec.values);
|
|
158
166
|
const hasExplicitLanguages = spec.languages !== undefined && spec.languages.length > 0;
|
|
159
|
-
if (narration === null &&
|
|
160
|
-
throw new Error('localize(): nothing to localize. Provide narration and/or
|
|
167
|
+
if (narration === null && values === null && !hasExplicitLanguages) {
|
|
168
|
+
throw new Error('localize(): nothing to localize. Provide narration and/or values (seeded maps), or pass `languages: [...]` when every cue/field is Studio-managed via video.studio({...}).');
|
|
161
169
|
}
|
|
162
|
-
const seededLanguages = dedupe([...narrationLangs, ...
|
|
170
|
+
const seededLanguages = dedupe([...narrationLangs, ...valuesLangs]);
|
|
163
171
|
let languages;
|
|
164
172
|
if (hasExplicitLanguages) {
|
|
165
173
|
languages = dedupe([...spec.languages, ...seededLanguages]);
|
|
@@ -168,7 +176,7 @@ export function normalizeLocalizeSpec(spec) {
|
|
|
168
176
|
languages = seededLanguages;
|
|
169
177
|
}
|
|
170
178
|
else {
|
|
171
|
-
throw new Error('localize(): no languages. Pass `languages: [...]`, or seed narration/
|
|
179
|
+
throw new Error('localize(): no languages. Pass `languages: [...]`, or seed narration/values with per-language values.');
|
|
172
180
|
}
|
|
173
181
|
for (const lang of languages) {
|
|
174
182
|
if (!SUPPORTED_LANGUAGE_SET.has(lang)) {
|
|
@@ -178,8 +186,8 @@ export function normalizeLocalizeSpec(spec) {
|
|
|
178
186
|
if (narration !== null) {
|
|
179
187
|
assertIdenticalSeededKeys('narration', narration.seedByLang, narration.seededNames, languages);
|
|
180
188
|
}
|
|
181
|
-
if (
|
|
182
|
-
assertIdenticalSeededKeys('
|
|
189
|
+
if (values !== null) {
|
|
190
|
+
assertIdenticalSeededKeys('values', values.seedByLang, values.seededNames, languages);
|
|
183
191
|
}
|
|
184
192
|
const voiceByLang = normalizeVoice(spec.voice, languages);
|
|
185
193
|
return {
|
|
@@ -188,7 +196,7 @@ export function normalizeLocalizeSpec(spec) {
|
|
|
188
196
|
browserLocale: spec.browserLocale ?? true,
|
|
189
197
|
...(spec.locales !== undefined && { locales: spec.locales }),
|
|
190
198
|
narration,
|
|
191
|
-
|
|
199
|
+
values,
|
|
192
200
|
voiceByLang,
|
|
193
201
|
};
|
|
194
202
|
}
|
package/dist/src/localize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAa,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../../src/localize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type NarrationCue } from './cue.js';
|
|
2
2
|
import { type LocalizeNarrationValue, type VoiceConfig } from './localize.js';
|
|
3
3
|
import type { NormalizedFeature } from './declare.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ValuesOverrides } from './runtimeMode.js';
|
|
5
5
|
import type { TopLevelVoiceConfig } from './voiceConfig.js';
|
|
6
6
|
import type { RenderOptions } from './types.js';
|
|
7
7
|
/**
|
|
@@ -12,33 +12,38 @@ import type { RenderOptions } from './types.js';
|
|
|
12
12
|
export declare function narrationVoiceConfigFromRenderOptions(renderOptions: RenderOptions | undefined, studioRenderOptions: boolean): TopLevelVoiceConfig | undefined;
|
|
13
13
|
/** Narration markers keyed by cue name. Markers carry timing, never text. */
|
|
14
14
|
export type NarrationMarkers = Record<string, NarrationCue>;
|
|
15
|
-
/** Per-language
|
|
16
|
-
export type
|
|
15
|
+
/** Per-language values fields, keyed by field name. */
|
|
16
|
+
export type Values = Record<string, string>;
|
|
17
17
|
/**
|
|
18
18
|
* Build the `narration` marker object. Code cues emit translations (resolved per
|
|
19
19
|
* `(cue, language)`, filtered to the active language by the recorder); studio
|
|
20
20
|
* (array) cues emit studio cue starts whose text is owned by the web app.
|
|
21
21
|
*/
|
|
22
|
-
export declare function buildNarrationMarkers(narration: NormalizedFeature<LocalizeNarrationValue> | null | undefined, languages: string[], defaultVoice?: TopLevelVoiceConfig, voiceByLang?: Partial<Record<string, VoiceConfig
|
|
22
|
+
export declare function buildNarrationMarkers(narration: NormalizedFeature<LocalizeNarrationValue> | null | undefined, languages: string[], defaultVoice?: TopLevelVoiceConfig, voiceByLang?: Partial<Record<string, VoiceConfig>>, anchorFile?: string): NarrationMarkers;
|
|
23
23
|
/**
|
|
24
|
-
* Resolve the `
|
|
24
|
+
* Resolve the `values` fields for the active language: a Studio override wins
|
|
25
25
|
* over the per-language seed, which wins over the shared value, then the empty
|
|
26
26
|
* string (Studio-owned fields stay empty until set in the web app).
|
|
27
27
|
*/
|
|
28
|
-
export declare function
|
|
29
|
-
/** A localized
|
|
30
|
-
export type
|
|
28
|
+
export declare function buildValues(feature: NormalizedFeature<string> | null | undefined, language: string | undefined, overrides?: ValuesOverrides | null): Values;
|
|
29
|
+
/** A localized values declaration emitted to the backend at recording start. */
|
|
30
|
+
export type ValuesDeclaration = {
|
|
31
31
|
/** Every field name (code then Studio-managed), in declared order. */
|
|
32
32
|
fields: string[];
|
|
33
|
-
/** Studio-managed field names (
|
|
33
|
+
/** Studio-managed field names (`studio([...])`/`studio({...})`). */
|
|
34
34
|
studioFields: string[];
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Seeds keyed `{ [language]: { [field]: value } }`: code-owned fields and seeded
|
|
37
|
+
* Studio fields (`studio({...})`). A seeded Studio field appears in both
|
|
38
|
+
* `studioFields` (the web app owns it) and `seed` (its initial value). Omitted
|
|
39
|
+
* when empty.
|
|
40
|
+
*/
|
|
36
41
|
seed?: Record<string, Record<string, string>>;
|
|
37
42
|
};
|
|
38
43
|
/**
|
|
39
|
-
* Build the declaration of `
|
|
44
|
+
* Build the declaration of `values` fields to emit at recording start so the
|
|
40
45
|
* backend learns which fields exist (and their code seeds) and can present the
|
|
41
|
-
* Studio-managed ones for the user to fill. Returns `null` when
|
|
46
|
+
* Studio-managed ones for the user to fill. Returns `null` when none declared.
|
|
42
47
|
*/
|
|
43
|
-
export declare function
|
|
48
|
+
export declare function buildValuesDeclaration(feature: NormalizedFeature<string> | null | undefined, language: string | undefined): ValuesDeclaration | null;
|
|
44
49
|
//# sourceMappingURL=localizeRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localizeRuntime.d.ts","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAEL,KAAK,sBAAsB,EAG3B,KAAK,WAAW,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"localizeRuntime.d.ts","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAEL,KAAK,sBAAsB,EAG3B,KAAK,WAAW,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;GAIG;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,uDAAuD;AACvD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAkC3C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,IAAI,GAAG,SAAS,EACvE,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,mBAAmB,EAClC,WAAW,GAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM,EAItD,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,CAQlB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACrD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,GACjC,MAAM,CAUR;AAED,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sEAAsE;IACtE,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,oEAAoE;IACpE,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EACrD,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,iBAAiB,GAAG,IAAI,CAyB1B"}
|
|
@@ -22,7 +22,11 @@ function featureToNormalizedNarration(feature, languages) {
|
|
|
22
22
|
const seedByLang = {};
|
|
23
23
|
for (const lang of languages) {
|
|
24
24
|
const cues = {};
|
|
25
|
-
|
|
25
|
+
// Seed every named cue that has a value: code-owned cues and seeded Studio
|
|
26
|
+
// cues (`studio({...})`). Blank Studio cues (`studio([...])`) have no value, so
|
|
27
|
+
// they carry no seed (the web app owns their text). `buildLocalizedNarrationCues`
|
|
28
|
+
// short-circuits Studio names, so a seed here is backend-facing metadata only.
|
|
29
|
+
for (const name of feature.names) {
|
|
26
30
|
const value = feature.byLang[lang]?.[name] ?? feature.shared[name];
|
|
27
31
|
if (value !== undefined)
|
|
28
32
|
cues[name] = normalizeCueValue(name, value);
|
|
@@ -42,46 +46,52 @@ function featureToNormalizedNarration(feature, languages) {
|
|
|
42
46
|
* `(cue, language)`, filtered to the active language by the recorder); studio
|
|
43
47
|
* (array) cues emit studio cue starts whose text is owned by the web app.
|
|
44
48
|
*/
|
|
45
|
-
export function buildNarrationMarkers(narration, languages, defaultVoice, voiceByLang = {}
|
|
49
|
+
export function buildNarrationMarkers(narration, languages, defaultVoice, voiceByLang = {},
|
|
50
|
+
// The `.screenci` script that media paths resolve against. When provided, the
|
|
51
|
+
// file-backed cues' media is pre-warmed (hashed) up front so their start()
|
|
52
|
+
// does not pay the read on the recording timeline. Omitted outside recording.
|
|
53
|
+
anchorFile) {
|
|
46
54
|
const normalized = featureToNormalizedNarration(narration ?? null, languages);
|
|
47
|
-
return buildLocalizedNarrationCues(normalized, voiceByLang, defaultVoice);
|
|
55
|
+
return buildLocalizedNarrationCues(normalized, voiceByLang, defaultVoice, anchorFile);
|
|
48
56
|
}
|
|
49
57
|
/**
|
|
50
|
-
* Resolve the `
|
|
58
|
+
* Resolve the `values` fields for the active language: a Studio override wins
|
|
51
59
|
* over the per-language seed, which wins over the shared value, then the empty
|
|
52
60
|
* string (Studio-owned fields stay empty until set in the web app).
|
|
53
61
|
*/
|
|
54
|
-
export function
|
|
55
|
-
if (!
|
|
62
|
+
export function buildValues(feature, language, overrides) {
|
|
63
|
+
if (!feature || feature.names.length === 0)
|
|
56
64
|
return {};
|
|
57
65
|
const override = language !== undefined ? overrides?.[language] : undefined;
|
|
58
|
-
const langSeed = language !== undefined ?
|
|
66
|
+
const langSeed = language !== undefined ? feature.byLang[language] : undefined;
|
|
59
67
|
const values = {};
|
|
60
|
-
for (const field of
|
|
68
|
+
for (const field of feature.names) {
|
|
61
69
|
values[field] =
|
|
62
|
-
override?.[field] ?? langSeed?.[field] ??
|
|
70
|
+
override?.[field] ?? langSeed?.[field] ?? feature.shared[field] ?? '';
|
|
63
71
|
}
|
|
64
72
|
return values;
|
|
65
73
|
}
|
|
66
74
|
/**
|
|
67
|
-
* Build the declaration of `
|
|
75
|
+
* Build the declaration of `values` fields to emit at recording start so the
|
|
68
76
|
* backend learns which fields exist (and their code seeds) and can present the
|
|
69
|
-
* Studio-managed ones for the user to fill. Returns `null` when
|
|
77
|
+
* Studio-managed ones for the user to fill. Returns `null` when none declared.
|
|
70
78
|
*/
|
|
71
|
-
export function
|
|
72
|
-
if (!
|
|
79
|
+
export function buildValuesDeclaration(feature, language) {
|
|
80
|
+
if (!feature || feature.names.length === 0)
|
|
73
81
|
return null;
|
|
74
82
|
const declaration = {
|
|
75
|
-
fields:
|
|
76
|
-
studioFields:
|
|
83
|
+
fields: feature.names,
|
|
84
|
+
studioFields: feature.studioNames,
|
|
77
85
|
};
|
|
78
86
|
if (language !== undefined) {
|
|
79
87
|
const merged = {
|
|
80
|
-
...
|
|
81
|
-
...(
|
|
88
|
+
...feature.shared,
|
|
89
|
+
...(feature.byLang[language] ?? {}),
|
|
82
90
|
};
|
|
91
|
+
// Seed every named field that has a value: code-owned fields and seeded Studio
|
|
92
|
+
// fields (`studio({...})`). Blank Studio fields (`studio([...])`) have no value.
|
|
83
93
|
const codeSeed = {};
|
|
84
|
-
for (const field of
|
|
94
|
+
for (const field of feature.names) {
|
|
85
95
|
if (merged[field] !== undefined)
|
|
86
96
|
codeSeed[field] = merged[field];
|
|
87
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localizeRuntime.js","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAqB,MAAM,UAAU,CAAA;AACzE,OAAO,EACL,iBAAiB,GAKlB,MAAM,eAAe,CAAA;AAOtB;;;;GAIG;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;;;;GAIG;AACH,SAAS,4BAA4B,CACnC,OAAyD,EACzD,SAAmB;IAEnB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,UAAU,GACd,EAAE,CAAA;IACJ,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAuC,EAAE,CAAA;QACnD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"localizeRuntime.js","sourceRoot":"","sources":["../../src/localizeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAqB,MAAM,UAAU,CAAA;AACzE,OAAO,EACL,iBAAiB,GAKlB,MAAM,eAAe,CAAA;AAOtB;;;;GAIG;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;;;;GAIG;AACH,SAAS,4BAA4B,CACnC,OAAyD,EACzD,SAAmB;IAEnB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,UAAU,GACd,EAAE,CAAA;IACJ,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAuC,EAAE,CAAA;QACnD,2EAA2E;QAC3E,gFAAgF;QAChF,kFAAkF;QAClF,+EAA+E;QAC/E,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClE,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,IAAY,CAAC,GAAG,IAAI,CAAA;IACnE,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,SAAS;QAC9B,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAuE,EACvE,SAAmB,EACnB,YAAkC,EAClC,cAAoD,EAAE;AACtD,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,UAAmB;IAEnB,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,IAAI,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7E,OAAO,2BAA2B,CAChC,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,CACX,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,OAAqD,EACrD,QAA4B,EAC5B,SAAkC;IAElC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACrD,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC;YACX,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACzE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAiBD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAqD,EACrD,QAA4B;IAE5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvD,MAAM,WAAW,GAAsB;QACrC,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,YAAY,EAAE,OAAO,CAAC,WAAW;KAClC,CAAA;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAA2B;YACrC,GAAG,OAAO,CAAC,MAAM;YACjB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACpC,CAAA;QACD,+EAA+E;QAC/E,iFAAiF;QACjF,MAAM,QAAQ,GAA2B,EAAE,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC"}
|
package/dist/src/logger.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export declare const logger: {
|
|
2
2
|
info: (...args: unknown[]) => void;
|
|
3
3
|
warn: (...args: unknown[]) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Informational message printed in cyan. Use for non-error notices surfaced
|
|
6
|
+
* to the author (for example, backend `notices` shown at record time).
|
|
7
|
+
*/
|
|
8
|
+
notice: (message: string) => void;
|
|
4
9
|
error: (...args: unknown[]) => void;
|
|
5
10
|
};
|
|
6
11
|
export default logger;
|
package/dist/src/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;oBACD,OAAO,EAAE;oBAGT,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;oBACD,OAAO,EAAE;oBAGT,OAAO,EAAE;IAGzB;;;OAGG;sBACe,MAAM;qBAGP,OAAO,EAAE;CAG3B,CAAA;AAED,eAAe,MAAM,CAAA"}
|
package/dist/src/logger.js
CHANGED
|
@@ -6,6 +6,13 @@ export const logger = {
|
|
|
6
6
|
warn: (...args) => {
|
|
7
7
|
console.warn(pc.yellow('WARNING'), ...args);
|
|
8
8
|
},
|
|
9
|
+
/**
|
|
10
|
+
* Informational message printed in cyan. Use for non-error notices surfaced
|
|
11
|
+
* to the author (for example, backend `notices` shown at record time).
|
|
12
|
+
*/
|
|
13
|
+
notice: (message) => {
|
|
14
|
+
console.log(pc.cyan(message));
|
|
15
|
+
},
|
|
9
16
|
error: (...args) => {
|
|
10
17
|
console.error(...args);
|
|
11
18
|
},
|
package/dist/src/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACxB,CAAC;CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;IACD;;;OAGG;IACH,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACxB,CAAC;CACF,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hides the narration (camera PIP) from this point on.
|
|
3
|
+
*
|
|
4
|
+
* Call {@link showNarration} to make it visible again.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* await hideNarration()
|
|
9
|
+
* await page.getByRole('button', { name: 'Submit' }).click()
|
|
10
|
+
* await showNarration()
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function hideNarration(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Shows the narration (camera PIP) after it was hidden by {@link hideNarration}.
|
|
16
|
+
* No-op when the narration is already visible.
|
|
17
|
+
*/
|
|
18
|
+
export declare function showNarration(): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=narrationVisibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrationVisibility.d.ts","sourceRoot":"","sources":["../../src/narrationVisibility.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getActiveHideRecorder } from './timelineBlock.js';
|
|
2
|
+
/**
|
|
3
|
+
* Hides the narration (camera PIP) from this point on.
|
|
4
|
+
*
|
|
5
|
+
* Call {@link showNarration} to make it visible again.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* await hideNarration()
|
|
10
|
+
* await page.getByRole('button', { name: 'Submit' }).click()
|
|
11
|
+
* await showNarration()
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export async function hideNarration() {
|
|
15
|
+
const recorder = getActiveHideRecorder();
|
|
16
|
+
recorder.addNarrationHide();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Shows the narration (camera PIP) after it was hidden by {@link hideNarration}.
|
|
20
|
+
* No-op when the narration is already visible.
|
|
21
|
+
*/
|
|
22
|
+
export async function showNarration() {
|
|
23
|
+
const recorder = getActiveHideRecorder();
|
|
24
|
+
recorder.addNarrationShow();
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=narrationVisibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrationVisibility.js","sourceRoot":"","sources":["../../src/narrationVisibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,CAAA;AAC7B,CAAC"}
|
|
@@ -131,6 +131,10 @@ export type CueEndEvent = {
|
|
|
131
131
|
reason?: 'auto' | 'wait';
|
|
132
132
|
};
|
|
133
133
|
export type VideoCueTranslationFile = {
|
|
134
|
+
assetPath: string;
|
|
135
|
+
assetHash?: string;
|
|
136
|
+
subtitle?: string;
|
|
137
|
+
} | {
|
|
134
138
|
assetHash: string;
|
|
135
139
|
assetPath?: string;
|
|
136
140
|
subtitle?: string;
|
|
@@ -281,6 +285,9 @@ export type RecordingMetadata = {
|
|
|
281
285
|
renderOptions?: boolean;
|
|
282
286
|
narration?: boolean;
|
|
283
287
|
assets?: boolean;
|
|
288
|
+
/** Web-owned language set (`video.languages(studio())`): the app may add and
|
|
289
|
+
* render languages for this video. Absent for code-defined language sets. */
|
|
290
|
+
languages?: boolean;
|
|
284
291
|
};
|
|
285
292
|
};
|
|
286
293
|
export type RecordingData = {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Easing } from './types.js';
|
|
2
|
+
export type ResizeRecordingOptions = {
|
|
3
|
+
/** Transition duration in milliseconds. 0 or omitted = instant cut. */
|
|
4
|
+
duration?: number;
|
|
5
|
+
/** Easing function for the transition. Defaults to 'ease-out'. */
|
|
6
|
+
easing?: Easing;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Shrinks the recording to a limited size, revealing the styled background
|
|
10
|
+
* around it from this point on.
|
|
11
|
+
*
|
|
12
|
+
* `size` is a 0-1 fraction of the full frame: `1` is full screen, `0.8` shows
|
|
13
|
+
* the recording at 80% of the frame, centered. Call {@link resetRecordingSize}
|
|
14
|
+
* to return to full screen.
|
|
15
|
+
*
|
|
16
|
+
* Pass `duration` to animate the transition over that many milliseconds.
|
|
17
|
+
* Use `easing` to control the animation curve (defaults to `'ease-out'`).
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* await resizeRecording(0.8, { duration: 400, easing: 'ease-in-out' })
|
|
22
|
+
* await page.getByRole('button', { name: 'Continue' }).click()
|
|
23
|
+
* await resetRecordingSize()
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function resizeRecording(size: number, options?: ResizeRecordingOptions): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the recording to full screen (size 1) from this point on. No-op when
|
|
29
|
+
* the recording is already full screen.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resetRecordingSize(): Promise<void>;
|
|
32
|
+
//# sourceMappingURL=recordingSize.d.ts.map
|