screenci 0.0.68 → 0.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +45 -122
  2. package/dist/cli.d.ts +3 -18
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +117 -158
  5. package/dist/cli.js.map +1 -1
  6. package/dist/docs/manifest.d.ts +66 -35
  7. package/dist/docs/manifest.d.ts.map +1 -1
  8. package/dist/docs/manifest.js +22 -11
  9. package/dist/docs/manifest.js.map +1 -1
  10. package/dist/docs/video-sources/cli.screenci.d.ts +2 -0
  11. package/dist/docs/video-sources/cli.screenci.d.ts.map +1 -0
  12. package/dist/docs/video-sources/{cli.video.js → cli.screenci.js} +1 -1
  13. package/dist/docs/video-sources/cli.screenci.js.map +1 -0
  14. package/dist/docs/video-sources/installation.screenci.d.ts +2 -0
  15. package/dist/docs/video-sources/installation.screenci.d.ts.map +1 -0
  16. package/dist/docs/video-sources/{installation.video.js → installation.screenci.js} +1 -1
  17. package/dist/docs/video-sources/installation.screenci.js.map +1 -0
  18. package/dist/docs/video-sources/landing.screenci.d.ts +2 -0
  19. package/dist/docs/video-sources/landing.screenci.d.ts.map +1 -0
  20. package/dist/docs/video-sources/{landing.video.js → landing.screenci.js} +1 -1
  21. package/dist/docs/video-sources/landing.screenci.js.map +1 -0
  22. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts +2 -0
  23. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts.map +1 -0
  24. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +53 -0
  25. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -0
  26. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts +2 -0
  27. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts.map +1 -0
  28. package/dist/docs/video-sources/locator-highlight-still.screenci.js +24 -0
  29. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -0
  30. package/dist/docs/video-sources/product-pitch.screenci.d.ts +2 -0
  31. package/dist/docs/video-sources/product-pitch.screenci.d.ts.map +1 -0
  32. package/dist/docs/video-sources/product-pitch.screenci.js +136 -0
  33. package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -0
  34. package/dist/docs/video-sources/public-urls.screenci.d.ts +2 -0
  35. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +1 -0
  36. package/dist/docs/video-sources/public-urls.screenci.js +34 -0
  37. package/dist/docs/video-sources/public-urls.screenci.js.map +1 -0
  38. package/dist/docs/video-sources/studio.screenci.d.ts +2 -0
  39. package/dist/docs/video-sources/studio.screenci.d.ts.map +1 -0
  40. package/dist/docs/video-sources/studio.screenci.js +57 -0
  41. package/dist/docs/video-sources/studio.screenci.js.map +1 -0
  42. package/dist/docs/videos.d.ts +36 -15
  43. package/dist/docs/videos.d.ts.map +1 -1
  44. package/dist/docs/videos.js +27 -2
  45. package/dist/docs/videos.js.map +1 -1
  46. package/dist/e2e/htmlRasterizer.e2e.d.ts +2 -0
  47. package/dist/e2e/htmlRasterizer.e2e.d.ts.map +1 -0
  48. package/dist/e2e/htmlRasterizer.e2e.js +107 -0
  49. package/dist/e2e/htmlRasterizer.e2e.js.map +1 -0
  50. package/dist/e2e/screenshot.e2e.d.ts +2 -0
  51. package/dist/e2e/screenshot.e2e.d.ts.map +1 -0
  52. package/dist/e2e/screenshot.e2e.js +73 -0
  53. package/dist/e2e/screenshot.e2e.js.map +1 -0
  54. package/dist/index.d.ts +10 -4
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +5 -2
  57. package/dist/index.js.map +1 -1
  58. package/dist/src/asset.d.ts +245 -53
  59. package/dist/src/asset.d.ts.map +1 -1
  60. package/dist/src/asset.js +718 -77
  61. package/dist/src/asset.js.map +1 -1
  62. package/dist/src/audio.d.ts +127 -0
  63. package/dist/src/audio.d.ts.map +1 -0
  64. package/dist/src/audio.js +207 -0
  65. package/dist/src/audio.js.map +1 -0
  66. package/dist/src/config.d.ts.map +1 -1
  67. package/dist/src/config.js +9 -3
  68. package/dist/src/config.js.map +1 -1
  69. package/dist/src/contextOptions.d.ts +48 -0
  70. package/dist/src/contextOptions.d.ts.map +1 -0
  71. package/dist/src/contextOptions.js +71 -0
  72. package/dist/src/contextOptions.js.map +1 -0
  73. package/dist/src/crop.d.ts +93 -0
  74. package/dist/src/crop.d.ts.map +1 -0
  75. package/dist/src/crop.js +133 -0
  76. package/dist/src/crop.js.map +1 -0
  77. package/dist/src/cue.d.ts +17 -4
  78. package/dist/src/cue.d.ts.map +1 -1
  79. package/dist/src/cue.js +31 -3
  80. package/dist/src/cue.js.map +1 -1
  81. package/dist/src/defaults.d.ts +13 -1
  82. package/dist/src/defaults.d.ts.map +1 -1
  83. package/dist/src/defaults.js +13 -0
  84. package/dist/src/defaults.js.map +1 -1
  85. package/dist/src/dimensions.d.ts +6 -0
  86. package/dist/src/dimensions.d.ts.map +1 -1
  87. package/dist/src/dimensions.js +15 -0
  88. package/dist/src/dimensions.js.map +1 -1
  89. package/dist/src/events.d.ts +283 -13
  90. package/dist/src/events.d.ts.map +1 -1
  91. package/dist/src/events.js +134 -5
  92. package/dist/src/events.js.map +1 -1
  93. package/dist/src/htmlRasterizer.d.ts +153 -0
  94. package/dist/src/htmlRasterizer.d.ts.map +1 -0
  95. package/dist/src/htmlRasterizer.js +386 -0
  96. package/dist/src/htmlRasterizer.js.map +1 -0
  97. package/dist/src/init.d.ts +17 -0
  98. package/dist/src/init.d.ts.map +1 -1
  99. package/dist/src/init.js +131 -11
  100. package/dist/src/init.js.map +1 -1
  101. package/dist/src/linkSession.d.ts +36 -0
  102. package/dist/src/linkSession.d.ts.map +1 -0
  103. package/dist/src/linkSession.js +122 -0
  104. package/dist/src/linkSession.js.map +1 -0
  105. package/dist/src/overlayFlush.d.ts +18 -0
  106. package/dist/src/overlayFlush.d.ts.map +1 -0
  107. package/dist/src/overlayFlush.js +56 -0
  108. package/dist/src/overlayFlush.js.map +1 -0
  109. package/dist/src/overlayRect.d.ts +69 -0
  110. package/dist/src/overlayRect.d.ts.map +1 -0
  111. package/dist/src/overlayRect.js +55 -0
  112. package/dist/src/overlayRect.js.map +1 -0
  113. package/dist/src/performance.d.ts +1 -3
  114. package/dist/src/performance.d.ts.map +1 -1
  115. package/dist/src/performance.js +0 -12
  116. package/dist/src/performance.js.map +1 -1
  117. package/dist/src/recording.d.ts +3 -2
  118. package/dist/src/recording.d.ts.map +1 -1
  119. package/dist/src/recordingData.d.ts +22 -2
  120. package/dist/src/recordingData.d.ts.map +1 -1
  121. package/dist/src/runtimeContext.d.ts +57 -1
  122. package/dist/src/runtimeContext.d.ts.map +1 -1
  123. package/dist/src/runtimeContext.js +40 -0
  124. package/dist/src/runtimeContext.js.map +1 -1
  125. package/dist/src/screenshot.d.ts +105 -0
  126. package/dist/src/screenshot.d.ts.map +1 -0
  127. package/dist/src/screenshot.js +188 -0
  128. package/dist/src/screenshot.js.map +1 -0
  129. package/dist/src/stillCapture.d.ts +68 -0
  130. package/dist/src/stillCapture.d.ts.map +1 -0
  131. package/dist/src/stillCapture.js +119 -0
  132. package/dist/src/stillCapture.js.map +1 -0
  133. package/dist/src/studio.d.ts +8 -11
  134. package/dist/src/studio.d.ts.map +1 -1
  135. package/dist/src/studio.js +2 -25
  136. package/dist/src/studio.js.map +1 -1
  137. package/dist/src/types.d.ts +125 -15
  138. package/dist/src/types.d.ts.map +1 -1
  139. package/dist/src/types.js.map +1 -1
  140. package/dist/src/video.d.ts +54 -1
  141. package/dist/src/video.d.ts.map +1 -1
  142. package/dist/src/video.js +190 -42
  143. package/dist/src/video.js.map +1 -1
  144. package/dist/src/voices.d.ts +22 -9
  145. package/dist/src/voices.d.ts.map +1 -1
  146. package/dist/src/voices.js +6 -24
  147. package/dist/src/voices.js.map +1 -1
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +16 -2
  150. package/skills/screenci/SKILL.md +37 -15
  151. package/skills/screenci/references/init.md +3 -1
  152. package/skills/screenci/references/record.md +8 -3
  153. package/dist/docs/video-sources/cli.video.d.ts +0 -2
  154. package/dist/docs/video-sources/cli.video.d.ts.map +0 -1
  155. package/dist/docs/video-sources/cli.video.js.map +0 -1
  156. package/dist/docs/video-sources/installation.video.d.ts +0 -2
  157. package/dist/docs/video-sources/installation.video.d.ts.map +0 -1
  158. package/dist/docs/video-sources/installation.video.js.map +0 -1
  159. package/dist/docs/video-sources/landing.video.d.ts +0 -2
  160. package/dist/docs/video-sources/landing.video.d.ts.map +0 -1
  161. package/dist/docs/video-sources/landing.video.js.map +0 -1
@@ -26,7 +26,7 @@ export const docsManifest = [
26
26
  next: 'docs/installation',
27
27
  },
28
28
  {
29
- source: 'installation.mdx',
29
+ source: 'manual-setup.mdx',
30
30
  slug: 'docs/installation',
31
31
  section: 'Getting Started',
32
32
  order: 3,
@@ -43,7 +43,7 @@ export const docsManifest = [
43
43
  order: 4,
44
44
  navLabel: 'Video script basics',
45
45
  title: 'Video Script Basics',
46
- description: 'Author .video.ts files with Playwright-like APIs, ScreenCI narration and camera helpers, and workflow-aware pacing.',
46
+ description: 'Author .screenci.ts files with Playwright-like APIs, ScreenCI narration and camera helpers, and workflow-aware pacing.',
47
47
  prev: 'docs/installation',
48
48
  next: 'docs/ci-setup',
49
49
  },
@@ -92,32 +92,43 @@ export const docsManifest = [
92
92
  next: 'docs/guides/assets-and-overlays',
93
93
  },
94
94
  {
95
- source: 'assets-and-overlays.md',
95
+ source: 'overlays.md',
96
96
  slug: 'docs/guides/assets-and-overlays',
97
97
  section: 'Guides',
98
98
  order: 4,
99
- navLabel: 'Assets and overlays',
100
- title: 'Assets and Overlays',
101
- description: 'Add intro clips, corner logos, transition assets, and timed overlays to ScreenCI recordings.',
99
+ navLabel: 'Overlays',
100
+ title: 'Overlays',
101
+ description: 'Add intro clips, corner logos, transitions, and timed overlays to ScreenCI recordings from files, HTML, or React.',
102
102
  prev: 'docs/guides/camera-and-zooming',
103
+ next: 'docs/guides/screenshots',
104
+ },
105
+ {
106
+ source: 'screenshots.md',
107
+ slug: 'docs/guides/screenshots',
108
+ section: 'Guides',
109
+ order: 5,
110
+ navLabel: 'Screenshots',
111
+ title: 'Screenshots',
112
+ 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.',
113
+ prev: 'docs/guides/assets-and-overlays',
103
114
  next: 'docs/guides/studio',
104
115
  },
105
116
  {
106
117
  source: 'studio.md',
107
118
  slug: 'docs/guides/studio',
108
119
  section: 'Guides',
109
- order: 5,
120
+ order: 6,
110
121
  navLabel: 'Studio',
111
122
  title: 'Studio',
112
- description: 'Remix render options, narration text, voices, and assets from the web app, or manage them entirely in Studio with createStudioNarration and createStudioAssets. Business tier.',
113
- prev: 'docs/guides/assets-and-overlays',
123
+ description: 'Remix render options, narration text, voices, and overlays from the web app, or manage them entirely in Studio with createStudioNarration and createStudioOverlays. Business tier.',
124
+ prev: 'docs/guides/screenshots',
114
125
  next: 'docs/guides/public-urls-and-embeds',
115
126
  },
116
127
  {
117
128
  source: 'public-urls-and-embeds.md',
118
129
  slug: 'docs/guides/public-urls-and-embeds',
119
130
  section: 'Guides',
120
- order: 6,
131
+ order: 7,
121
132
  navLabel: 'Public URLs and embeds',
122
133
  title: 'Public URLs and Embeds',
123
134
  description: 'Enable public delivery for a video, understand stable language-specific URLs, and embed ScreenCI outputs in other sites.',
@@ -128,7 +139,7 @@ export const docsManifest = [
128
139
  source: 'update-screenci.mdx',
129
140
  slug: 'docs/guides/update-screenci',
130
141
  section: 'Guides',
131
- order: 7,
142
+ order: 8,
132
143
  navLabel: 'Update ScreenCI',
133
144
  title: 'Update ScreenCI',
134
145
  description: 'Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.',
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/cli.screenci.ts"],"names":[],"mappings":""}
@@ -33,4 +33,4 @@ video('CLI reference walkthrough', async ({ page }) => {
33
33
  await page.waitForTimeout(700);
34
34
  await resetZoom();
35
35
  });
36
- //# sourceMappingURL=cli.video.js.map
36
+ //# sourceMappingURL=cli.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/cli.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,GACP,MAAM,UAAU,CAAA;AAEjB,MAAM,SAAS,GAAG,eAAe,CAAC;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAC9B,EAAE,EAAE;QACF,KAAK,EACH,gFAAgF;QAClF,MAAM,EACJ,2EAA2E;QAC7E,KAAK,EACH,2FAA2F;QAC7F,IAAI,EAAE,gEAAgE;KACvE;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACpD,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAC1D,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAA;IACrD,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAE5B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,MAAM,MAAM,CACV,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CACtE,CAAA;IACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,EAAE,CAAA;IAEjB,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;aAClE,sBAAsB,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CACV,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC,CACxE,CAAA;IACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,SAAS,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=installation.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/installation.screenci.ts"],"names":[],"mappings":""}
@@ -23,4 +23,4 @@ video('How to find docs', async ({ page }) => {
23
23
  await page.getByRole('link', { name: 'View Documentation' }).click();
24
24
  });
25
25
  });
26
- //# sourceMappingURL=installation.video.js.map
26
+ //# sourceMappingURL=installation.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installation.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/installation.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEzE,MAAM,SAAS,GAAG,eAAe,CAAC;IAChC,4CAA4C;IAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;IAC9B,wCAAwC;IACxC,EAAE,EAAE;QACF,IAAI,EAAE,kEAAkE;KACzE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mFAAmF;KAC1F;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3C,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,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=landing.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/landing.screenci.ts"],"names":[],"mappings":""}
@@ -31,4 +31,4 @@ video('Landing light', async ({ page }) => {
31
31
  await page.getByRole('link', { name: 'View Documentation' }).click();
32
32
  });
33
33
  });
34
- //# sourceMappingURL=landing.video.js.map
34
+ //# sourceMappingURL=landing.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/landing.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEzE,MAAM,SAAS,GAAG,eAAe,CAAC;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE;IAC/D,EAAE,EAAE;QACF,IAAI,EAAE,kEAAkE;KACzE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,mFAAmF;KAC1F;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=locator-highlight-animated.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-highlight-animated.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-animated.screenci.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { createOverlays, video } from 'screenci';
2
+ // Source of record for the animated "highlight a locator" overlay in the
3
+ // Overlays guide. It rings the same element as the Screenshots still
4
+ // (locator-highlight-still.screenci.ts), but the ring pulses while the page is
5
+ // driven underneath, then closes before the recording stops.
6
+ const overlays = createOverlays({
7
+ // Sized to the element's box (plus the margin); the ring fills it and pulses
8
+ // via a CSS animation. capturePadding gives the scale-up room so it is not
9
+ // clipped at the box edge.
10
+ ring: (target) => ({
11
+ html: '<div class="screenci-ring"></div>',
12
+ css: `
13
+ .screenci-ring {
14
+ width: 100%;
15
+ height: 100%;
16
+ border: 4px solid #ec4899;
17
+ border-radius: 14px;
18
+ box-shadow: 0 0 0 6px rgba(236, 72, 153, 0.25);
19
+ animation: screenci-ring-pulse 1.2s ease-in-out infinite;
20
+ }
21
+ @keyframes screenci-ring-pulse {
22
+ 0%,
23
+ 100% {
24
+ opacity: 1;
25
+ transform: scale(1);
26
+ }
27
+ 50% {
28
+ opacity: 0.45;
29
+ transform: scale(1.04);
30
+ }
31
+ }
32
+ `,
33
+ over: target,
34
+ margin: 12,
35
+ animate: true,
36
+ durationMs: 2400,
37
+ capturePadding: 24,
38
+ }),
39
+ });
40
+ video('Locator highlight (animated)', async ({ page }) => {
41
+ await page.goto('https://screenci.com/');
42
+ await page.waitForLoadState('networkidle');
43
+ const cta = page.getByRole('link', { name: 'View Documentation' });
44
+ await cta.scrollIntoViewIfNeeded();
45
+ // The ring pulses while the page stays live underneath. Every start() must be
46
+ // ended before the video function returns. Capture the controller so the
47
+ // locator appears once.
48
+ const ring = overlays.ring(cta);
49
+ await ring.start();
50
+ await cta.hover();
51
+ await ring.end();
52
+ });
53
+ //# sourceMappingURL=locator-highlight-animated.screenci.js.map
@@ -0,0 +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,cAAc,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhD,yEAAyE;AACzE,qEAAqE;AACrE,+EAA+E;AAC/E,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,6EAA6E;IAC7E,2EAA2E;IAC3E,2BAA2B;IAC3B,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,mCAAmC;QACzC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;KAoBJ;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,EAAE;KACnB,CAAC;CACH,CAAC,CAAA;AAEF,KAAK,CAAC,8BAA8B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACvD,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,8EAA8E;IAC9E,yEAAyE;IACzE,wBAAwB;IACxB,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=locator-highlight-still.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-highlight-still.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/locator-highlight-still.screenci.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { createOverlays, screenshot } from 'screenci';
2
+ // Source of record for the "highlight a locator" still in the Screenshots
3
+ // guide. It rings a single element on the marketing site with a margin around
4
+ // it, then captures a branded still. The Overlays guide animates the same
5
+ // example (locator-highlight-animated.screenci.ts).
6
+ const overlays = createOverlays({
7
+ // The overlay is sized to the element's box (plus the margin) and the ring
8
+ // fills it, so it lands exactly around the locator with breathing room.
9
+ ring: (target) => ({
10
+ html: '<div style="width:100%;height:100%;border:4px solid #ec4899;border-radius:14px;box-shadow:0 0 0 6px rgba(236,72,153,0.25)"></div>',
11
+ over: target,
12
+ margin: 12,
13
+ }),
14
+ });
15
+ screenshot('Locator highlight', async ({ page }) => {
16
+ await page.goto('https://screenci.com/');
17
+ await page.waitForLoadState('networkidle');
18
+ const cta = page.getByRole('link', { name: 'View Documentation' });
19
+ await cta.scrollIntoViewIfNeeded();
20
+ // In a still, start the overlay and leave it open: it stays in the image,
21
+ // with no matching end() needed.
22
+ await overlays.ring(cta).start();
23
+ });
24
+ //# sourceMappingURL=locator-highlight-still.screenci.js.map
@@ -0,0 +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,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErD,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,oDAAoD;AACpD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,mIAAmI;QACzI,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE;KACX,CAAC;CACH,CAAC,CAAA;AAEF,UAAU,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjD,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,iCAAiC;IACjC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;AAClC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=product-pitch.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-pitch.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/product-pitch.screenci.ts"],"names":[],"mappings":""}
@@ -0,0 +1,136 @@
1
+ import { expect } from '@playwright/test';
2
+ import { existsSync } from 'node:fs';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { autoZoom, createNarration, createOverlays, hide, resetZoom, video, voices, zoomTo, } from 'screenci';
5
+ // Before recording:
6
+ // 1. Put the condensed, cursor-safe agent capture at assets/agent.mp4.
7
+ // 2. Set SCREENCI_APP_STORAGE_STATE to a logged-in Playwright storage state.
8
+ // 3. Override these defaults when the agent created a different remote video:
9
+ // SCREENCI_PITCH_PROJECT_NAME
10
+ // SCREENCI_PITCH_VIDEO_NAME
11
+ //
12
+ // This video deliberately starts a real one-off Studio render. Testing or
13
+ // recording it therefore consumes one render. Keep agent.mp4 short enough that
14
+ // the complete pitch remains below two minutes (roughly 20-25 seconds).
15
+ const projectName = process.env.SCREENCI_PITCH_PROJECT_NAME ?? 'demo-saas';
16
+ const videoName = process.env.SCREENCI_PITCH_VIDEO_NAME ?? 'Vertical invoice';
17
+ const agentRecording = fileURLToPath(new URL('../assets/agent.mp4', import.meta.url));
18
+ const overlays = createOverlays({
19
+ agentSession: {
20
+ path: '../assets/agent.mp4',
21
+ fullScreen: true,
22
+ // The launch narration explains this condensed recording, so mute any
23
+ // incidental screen-recorder audio in the source clip.
24
+ audio: 0,
25
+ },
26
+ });
27
+ const narration = createNarration({
28
+ voice: {
29
+ name: voices.Sophie,
30
+ style: 'Calm, direct developer presenting a real product workflow',
31
+ },
32
+ en: {
33
+ intro: 'This video shows how a coding agent and ScreenCI [pronounce: screen see eye] turn a product flow into a finished product video.',
34
+ agent: 'I asked the agent to create a narrated walkthrough for this sample SaaS application. This is the actual session, condensed.',
35
+ source: 'It reads the application, then writes and tests a Playwright-style video file in the repository.',
36
+ oneOff: 'The flow is already recorded, so I can render a one-off version without recording the application again.',
37
+ rendering: 'This is the real render job, combining the recording, narration, camera motion, and overlays.',
38
+ privacy: 'The application, source, session, and credentials stayed local. Only the recording and timing data were uploaded.',
39
+ delivery: 'The finished video is ready to review, download, or publish through a stable public URL.',
40
+ maintenance: 'Run the source locally or in CI. If the product flow changes, it fails visibly instead of leaving a stale walkthrough online.',
41
+ more: 'One recording can produce language versions with synchronized narration and subtitles, cloned voices, and React or HTML overlays.',
42
+ outro: 'That is ScreenCI [pronounce: screen see eye]: from a coding-agent prompt to a product video you can rerun whenever the product changes.',
43
+ },
44
+ });
45
+ video('ScreenCI product pitch', async ({ page }) => {
46
+ video.skip(!process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE with a logged-in ScreenCI app session.');
47
+ video.skip(!existsSync(agentRecording), 'Add the condensed agent capture at screenci/assets/agent.mp4.');
48
+ // Start in Studio for the video produced during the captured agent session.
49
+ // Authentication and dashboard navigation are setup, so they are not shown.
50
+ await hide(async () => {
51
+ await page.goto('https://app.screenci.com/');
52
+ await page.waitForLoadState('networkidle');
53
+ const projects = page.getByTestId('projects-list');
54
+ await expect(projects).toBeVisible({ timeout: 30_000 });
55
+ await projects.getByRole('link', { name: projectName, exact: true }).click();
56
+ await page.getByRole('link', { name: videoName, exact: true }).click();
57
+ await expect(page.getByRole('heading', { name: /languages/i })).toBeVisible({ timeout: 30_000 });
58
+ await page.getByRole('link', { name: /open in studio/i }).click();
59
+ await expect(page.getByRole('heading', { name: /^studio$/i })).toBeVisible({
60
+ timeout: 30_000,
61
+ });
62
+ });
63
+ await narration.intro();
64
+ // agent.mp4 uses its natural duration. Keep it condensed to 20-25 seconds.
65
+ await narration.agent.start();
66
+ await overlays.agentSession();
67
+ await narration.agent.end();
68
+ await narration.source();
69
+ // This is an intentional real side effect: every run starts one new Studio
70
+ // render for the selected language.
71
+ await narration.oneOff.start();
72
+ await autoZoom(async () => {
73
+ await page.getByRole('button', { name: 'Create one-off version' }).click();
74
+ const dialog = page.getByRole('alertdialog');
75
+ await expect(dialog.getByRole('heading', { name: 'Create a one-off version' })).toBeVisible();
76
+ await dialog.getByRole('button', { name: 'Continue' }).click();
77
+ const renderButton = page.getByRole('button', {
78
+ name: /^Render one-off [A-Z-]+$/,
79
+ });
80
+ await expect(renderButton).toBeEnabled();
81
+ await renderButton.click();
82
+ });
83
+ await expect(page.getByText(/One-off render started for [A-Z-]+\./)).toBeVisible({ timeout: 30_000 });
84
+ await narration.oneOff.end();
85
+ await narration.rendering.start();
86
+ await page.getByRole('link', { name: /view render/i }).click();
87
+ await expect(page.getByRole('heading', { name: /^Studio render/ })).toBeVisible({ timeout: 30_000 });
88
+ await narration.rendering.end();
89
+ // Show the genuine progress UI, but cut the unpredictable cloud wait from
90
+ // the final timeline. A fast render may already be complete at this point.
91
+ await page.waitForTimeout(1_500);
92
+ await hide(async () => {
93
+ await expect(page.getByText('Rendering complete', { exact: true })).toBeVisible({ timeout: 10 * 60_000 });
94
+ });
95
+ await narration.privacy();
96
+ // Open the finished one-off version from the render-run page.
97
+ const finishedVersion = page
98
+ .getByRole('link')
99
+ .filter({ hasText: /View\s*→/ })
100
+ .first();
101
+ await expect(finishedVersion).toBeVisible();
102
+ await finishedVersion.click();
103
+ await expect(page.getByRole('heading', { name: /^v\d+$/ })).toBeVisible({
104
+ timeout: 30_000,
105
+ });
106
+ await expect(page.getByTestId('video-loading-overlay')).toBeHidden({
107
+ timeout: 30_000,
108
+ });
109
+ // Let the generated product video demonstrate itself without narration over
110
+ // it. Twelve seconds is enough to establish the output while keeping the
111
+ // complete pitch below two minutes.
112
+ const playButton = page.getByRole('button', { name: /^play$/i });
113
+ await expect(playButton).toBeVisible();
114
+ await playButton.click();
115
+ await page.waitForTimeout(12_000);
116
+ const pauseButton = page.getByRole('button', { name: /^pause$/i });
117
+ if (await pauseButton.isVisible()) {
118
+ await pauseButton.click();
119
+ }
120
+ await narration.delivery();
121
+ await zoomTo(page.getByRole('button', { name: 'Download Video' }));
122
+ await page.waitForTimeout(700);
123
+ await resetZoom();
124
+ await narration.maintenance();
125
+ // Return to the video overview so the language and delivery surfaces support
126
+ // the final feature summary visually.
127
+ await page.getByRole('link', { name: videoName, exact: true }).click();
128
+ await expect(page.getByRole('heading', { name: /languages/i })).toBeVisible({
129
+ timeout: 30_000,
130
+ });
131
+ await zoomTo(page.getByRole('heading', { name: /languages/i }));
132
+ await narration.more();
133
+ await resetZoom();
134
+ await narration.outro();
135
+ });
136
+ //# sourceMappingURL=product-pitch.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-pitch.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/product-pitch.screenci.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public-urls.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-urls.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/public-urls.screenci.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { autoZoom, createNarration, hide, resetZoom, video, voices, } from 'screenci';
2
+ // Source of record for the "Public URLs and embeds" docs video. It walks the
3
+ // public-delivery explainer page: the stable base URL, the per-language
4
+ // outputs, and a live embed that switches languages. Recorded against the
5
+ // deployed demo so it runs without app authentication.
6
+ const narration = createNarration({
7
+ voice: { name: voices.Sophie, style: 'Calm product guide' },
8
+ en: {
9
+ intro: 'Turn on public delivery and your video gets a stable URL on the CDN.',
10
+ langs: 'Each language has its own video, thumbnail, and subtitle URL.',
11
+ embed: 'Drop it into any site. It always resolves to the latest approved render.',
12
+ },
13
+ });
14
+ video('Public URLs and embeds', async ({ page }) => {
15
+ await hide(async () => {
16
+ await page.goto('https://demo.screenci.com/pitch/embed.html');
17
+ await page.waitForLoadState('networkidle');
18
+ });
19
+ await narration.intro();
20
+ await narration.langs.start();
21
+ await autoZoom(async () => {
22
+ await page.locator('.urls').scrollIntoViewIfNeeded();
23
+ });
24
+ await narration.langs.end();
25
+ await resetZoom();
26
+ await narration.embed.start();
27
+ await autoZoom(async () => {
28
+ await page.getByRole('button', { name: 'ES' }).click();
29
+ await page.getByRole('button', { name: 'EN' }).click();
30
+ });
31
+ await narration.embed.end();
32
+ await resetZoom();
33
+ });
34
+ //# sourceMappingURL=public-urls.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-urls.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/public-urls.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,GACP,MAAM,UAAU,CAAA;AAEjB,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,uDAAuD;AACvD,MAAM,SAAS,GAAG,eAAe,CAAC;IAChC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC3D,EAAE,EAAE;QACF,KAAK,EACH,sEAAsE;QACxE,KAAK,EAAE,+DAA+D;QACtE,KAAK,EACH,0EAA0E;KAC7E;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACjD,MAAM,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC7D,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACvB,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC7B,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,SAAS,EAAE,CAAA;IAEjB,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC7B,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QACtD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;IACxD,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IAC3B,MAAM,SAAS,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=studio.screenci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio.screenci.d.ts","sourceRoot":"","sources":["../../../docs/video-sources/studio.screenci.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { autoZoom, createNarration, hide, resetZoom, video, voices, zoomTo, } from 'screenci';
2
+ // Studio walkthrough recorded against the ScreenCI app (app.screenci.com), for
3
+ // the "Remix in Studio on the web" tile on the landing page. Studio lives behind
4
+ // auth, so recording this needs a logged-in session: set SCREENCI_APP_STORAGE_STATE
5
+ // to a Playwright storageState JSON (see screenci.config.ts). The walkthrough is
6
+ // self-contained: it opens the first project and video, then enters Studio.
7
+ const narration = createNarration({
8
+ voice: { name: voices.Sophie, style: 'Friendly product guide' },
9
+ en: {
10
+ intro: 'Open any finished video in Studio to edit it right in the browser.',
11
+ edit: 'Change narration, add a language, or restyle render options, then render a new version. No code, no re-recording.',
12
+ },
13
+ es: {
14
+ intro: 'Abre cualquier video terminado en Studio para editarlo directamente en el navegador.',
15
+ edit: 'Cambia la narracion, agrega un idioma o ajusta las opciones de render, y genera una nueva version. Sin codigo y sin volver a grabar.',
16
+ },
17
+ });
18
+ video('Studio web editing', async ({ page }) => {
19
+ // Studio lives behind auth, so this recording only works with a logged-in
20
+ // session (SCREENCI_APP_STORAGE_STATE, see screenci.config.ts). When it is not
21
+ // configured (e.g. CI without the session secret), skip instead of timing out
22
+ // on the login page.
23
+ video.skip(!process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE (a logged-in app session).');
24
+ // Navigate from the dashboard into Studio without showing it in the recording.
25
+ await hide(async () => {
26
+ await page.goto('https://app.screenci.com/');
27
+ await page.waitForLoadState('networkidle');
28
+ await page
29
+ .getByRole('heading', { name: 'Projects' })
30
+ .waitFor({ timeout: 30000 });
31
+ await page.getByTestId('projects-list').getByRole('link').first().click();
32
+ // Open the first video in the project, then enter Studio.
33
+ await page.getByRole('link', { name: /video/i }).first().click();
34
+ await page
35
+ .getByRole('heading', { name: /languages/i })
36
+ .waitFor({ timeout: 15000 });
37
+ await page.getByRole('link', { name: /open in studio/i }).click();
38
+ await page
39
+ .getByRole('heading', { name: /^studio$/i })
40
+ .waitFor({ timeout: 30000 });
41
+ });
42
+ await narration.intro();
43
+ // Show adding a language: a visible edit that does not trigger a render.
44
+ await narration.edit.start();
45
+ await autoZoom(async () => {
46
+ const addLanguage = page.getByPlaceholder(/add language/i);
47
+ await addLanguage.scrollIntoViewIfNeeded();
48
+ await addLanguage.click();
49
+ await addLanguage.fill('French');
50
+ });
51
+ await narration.edit.end();
52
+ // Highlight the Render action without clicking it (avoid kicking off a render).
53
+ await zoomTo(page.getByRole('button', { name: /^render( [a-z-]+)?$/i }));
54
+ await page.waitForTimeout(900);
55
+ await resetZoom();
56
+ });
57
+ //# sourceMappingURL=studio.screenci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/studio.screenci.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,52 @@
1
- export type PublishedDocVideo = {
2
- publicId: string;
1
+ /**
2
+ * A doc media embed is either a recorded `video` (the default) or a still
3
+ * `screenshot`. Both are produced by the same `.screenci.ts` source recorded in
4
+ * CI and published to the public delivery CDN; only the embed differs (a player
5
+ * vs an `<img>`).
6
+ */
7
+ export type DocMediaKind = 'video' | 'screenshot';
8
+ type DocMediaCommon = {
3
9
  sourcePath: string;
4
10
  showSource?: boolean;
11
+ /** Defaults to `'video'`. */
12
+ kind?: DocMediaKind;
13
+ /** Alt text for `kind: 'screenshot'` embeds. */
14
+ alt?: string;
5
15
  };
6
- export type UnpublishedDocVideo = {
7
- sourcePath: string;
8
- showSource?: boolean;
16
+ export type PublishedDocVideo = DocMediaCommon & {
17
+ publicId: string;
9
18
  };
19
+ export type UnpublishedDocVideo = DocMediaCommon;
10
20
  export type DocVideo = PublishedDocVideo | UnpublishedDocVideo;
11
21
  export declare const docsVideoRegistry: {
12
22
  readonly 'docs/installation': {
13
23
  readonly publicId: "kh7ccy03njvxjm0daef5g50zv587hrbd";
14
- readonly sourcePath: "screenci/docs/video-sources/installation.video.ts";
24
+ readonly sourcePath: "screenci/docs/video-sources/installation.screenci.ts";
15
25
  readonly showSource: false;
16
26
  };
17
27
  readonly 'docs/reference/cli': {
18
28
  readonly publicId: "kh778mvzqw1t504wts9wqyaa2187dfc0";
19
- readonly sourcePath: "screenci/docs/video-sources/cli.video.ts";
29
+ readonly sourcePath: "screenci/docs/video-sources/cli.screenci.ts";
30
+ };
31
+ readonly 'docs/guides/public-urls-and-embeds': {
32
+ readonly publicId: "kh7aj5s49s6wgfb86jgd0zht59890f17";
33
+ readonly sourcePath: "screenci/docs/video-sources/public-urls.screenci.ts";
34
+ readonly showSource: false;
35
+ };
36
+ readonly 'docs/guides/studio': {
37
+ readonly sourcePath: "screenci/docs/video-sources/studio.screenci.ts";
38
+ readonly showSource: false;
39
+ };
40
+ readonly 'docs/guides/assets-and-overlays': {
41
+ readonly sourcePath: "screenci/docs/video-sources/locator-highlight-animated.screenci.ts";
42
+ };
43
+ readonly 'docs/guides/screenshots': {
44
+ readonly kind: "screenshot";
45
+ readonly alt: "A marketing-site link highlighted by a pink ring with margin around it, framed as a branded still";
46
+ readonly sourcePath: "screenci/docs/video-sources/locator-highlight-still.screenci.ts";
20
47
  };
21
48
  };
22
- export declare function getDocVideo(slug: string): {
23
- readonly publicId: "kh7ccy03njvxjm0daef5g50zv587hrbd";
24
- readonly sourcePath: "screenci/docs/video-sources/installation.video.ts";
25
- readonly showSource: false;
26
- } | {
27
- readonly publicId: "kh778mvzqw1t504wts9wqyaa2187dfc0";
28
- readonly sourcePath: "screenci/docs/video-sources/cli.video.ts";
29
- };
49
+ export declare function getDocVideo(slug: string): DocVideo | null;
30
50
  export declare function hasPublicId(video: DocVideo): video is PublishedDocVideo;
51
+ export {};
31
52
  //# sourceMappingURL=videos.d.ts.map