screenci 0.0.75 → 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 +62 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +699 -229
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +277 -91
- package/dist/docs/manifest.d.ts.map +1 -1
- package/dist/docs/manifest.js +101 -30
- 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 +19 -10
- package/dist/docs/video-sources/installation.screenci.js.map +1 -1
- package/dist/docs/video-sources/landing.screenci.js +6 -8
- package/dist/docs/video-sources/landing.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 +4 -5
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
- package/dist/docs/video-sources/locator-highlight-still.screenci.js +3 -4
- package/dist/docs/video-sources/locator-highlight-still.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/studio.screenci.js +8 -10
- package/dist/docs/video-sources/studio.screenci.js.map +1 -1
- 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 +60 -1
- 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 +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +174 -14
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +320 -39
- 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 +20 -1
- package/dist/src/audio.d.ts.map +1 -1
- package/dist/src/audio.js +126 -24
- package/dist/src/audio.js.map +1 -1
- package/dist/src/autoZoom.d.ts.map +1 -1
- package/dist/src/autoZoom.js +3 -1
- package/dist/src/autoZoom.js.map +1 -1
- package/dist/src/browserLaunchOptions.d.ts +24 -2
- package/dist/src/browserLaunchOptions.d.ts.map +1 -1
- package/dist/src/browserLaunchOptions.js +57 -3
- package/dist/src/browserLaunchOptions.js.map +1 -1
- package/dist/src/builder.d.ts +229 -136
- package/dist/src/builder.d.ts.map +1 -1
- package/dist/src/builder.js +264 -77
- package/dist/src/builder.js.map +1 -1
- package/dist/src/callerFile.d.ts +12 -0
- package/dist/src/callerFile.d.ts.map +1 -0
- package/dist/src/callerFile.js +46 -0
- package/dist/src/callerFile.js.map +1 -0
- package/dist/src/changeFocus.d.ts.map +1 -1
- package/dist/src/changeFocus.js +109 -36
- package/dist/src/changeFocus.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +15 -0
- package/dist/src/config.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 +63 -0
- package/dist/src/declare.d.ts.map +1 -0
- package/dist/src/declare.js +111 -0
- package/dist/src/declare.js.map +1 -0
- package/dist/src/defaults.d.ts +23 -0
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +27 -3
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/events.d.ts +339 -25
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +250 -26
- 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 +81 -33
- package/dist/src/init.js.map +1 -1
- package/dist/src/instrument.d.ts.map +1 -1
- package/dist/src/instrument.js +164 -8
- 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 +26 -17
- package/dist/src/localize.d.ts.map +1 -1
- package/dist/src/localize.js +19 -11
- package/dist/src/localize.js.map +1 -1
- package/dist/src/localizeRuntime.d.ts +29 -33
- package/dist/src/localizeRuntime.d.ts.map +1 -1
- package/dist/src/localizeRuntime.js +74 -49
- 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/manualZoom.d.ts.map +1 -1
- package/dist/src/manualZoom.js +8 -5
- package/dist/src/manualZoom.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/openBrowser.d.ts +34 -0
- package/dist/src/openBrowser.d.ts.map +1 -0
- package/dist/src/openBrowser.js +62 -0
- package/dist/src/openBrowser.js.map +1 -0
- package/dist/src/recordingData.d.ts +27 -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 +88 -0
- package/dist/src/screenAudio.d.ts.map +1 -0
- package/dist/src/screenAudio.js +0 -0
- package/dist/src/screenAudio.js.map +1 -0
- package/dist/src/screenAudioSink.d.ts +46 -0
- package/dist/src/screenAudioSink.d.ts.map +1 -0
- package/dist/src/screenAudioSink.js +77 -0
- package/dist/src/screenAudioSink.js.map +1 -0
- package/dist/src/screenshot.d.ts +27 -29
- package/dist/src/screenshot.d.ts.map +1 -1
- package/dist/src/screenshot.js +39 -24
- 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/stillCapture.d.ts +5 -0
- package/dist/src/stillCapture.d.ts.map +1 -1
- package/dist/src/stillCapture.js +11 -1
- package/dist/src/stillCapture.js.map +1 -1
- package/dist/src/studio.d.ts +69 -57
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +16 -38
- 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 +218 -2
- 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 +74 -60
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +201 -39
- 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/src/zoom.d.ts +1 -0
- package/dist/src/zoom.d.ts.map +1 -1
- package/dist/src/zoom.js +3 -0
- package/dist/src/zoom.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/skills/screenci/SKILL.md +2 -2
- package/skills/screenci/references/init.md +4 -3
- package/skills/screenci/references/record.md +1 -1
- package/templates/recordings/assets/logo.png +0 -0
- package/dist/docs/video-sources/public-urls.screenci.d.ts +0 -2
- package/dist/docs/video-sources/public-urls.screenci.d.ts.map +0 -1
- package/dist/docs/video-sources/public-urls.screenci.js +0 -41
- package/dist/docs/video-sources/public-urls.screenci.js.map +0 -1
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,11 +173,33 @@ 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',
|
|
192
|
+
next: 'docs/guides/screen-audio',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
source: 'screen-audio.md',
|
|
196
|
+
slug: 'docs/guides/screen-audio',
|
|
197
|
+
section: 'Guides',
|
|
198
|
+
order: 7,
|
|
199
|
+
navLabel: 'Screen audio',
|
|
200
|
+
title: 'Screen Audio',
|
|
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.',
|
|
202
|
+
prev: 'docs/guides/redact',
|
|
137
203
|
next: 'docs/guides/update-screenci',
|
|
138
204
|
},
|
|
139
205
|
{
|
|
@@ -144,7 +210,7 @@ export const docsManifest = [
|
|
|
144
210
|
navLabel: 'Update ScreenCI',
|
|
145
211
|
title: 'Update ScreenCI',
|
|
146
212
|
description: 'Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.',
|
|
147
|
-
prev: 'docs/guides/
|
|
213
|
+
prev: 'docs/guides/screen-audio',
|
|
148
214
|
next: 'docs/reference/cli',
|
|
149
215
|
},
|
|
150
216
|
{
|
|
@@ -181,7 +247,12 @@ export const docsManifest = [
|
|
|
181
247
|
next: 'docs/reference/api',
|
|
182
248
|
},
|
|
183
249
|
];
|
|
184
|
-
export const docsSections = [
|
|
250
|
+
export const docsSections = [
|
|
251
|
+
'Getting Started',
|
|
252
|
+
'Fixtures',
|
|
253
|
+
'Guides',
|
|
254
|
+
'Reference',
|
|
255
|
+
];
|
|
185
256
|
export function getDocBySlug(slug) {
|
|
186
257
|
return docsManifest.find((entry) => entry.slug === slug);
|
|
187
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,22 +1,31 @@
|
|
|
1
1
|
import { autoZoom, hide, video, voices } from 'screenci';
|
|
2
2
|
// The default voice (how narration is spoken) for every language.
|
|
3
3
|
video.use({ renderOptions: { narration: { voice: { name: voices.Sophie } } } });
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
// Localized narration cues by language, plus a brand intro overlay. The fixture
|
|
5
|
+
// exposes narration markers and overlay controllers to the body.
|
|
6
|
+
//
|
|
7
|
+
// The logo image (recordings/assets/logo.png) is gitignored: it is uploaded to
|
|
8
|
+
// the ScreenCI backend on the first record and reused on later runs (CI
|
|
9
|
+
// included), so the binary does not need to be committed.
|
|
10
|
+
video
|
|
11
|
+
.overlays({
|
|
12
|
+
logo: { path: './assets/logo.png', fill: 'recording', duration: '2s' },
|
|
13
|
+
})
|
|
14
|
+
.narration({
|
|
15
|
+
en: {
|
|
16
|
+
docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
|
|
13
17
|
},
|
|
14
|
-
|
|
18
|
+
es: {
|
|
19
|
+
docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
|
|
20
|
+
},
|
|
21
|
+
})('How to find docs', async ({ page, narration, overlays }) => {
|
|
15
22
|
// Run setup without showing these actions in the final recording.
|
|
16
23
|
await hide(async () => {
|
|
17
24
|
await page.goto('https://screenci.com/');
|
|
18
25
|
await page.waitForLoadState('networkidle');
|
|
19
26
|
});
|
|
27
|
+
// Open with a brief brand intro card before the walkthrough begins.
|
|
28
|
+
await overlays.logo.for('2s');
|
|
20
29
|
// Play the matching narration line for this step.
|
|
21
30
|
await narration.docs();
|
|
22
31
|
// 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,EAAE,MAAM,UAAU,CAAA;AAExD,kEAAkE;AAClE,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAE/E,KAAK,CAAC,QAAQ,
|
|
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,EAAE,MAAM,UAAU,CAAA;AAExD,kEAAkE;AAClE,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAE/E,gFAAgF;AAChF,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,0DAA0D;AAC1D,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,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"}
|
|
@@ -6,14 +6,12 @@ video.use({
|
|
|
6
6
|
},
|
|
7
7
|
},
|
|
8
8
|
});
|
|
9
|
-
video.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
es:
|
|
15
|
-
docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
|
|
16
|
-
},
|
|
9
|
+
video.narration({
|
|
10
|
+
en: {
|
|
11
|
+
docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
|
|
12
|
+
},
|
|
13
|
+
es: {
|
|
14
|
+
docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
|
|
17
15
|
},
|
|
18
16
|
})('Landing light', async ({ page, narration }) => {
|
|
19
17
|
await hide(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landing.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/landing.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,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,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"landing.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/landing.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAExD,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,KAAK,CAAC,SAAS,CAAC;IACd,EAAE,EAAE;QACF,IAAI,EAAE,kEAAkE;KACzE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mFAAmF;KAC1F;CACF,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAChD,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACvB,QAAQ,CAAC,MAAM,GAAG,+BAA+B,CAAA;YACjD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YAChD,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACjD,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,CAAC,CAAC,OAAO,YAAY,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAM;YACR,CAAC;YAED,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,OAAO,CAAC,WAAW,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IAEtB,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":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { video } from 'screenci';
|
|
2
2
|
// Animates the same ring as the Screenshots still: it pulses while the page is
|
|
3
3
|
// driven underneath, then closes before the recording stops. An opacity-only
|
|
4
4
|
// pulse keeps the ring landed exactly on the element (no scale, so no capture
|
|
5
5
|
// padding is needed).
|
|
6
|
-
|
|
6
|
+
video.overlays({
|
|
7
7
|
ring: (target) => ({
|
|
8
8
|
html: '<div class="ring"></div>',
|
|
9
9
|
css: `
|
|
@@ -23,10 +23,9 @@ const overlays = createOverlays({
|
|
|
23
23
|
over: target,
|
|
24
24
|
margin: 6,
|
|
25
25
|
animate: true,
|
|
26
|
-
|
|
26
|
+
duration: '2.4s',
|
|
27
27
|
}),
|
|
28
|
-
})
|
|
29
|
-
video('Locator highlight (animated)', async ({ page }) => {
|
|
28
|
+
})('Locator highlight (animated)', async ({ page, overlays }) => {
|
|
30
29
|
await page.goto('https://screenci.com/');
|
|
31
30
|
await page.waitForLoadState('networkidle');
|
|
32
31
|
const cta = page.getByRole('link', { name: 'View Documentation' });
|
|
@@ -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,
|
|
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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { screenshot } from 'screenci';
|
|
2
2
|
// Rings a single element on the marketing site, then captures a branded still.
|
|
3
3
|
// The Overlays guide animates the same example.
|
|
4
|
-
|
|
4
|
+
screenshot.overlays({
|
|
5
5
|
ring: (target) => ({
|
|
6
6
|
html: '<div style="width:100%;height:100%;box-sizing:border-box;border:4px solid #ec4899;border-radius:14px"></div>',
|
|
7
7
|
over: target,
|
|
8
8
|
margin: 6,
|
|
9
9
|
}),
|
|
10
|
-
})
|
|
11
|
-
screenshot('Locator highlight', async ({ page }) => {
|
|
10
|
+
})('Locator highlight', async ({ page, overlays }) => {
|
|
12
11
|
await page.goto('https://screenci.com/');
|
|
13
12
|
await page.waitForLoadState('networkidle');
|
|
14
13
|
const cta = page.getByRole('link', { name: 'View Documentation' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locator-highlight-still.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-still.screenci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"locator-highlight-still.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-still.screenci.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,+EAA+E;AAC/E,gDAAgD;AAChD,UAAU,CAAC,QAAQ,CAAC;IAClB,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,8GAA8G;QACpH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC;KACV,CAAC;CACH,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnD,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,0EAA0E;IAC1E,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;AAClC,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":"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,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,oEAAoE;AACpE,kEAAkE;AAClE,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,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,EACH,6EAA6E;QAC/E,OAAO,EACL,uEAAuE;QACzE,MAAM,EACJ,sEAAsE;QACxE,KAAK,EAAE,gEAAgE;KACxE;CACF,CAAC,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,iFAAiF;IACjF,+EAA+E;IAC/E,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,oDAAoD;IACpD,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IAEvB,kFAAkF;IAClF,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC/B,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,OAAO,CAAC,GAAG,EAAE,CAAA;IAE7B,MAAM,SAAS,CAAC,MAAM,EAAE,CAAA;IACxB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
|