screenci 0.0.76 → 0.0.79
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 +58 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +584 -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 +9 -6
- 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 +60 -28
- 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/docs/manifest.js
CHANGED
|
@@ -57,71 +57,115 @@ export const docsManifest = [
|
|
|
57
57
|
title: 'CI Setup',
|
|
58
58
|
description: 'Understand the generated GitHub Actions workflow, required secrets, and how to keep CI recordings deterministic.',
|
|
59
59
|
prev: 'docs/video-script-basics',
|
|
60
|
-
next: 'docs/guides/
|
|
60
|
+
next: 'docs/guides/animated-interactions',
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
|
-
source: '
|
|
64
|
-
slug: 'docs/guides/
|
|
63
|
+
source: 'animated-interactions.md',
|
|
64
|
+
slug: 'docs/guides/animated-interactions',
|
|
65
65
|
section: 'Guides',
|
|
66
66
|
order: 1,
|
|
67
|
-
navLabel: '
|
|
68
|
-
title: '
|
|
67
|
+
navLabel: 'Animated interactions',
|
|
68
|
+
title: 'Animated Interactions',
|
|
69
69
|
description: 'Understand how ScreenCI instruments the Playwright page so visible actions like clicks, typing, mouse movement, and scrolling are animated.',
|
|
70
70
|
prev: 'docs/ci-setup',
|
|
71
|
-
next: 'docs/guides/narration
|
|
71
|
+
next: 'docs/guides/narration',
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
|
-
source: 'narration
|
|
75
|
-
slug: 'docs/guides/narration
|
|
76
|
-
section: '
|
|
74
|
+
source: 'narration.md',
|
|
75
|
+
slug: 'docs/guides/narration',
|
|
76
|
+
section: 'Fixtures',
|
|
77
|
+
order: 1,
|
|
78
|
+
navLabel: 'Narration',
|
|
79
|
+
title: 'Narration',
|
|
80
|
+
description: 'Attach spoken cues to a video, overlap narration with visible UI motion, choose voices, use speech markup, and connect ElevenLabs for custom voices.',
|
|
81
|
+
prev: 'docs/guides/animated-interactions',
|
|
82
|
+
next: 'docs/guides/values',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
source: 'values.md',
|
|
86
|
+
slug: 'docs/guides/values',
|
|
87
|
+
section: 'Fixtures',
|
|
77
88
|
order: 2,
|
|
78
|
-
navLabel: '
|
|
79
|
-
title: '
|
|
80
|
-
description: '
|
|
81
|
-
prev: 'docs/guides/
|
|
82
|
-
next: 'docs/guides/
|
|
89
|
+
navLabel: 'Values',
|
|
90
|
+
title: 'Values',
|
|
91
|
+
description: 'Inject per-language page content with video.values() for apps that do not self-localize, and let Studio manage field values without code changes.',
|
|
92
|
+
prev: 'docs/guides/narration',
|
|
93
|
+
next: 'docs/guides/audio',
|
|
83
94
|
},
|
|
84
95
|
{
|
|
85
|
-
source: '
|
|
86
|
-
slug: 'docs/guides/
|
|
87
|
-
section: '
|
|
96
|
+
source: 'audio.md',
|
|
97
|
+
slug: 'docs/guides/audio',
|
|
98
|
+
section: 'Fixtures',
|
|
88
99
|
order: 3,
|
|
89
|
-
navLabel: '
|
|
90
|
-
title: '
|
|
91
|
-
description: '
|
|
92
|
-
prev: 'docs/guides/
|
|
100
|
+
navLabel: 'Audio',
|
|
101
|
+
title: 'Audio',
|
|
102
|
+
description: 'Add background music or sound effects to a video with video.audio(), control volume and looping, and let Studio manage track files.',
|
|
103
|
+
prev: 'docs/guides/values',
|
|
93
104
|
next: 'docs/guides/overlays',
|
|
94
105
|
},
|
|
95
106
|
{
|
|
96
107
|
source: 'overlays.md',
|
|
97
108
|
slug: 'docs/guides/overlays',
|
|
98
|
-
section: '
|
|
109
|
+
section: 'Fixtures',
|
|
99
110
|
order: 4,
|
|
100
111
|
navLabel: 'Overlays',
|
|
101
112
|
title: 'Overlays',
|
|
102
113
|
description: 'Add intro clips, corner logos, transitions, and timed overlays to ScreenCI recordings from files, HTML, or React.',
|
|
103
|
-
prev: 'docs/guides/
|
|
114
|
+
prev: 'docs/guides/audio',
|
|
115
|
+
next: 'docs/guides/dependencies',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
source: 'dependencies.md',
|
|
119
|
+
slug: 'docs/guides/dependencies',
|
|
120
|
+
section: 'Fixtures',
|
|
121
|
+
order: 5,
|
|
122
|
+
navLabel: 'Render dependencies',
|
|
123
|
+
title: 'Render Dependencies',
|
|
124
|
+
description: 'Embed one render inside another with selected(name): reuse intro clips and logo stills across videos and screenshots, and have dependents re-render automatically when the target selection changes.',
|
|
125
|
+
prev: 'docs/guides/overlays',
|
|
126
|
+
next: 'docs/guides/languages',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
source: 'languages.md',
|
|
130
|
+
slug: 'docs/guides/languages',
|
|
131
|
+
section: 'Fixtures',
|
|
132
|
+
order: 6,
|
|
133
|
+
navLabel: 'Languages',
|
|
134
|
+
title: 'Languages',
|
|
135
|
+
description: 'Record per-language video versions from one script: set browser locale automatically, localize narration, values, overlays, and audio, and control the recording mode.',
|
|
136
|
+
prev: 'docs/guides/dependencies',
|
|
137
|
+
next: 'docs/guides/camera-and-zooming',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
source: 'camera-and-zooming.md',
|
|
141
|
+
slug: 'docs/guides/camera-and-zooming',
|
|
142
|
+
section: 'Guides',
|
|
143
|
+
order: 2,
|
|
144
|
+
navLabel: 'Camera and zooming',
|
|
145
|
+
title: 'Camera and Zooming',
|
|
146
|
+
description: 'Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.',
|
|
147
|
+
prev: 'docs/guides/languages',
|
|
104
148
|
next: 'docs/guides/screenshots',
|
|
105
149
|
},
|
|
106
150
|
{
|
|
107
151
|
source: 'screenshots.md',
|
|
108
152
|
slug: 'docs/guides/screenshots',
|
|
109
153
|
section: 'Guides',
|
|
110
|
-
order:
|
|
154
|
+
order: 3,
|
|
111
155
|
navLabel: 'Screenshots',
|
|
112
156
|
title: 'Screenshots',
|
|
113
157
|
description: 'Capture branded still screenshots with the screenshot() fixture: crop to a component, set quality and dark mode, and frame the shot on a background with overlays.',
|
|
114
|
-
prev: 'docs/guides/
|
|
158
|
+
prev: 'docs/guides/camera-and-zooming',
|
|
115
159
|
next: 'docs/guides/studio',
|
|
116
160
|
},
|
|
117
161
|
{
|
|
118
162
|
source: 'studio.md',
|
|
119
163
|
slug: 'docs/guides/studio',
|
|
120
164
|
section: 'Guides',
|
|
121
|
-
order:
|
|
165
|
+
order: 4,
|
|
122
166
|
navLabel: 'Studio',
|
|
123
167
|
title: 'Studio',
|
|
124
|
-
description: 'Remix render options, narration text, voices, and
|
|
168
|
+
description: 'Remix render options, narration text, voices, overlays, and languages from the web app, or manage them entirely in Studio with studio(...) declarations like video.narration(studio([...])). Business tier.',
|
|
125
169
|
prev: 'docs/guides/screenshots',
|
|
126
170
|
next: 'docs/guides/public-urls-and-embeds',
|
|
127
171
|
},
|
|
@@ -129,29 +173,40 @@ export const docsManifest = [
|
|
|
129
173
|
source: 'public-urls-and-embeds.md',
|
|
130
174
|
slug: 'docs/guides/public-urls-and-embeds',
|
|
131
175
|
section: 'Guides',
|
|
132
|
-
order:
|
|
176
|
+
order: 5,
|
|
133
177
|
navLabel: 'Public URLs and embeds',
|
|
134
178
|
title: 'Public URLs and Embeds',
|
|
135
179
|
description: 'Enable public delivery for a video, understand stable language-specific URLs, and embed ScreenCI outputs in other sites.',
|
|
136
180
|
prev: 'docs/guides/studio',
|
|
181
|
+
next: 'docs/guides/redact',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
source: 'redact.md',
|
|
185
|
+
slug: 'docs/guides/redact',
|
|
186
|
+
section: 'Guides',
|
|
187
|
+
order: 6,
|
|
188
|
+
navLabel: 'Redact sensitive content',
|
|
189
|
+
title: 'Redact Sensitive Content',
|
|
190
|
+
description: 'Keep secrets out of a recording with redact: mask locators, typed values, and always-secret elements in the page before the frame is captured, so they are never uploaded.',
|
|
191
|
+
prev: 'docs/guides/public-urls-and-embeds',
|
|
137
192
|
next: 'docs/guides/screen-audio',
|
|
138
193
|
},
|
|
139
194
|
{
|
|
140
195
|
source: 'screen-audio.md',
|
|
141
196
|
slug: 'docs/guides/screen-audio',
|
|
142
197
|
section: 'Guides',
|
|
143
|
-
order:
|
|
198
|
+
order: 7,
|
|
144
199
|
navLabel: 'Screen audio',
|
|
145
200
|
title: 'Screen Audio',
|
|
146
201
|
description: 'Capture system audio alongside the screen recording and mix it into the rendered video. Linux only, with an automatic, isolated per-worker capture sink.',
|
|
147
|
-
prev: 'docs/guides/
|
|
202
|
+
prev: 'docs/guides/redact',
|
|
148
203
|
next: 'docs/guides/update-screenci',
|
|
149
204
|
},
|
|
150
205
|
{
|
|
151
206
|
source: 'update-screenci.mdx',
|
|
152
207
|
slug: 'docs/guides/update-screenci',
|
|
153
208
|
section: 'Guides',
|
|
154
|
-
order:
|
|
209
|
+
order: 8,
|
|
155
210
|
navLabel: 'Update ScreenCI',
|
|
156
211
|
title: 'Update ScreenCI',
|
|
157
212
|
description: 'Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.',
|
|
@@ -192,7 +247,12 @@ export const docsManifest = [
|
|
|
192
247
|
next: 'docs/reference/api',
|
|
193
248
|
},
|
|
194
249
|
];
|
|
195
|
-
export const docsSections = [
|
|
250
|
+
export const docsSections = [
|
|
251
|
+
'Getting Started',
|
|
252
|
+
'Fixtures',
|
|
253
|
+
'Guides',
|
|
254
|
+
'Reference',
|
|
255
|
+
];
|
|
196
256
|
export function getDocBySlug(slug) {
|
|
197
257
|
return docsManifest.find((entry) => entry.slug === slug);
|
|
198
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEnD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,uJAAuJ;QACzJ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,wBAAwB;KAC/B;IACD;QACE,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,mBAAmB;QAC7B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,8IAA8I;QAChJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,mBAAmB;KAC1B;IACD;QACE,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,4BAA4B;QACtC,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,mHAAmH;QACrH,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,0BAA0B;KACjC;IACD;QACE,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,qBAAqB;QAC/B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,wHAAwH;QAC1H,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,eAAe;KACtB;IACD;QACE,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,kHAAkH;QACpH,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-and-zooming.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/camera-and-zooming.screenci.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { autoZoom, hide, resetRecordingSize, resetZoom, resizeRecording, video, voices, zoomTo, } from 'screenci';
|
|
2
|
+
video.use({
|
|
3
|
+
renderOptions: {
|
|
4
|
+
narration: {
|
|
5
|
+
voice: { name: voices.Sophie, style: 'Friendly product guide' },
|
|
6
|
+
},
|
|
7
|
+
output: {
|
|
8
|
+
background: {
|
|
9
|
+
backgroundCss: 'linear-gradient(313deg, #ffffff 0%, #d6d6d6 100%)',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
// Camera walkthrough for the Camera and Zooming guide. It records the public
|
|
15
|
+
// marketing site (screenci.com), so it needs no login. The mirror in
|
|
16
|
+
// screenci/videos strips the screenci.com origin so the gotos route through the
|
|
17
|
+
// configured baseURL.
|
|
18
|
+
video.narration({
|
|
19
|
+
en: {
|
|
20
|
+
auto: 'autoZoom [pronounce: auto zoom] follows a cluster of related actions on its own.',
|
|
21
|
+
manual: 'zoomTo [pronounce: zoom to] frames an exact target before you interact with it.',
|
|
22
|
+
pan: 'Give it a point instead of an element for a deliberate pan.',
|
|
23
|
+
step: 'resizeRecording [pronounce: resize recording] steps back to reveal the styled background.',
|
|
24
|
+
outro: 'Treat the camera as direction, not decoration.',
|
|
25
|
+
},
|
|
26
|
+
})('Camera and zooming', async ({ page, narration }) => {
|
|
27
|
+
await hide(async () => {
|
|
28
|
+
await page.goto('https://screenci.com/');
|
|
29
|
+
await page.waitForLoadState('networkidle');
|
|
30
|
+
});
|
|
31
|
+
// autoZoom follows the interaction automatically as it opens the docs.
|
|
32
|
+
await narration.auto.start();
|
|
33
|
+
await autoZoom(async () => {
|
|
34
|
+
await page.getByRole('link', { name: 'View Documentation' }).click();
|
|
35
|
+
});
|
|
36
|
+
await narration.auto.end();
|
|
37
|
+
await page.waitForLoadState('networkidle');
|
|
38
|
+
// Manual framing on an exact target before any interaction.
|
|
39
|
+
await narration.manual.start();
|
|
40
|
+
await zoomTo(page.getByRole('heading', { level: 1 }).first());
|
|
41
|
+
await page.waitForTimeout(900);
|
|
42
|
+
await narration.manual.end();
|
|
43
|
+
// A deliberate pan to a hand-picked point, then back to the full frame.
|
|
44
|
+
await narration.pan.start();
|
|
45
|
+
await zoomTo({ x: 1200, y: 680 });
|
|
46
|
+
await page.waitForTimeout(900);
|
|
47
|
+
await resetZoom();
|
|
48
|
+
await narration.pan.end();
|
|
49
|
+
// Step the recording back to show the styled background, then restore it.
|
|
50
|
+
await narration.step.start();
|
|
51
|
+
await resizeRecording(0.8);
|
|
52
|
+
await page.waitForTimeout(900);
|
|
53
|
+
await resetRecordingSize();
|
|
54
|
+
await narration.step.end();
|
|
55
|
+
await narration.outro();
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=camera-and-zooming.screenci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-and-zooming.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/camera-and-zooming.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,KAAK,EACL,MAAM,EACN,MAAM,GACP,MAAM,UAAU,CAAA;AAEjB,KAAK,CAAC,GAAG,CAAC;IACR,aAAa,EAAE;QACb,SAAS,EAAE;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAChE;QACD,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,aAAa,EAAE,mDAAmD;aACnE;SACF;KACF;CACF,CAAC,CAAA;AAEF,6EAA6E;AAC7E,qEAAqE;AACrE,gFAAgF;AAChF,sBAAsB;AACtB,KAAK,CAAC,SAAS,CAAC;IACd,EAAE,EAAE;QACF,IAAI,EAAE,kFAAkF;QACxF,MAAM,EACJ,iFAAiF;QACnF,GAAG,EAAE,6DAA6D;QAClE,IAAI,EAAE,2FAA2F;QACjG,KAAK,EAAE,gDAAgD;KACxD;CACF,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACrD,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC5B,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAE1C,4DAA4D;IAC5D,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAE5B,wEAAwE;IACxE,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IAC3B,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,EAAE,CAAA;IACjB,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;IAEzB,0EAA0E;IAC1E,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAC5B,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;IAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,kBAAkB,EAAE,CAAA;IAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;IAE1B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { autoZoom, hide, video
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { autoZoom, hide, video } from 'screenci';
|
|
2
|
+
video
|
|
3
|
+
.overlays({
|
|
4
|
+
logo: { path: './assets/logo.png', duration: '2s' },
|
|
5
|
+
})
|
|
6
|
+
.narration({
|
|
6
7
|
en: {
|
|
7
8
|
docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
|
|
8
9
|
},
|
|
9
10
|
es: {
|
|
10
11
|
docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
|
|
11
12
|
},
|
|
12
|
-
})('How to find docs', async ({ page, narration }) => {
|
|
13
|
+
})('How to find docs', async ({ page, narration, overlays }) => {
|
|
13
14
|
// Run setup without showing these actions in the final recording.
|
|
14
15
|
await hide(async () => {
|
|
15
16
|
await page.goto('https://screenci.com/');
|
|
16
17
|
await page.waitForLoadState('networkidle');
|
|
17
18
|
});
|
|
19
|
+
// Open with a brief brand intro card before the walkthrough begins.
|
|
20
|
+
await overlays.logo.for('2s');
|
|
18
21
|
// Play the matching narration line for this step.
|
|
19
22
|
await narration.docs();
|
|
20
23
|
// Automatically zoom into interactions so they are easier to follow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/installation.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"installation.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/installation.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhD,KAAK;KACF,QAAQ,CAAC;IACR,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;CACpD,CAAC;KACD,SAAS,CAAC;IACT,EAAE,EAAE;QACF,IAAI,EAAE,kEAAkE;KACzE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mFAAmF;KAC1F;CACF,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/D,kEAAkE;IAClE,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,oEAAoE;IACpE,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE7B,kDAAkD;IAClD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IAEtB,qEAAqE;IACrE,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/languages.screenci.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { hide, resetZoom, video, voices, zoomTo } from 'screenci';
|
|
2
|
+
video.use({
|
|
3
|
+
renderOptions: {
|
|
4
|
+
narration: {
|
|
5
|
+
voice: { name: voices.Sophie, style: 'Friendly product guide' },
|
|
6
|
+
},
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
const appUrl = process.env.SCREENCI_APP_URL ?? 'https://app.screenci.com/';
|
|
10
|
+
// Languages walkthrough recorded against the ScreenCI app (app.screenci.com) for
|
|
11
|
+
// the Languages guide. It shows the Studio Languages section where teammates add
|
|
12
|
+
// or remove recorded languages without touching code. Studio lives behind auth,
|
|
13
|
+
// so recording this needs a logged-in session: set SCREENCI_APP_STORAGE_STATE
|
|
14
|
+
// (see screenci.config.ts). The navigation mirrors studio.screenci.ts.
|
|
15
|
+
//
|
|
16
|
+
// The logo intro (assets/logo.png) is gitignored: it is uploaded on the first
|
|
17
|
+
// record and reused on later runs (CI included).
|
|
18
|
+
video
|
|
19
|
+
.overlays({
|
|
20
|
+
logo: { path: './assets/logo.png', fill: 'recording', duration: '2s' },
|
|
21
|
+
})
|
|
22
|
+
.narration({
|
|
23
|
+
en: {
|
|
24
|
+
intro: 'One script records a separate version for each language.',
|
|
25
|
+
studio: 'On the Business tier, manage the language set from Studio.',
|
|
26
|
+
add: 'Adding a language fills in its narration, then renders from the same capture.',
|
|
27
|
+
outro: 'No translation drift: every language covers the same cues.',
|
|
28
|
+
},
|
|
29
|
+
})('Languages walkthrough', async ({ page, narration, overlays }) => {
|
|
30
|
+
// Studio lives behind auth (SCREENCI_APP_STORAGE_STATE, see screenci.config.ts).
|
|
31
|
+
video.skip(!process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE (a logged-in app session).');
|
|
32
|
+
// Open a finished video's Studio page without showing the navigation.
|
|
33
|
+
await hide(async () => {
|
|
34
|
+
await page.goto(appUrl);
|
|
35
|
+
await page.waitForLoadState('networkidle');
|
|
36
|
+
await page
|
|
37
|
+
.getByRole('heading', { name: 'Projects' })
|
|
38
|
+
.waitFor({ timeout: 30000 });
|
|
39
|
+
await page.getByTestId('projects-list').getByRole('link').first().click();
|
|
40
|
+
await page.locator('a[href*="/video/"]').first().click();
|
|
41
|
+
await page
|
|
42
|
+
.getByRole('heading', { name: /language versions/i })
|
|
43
|
+
.waitFor({ timeout: 15000 });
|
|
44
|
+
await page
|
|
45
|
+
.getByRole('link', { name: /^open /i })
|
|
46
|
+
.first()
|
|
47
|
+
.click();
|
|
48
|
+
await page
|
|
49
|
+
.getByRole('heading', { name: /^studio$/i })
|
|
50
|
+
.waitFor({ timeout: 30000 });
|
|
51
|
+
});
|
|
52
|
+
await overlays.logo.for('2s');
|
|
53
|
+
await narration.intro();
|
|
54
|
+
// Frame the Studio Languages section while explaining web-managed languages.
|
|
55
|
+
await narration.studio.start();
|
|
56
|
+
const languagesHeading = page
|
|
57
|
+
.getByRole('heading', { name: /languages/i })
|
|
58
|
+
.first();
|
|
59
|
+
if (await languagesHeading.isVisible().catch(() => false)) {
|
|
60
|
+
await zoomTo(languagesHeading);
|
|
61
|
+
await page.waitForTimeout(900);
|
|
62
|
+
await resetZoom();
|
|
63
|
+
}
|
|
64
|
+
await narration.studio.end();
|
|
65
|
+
await narration.add();
|
|
66
|
+
await narration.outro();
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=languages.screenci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/languages.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjE,KAAK,CAAC,GAAG,CAAC;IACR,aAAa,EAAE;QACb,SAAS,EAAE;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAChE;KACF;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,2BAA2B,CAAA;AAE1E,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,8EAA8E;AAC9E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,iDAAiD;AACjD,KAAK;KACF,QAAQ,CAAC;IACR,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;CACvE,CAAC;KACD,SAAS,CAAC;IACT,EAAE,EAAE;QACF,KAAK,EAAE,0DAA0D;QACjE,MAAM,EAAE,4DAA4D;QACpE,GAAG,EAAE,+EAA+E;QACpF,KAAK,EAAE,4DAA4D;KACpE;CACF,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,iFAAiF;IACjF,KAAK,CAAC,IAAI,CACR,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EACvC,gEAAgE,CACjE,CAAA;IAED,sEAAsE;IACtE,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAE1C,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aAC1C,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QACzE,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QACxD,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;aACpD,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI;aACP,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;aACtC,KAAK,EAAE;aACP,KAAK,EAAE,CAAA;QACV,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAC3C,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IAEvB,6EAA6E;IAC7E,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,gBAAgB,GAAG,IAAI;SAC1B,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SAC5C,KAAK,EAAE,CAAA;IACV,IAAI,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,SAAS,EAAE,CAAA;IACnB,CAAC;IACD,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAE5B,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;IACrB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locator-highlight-animated.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-animated.screenci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,sBAAsB;AACtB,KAAK,CAAC,QAAQ,CAAC;IACb,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE;;;;;;;;;;;;;KAaJ;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,IAAI;QACb,
|
|
1
|
+
{"version":3,"file":"locator-highlight-animated.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-animated.screenci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,sBAAsB;AACtB,KAAK,CAAC,QAAQ,CAAC;IACb,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,0BAA0B;QAChC,GAAG,EAAE;;;;;;;;;;;;;KAaJ;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,MAAM;KACjB,CAAC;CACH,CAAC,CAAC,8BAA8B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;IAClE,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAA;IAElC,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IAClB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;AAClB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narration.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/narration.screenci.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { hide, resetZoom, video, voices, zoomTo } from 'screenci';
|
|
2
|
+
video.use({
|
|
3
|
+
renderOptions: {
|
|
4
|
+
narration: {
|
|
5
|
+
voice: { name: voices.Sophie, style: 'Friendly product guide' },
|
|
6
|
+
},
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
const appUrl = process.env.SCREENCI_APP_URL ?? 'https://app.screenci.com/';
|
|
10
|
+
// Narration walkthrough recorded against the ScreenCI app (app.screenci.com) for
|
|
11
|
+
// the Narration guide. It explains cue-based narration out loud, then shows the
|
|
12
|
+
// Studio narration editor where teammates manage the spoken text without code.
|
|
13
|
+
// Studio lives behind auth, so recording this needs a logged-in session: set
|
|
14
|
+
// SCREENCI_APP_STORAGE_STATE to a Playwright storageState JSON (see
|
|
15
|
+
// screenci.config.ts). The navigation mirrors studio.screenci.ts.
|
|
16
|
+
//
|
|
17
|
+
// The logo intro (assets/logo.png) is gitignored: it is uploaded to the ScreenCI
|
|
18
|
+
// backend on the first record and reused on later runs (CI included).
|
|
19
|
+
video
|
|
20
|
+
.overlays({
|
|
21
|
+
logo: { path: './assets/logo.png', fill: 'recording', duration: '2s' },
|
|
22
|
+
})
|
|
23
|
+
.narration({
|
|
24
|
+
en: {
|
|
25
|
+
intro: 'Narration is cue based: you attach a script, then mark where speech starts.',
|
|
26
|
+
overlap: 'A cue can start, run while the interface moves, and end on your mark.',
|
|
27
|
+
studio: 'On the Business tier, teammates manage the same narration in Studio.',
|
|
28
|
+
outro: 'Change the words and re-render, with no re-recording required.',
|
|
29
|
+
},
|
|
30
|
+
})('Narration walkthrough', async ({ page, narration, overlays }) => {
|
|
31
|
+
// Studio lives behind auth (SCREENCI_APP_STORAGE_STATE, see screenci.config.ts).
|
|
32
|
+
// Skip rather than stall on the login page when the session is not configured.
|
|
33
|
+
video.skip(!process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE (a logged-in app session).');
|
|
34
|
+
// Open a finished video's Studio page without showing the navigation.
|
|
35
|
+
await hide(async () => {
|
|
36
|
+
await page.goto(appUrl);
|
|
37
|
+
await page.waitForLoadState('networkidle');
|
|
38
|
+
await page
|
|
39
|
+
.getByRole('heading', { name: 'Projects' })
|
|
40
|
+
.waitFor({ timeout: 30000 });
|
|
41
|
+
await page.getByTestId('projects-list').getByRole('link').first().click();
|
|
42
|
+
await page.locator('a[href*="/video/"]').first().click();
|
|
43
|
+
await page
|
|
44
|
+
.getByRole('heading', { name: /language versions/i })
|
|
45
|
+
.waitFor({ timeout: 15000 });
|
|
46
|
+
await page
|
|
47
|
+
.getByRole('link', { name: /^open /i })
|
|
48
|
+
.first()
|
|
49
|
+
.click();
|
|
50
|
+
await page
|
|
51
|
+
.getByRole('heading', { name: /^studio$/i })
|
|
52
|
+
.waitFor({ timeout: 30000 });
|
|
53
|
+
});
|
|
54
|
+
// Brand intro, then explain the cue model out loud.
|
|
55
|
+
await overlays.logo.for('2s');
|
|
56
|
+
await narration.intro();
|
|
57
|
+
// Frame the Studio narration section while explaining overlap and Studio editing.
|
|
58
|
+
await narration.overlap.start();
|
|
59
|
+
const narrationHeading = page
|
|
60
|
+
.getByRole('heading', { name: /narration/i })
|
|
61
|
+
.first();
|
|
62
|
+
if (await narrationHeading.isVisible().catch(() => false)) {
|
|
63
|
+
await zoomTo(narrationHeading);
|
|
64
|
+
await page.waitForTimeout(900);
|
|
65
|
+
await resetZoom();
|
|
66
|
+
}
|
|
67
|
+
await narration.overlap.end();
|
|
68
|
+
await narration.studio();
|
|
69
|
+
await narration.outro();
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=narration.screenci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narration.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/narration.screenci.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-urls-and-embeds.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/public-urls-and-embeds.screenci.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { hide, resetZoom, video, voices, zoomTo } from 'screenci';
|
|
2
|
+
video.use({
|
|
3
|
+
renderOptions: {
|
|
4
|
+
narration: {
|
|
5
|
+
voice: { name: voices.Sophie, style: 'Friendly product guide' },
|
|
6
|
+
},
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
const appUrl = process.env.SCREENCI_APP_URL ?? 'https://app.screenci.com/';
|
|
10
|
+
// Public URLs walkthrough recorded against the ScreenCI app (app.screenci.com) for
|
|
11
|
+
// the Public URLs and Embeds guide. It opens a finished video and highlights the
|
|
12
|
+
// Enable public URL switch that mints stable, language-specific delivery URLs.
|
|
13
|
+
// Recording needs a logged-in session: set SCREENCI_APP_STORAGE_STATE (see
|
|
14
|
+
// screenci.config.ts). The navigation mirrors studio.screenci.ts up to the video
|
|
15
|
+
// page.
|
|
16
|
+
//
|
|
17
|
+
// The logo intro (assets/logo.png) is gitignored: it is uploaded on the first
|
|
18
|
+
// record and reused on later runs (CI included).
|
|
19
|
+
video
|
|
20
|
+
.overlays({
|
|
21
|
+
logo: { path: './assets/logo.png', fill: 'recording', duration: '2s' },
|
|
22
|
+
})
|
|
23
|
+
.narration({
|
|
24
|
+
en: {
|
|
25
|
+
intro: 'Public URLs give a finished video a stable delivery surface.',
|
|
26
|
+
enable: 'Turn on Enable public URL to mint a route for each language.',
|
|
27
|
+
auto: 'Auto-select keeps every language on its latest finished render.',
|
|
28
|
+
outro: 'Embed the URL in docs, changelogs, or release pages.',
|
|
29
|
+
},
|
|
30
|
+
})('Public URLs and embeds', async ({ page, narration, overlays }) => {
|
|
31
|
+
// The public-delivery switch lives behind auth (SCREENCI_APP_STORAGE_STATE).
|
|
32
|
+
video.skip(!process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE (a logged-in app session).');
|
|
33
|
+
// Open a finished video page without showing the navigation.
|
|
34
|
+
await hide(async () => {
|
|
35
|
+
await page.goto(appUrl);
|
|
36
|
+
await page.waitForLoadState('networkidle');
|
|
37
|
+
await page
|
|
38
|
+
.getByRole('heading', { name: 'Projects' })
|
|
39
|
+
.waitFor({ timeout: 30000 });
|
|
40
|
+
await page.getByTestId('projects-list').getByRole('link').first().click();
|
|
41
|
+
await page.locator('a[href*="/video/"]').first().click();
|
|
42
|
+
await page
|
|
43
|
+
.getByRole('heading', { name: /language versions/i })
|
|
44
|
+
.waitFor({ timeout: 15000 });
|
|
45
|
+
});
|
|
46
|
+
await overlays.logo.for('2s');
|
|
47
|
+
await narration.intro();
|
|
48
|
+
// Frame the public-delivery control, identified by its label text.
|
|
49
|
+
await narration.enable.start();
|
|
50
|
+
const enableControl = page.getByText(/enable public url/i).first();
|
|
51
|
+
if (await enableControl.isVisible().catch(() => false)) {
|
|
52
|
+
await zoomTo(enableControl);
|
|
53
|
+
await page.waitForTimeout(900);
|
|
54
|
+
await resetZoom();
|
|
55
|
+
}
|
|
56
|
+
await narration.enable.end();
|
|
57
|
+
await narration.auto();
|
|
58
|
+
await narration.outro();
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=public-urls-and-embeds.screenci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-urls-and-embeds.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/public-urls-and-embeds.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjE,KAAK,CAAC,GAAG,CAAC;IACR,aAAa,EAAE;QACb,SAAS,EAAE;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE;SAChE;KACF;CACF,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,2BAA2B,CAAA;AAE1E,mFAAmF;AACnF,iFAAiF;AACjF,+EAA+E;AAC/E,2EAA2E;AAC3E,iFAAiF;AACjF,QAAQ;AACR,EAAE;AACF,8EAA8E;AAC9E,iDAAiD;AACjD,KAAK;KACF,QAAQ,CAAC;IACR,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;CACvE,CAAC;KACD,SAAS,CAAC;IACT,EAAE,EAAE;QACF,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,8DAA8D;QACtE,IAAI,EAAE,iEAAiE;QACvE,KAAK,EAAE,sDAAsD;KAC9D;CACF,CAAC,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrE,6EAA6E;IAC7E,KAAK,CAAC,IAAI,CACR,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EACvC,gEAAgE,CACjE,CAAA;IAED,6DAA6D;IAC7D,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAE1C,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;aAC1C,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QACzE,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;QACxD,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;aACpD,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IAEvB,mEAAmE;IACnE,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAA;IAClE,IAAI,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;QAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,SAAS,EAAE,CAAA;IACnB,CAAC;IACD,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAE5B,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IACtB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speaking-style.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/speaking-style.screenci.ts"],"names":[],"mappings":""}
|