screenci 0.0.70 → 0.0.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +13 -13
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +184 -5
  5. package/dist/cli.js.map +1 -1
  6. package/dist/docs/manifest.d.ts +34 -34
  7. package/dist/docs/manifest.d.ts.map +1 -1
  8. package/dist/docs/manifest.js +20 -12
  9. package/dist/docs/manifest.js.map +1 -1
  10. package/dist/docs/video-sources/installation.screenci.js +13 -12
  11. package/dist/docs/video-sources/installation.screenci.js.map +1 -1
  12. package/dist/docs/video-sources/landing.screenci.js +16 -9
  13. package/dist/docs/video-sources/landing.screenci.js.map +1 -1
  14. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +14 -26
  15. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
  16. package/dist/docs/video-sources/locator-highlight-still.screenci.js +5 -10
  17. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
  18. package/dist/docs/video-sources/product-pitch.screenci.js +97 -32
  19. package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -1
  20. package/dist/docs/video-sources/public-urls.screenci.js +16 -9
  21. package/dist/docs/video-sources/public-urls.screenci.js.map +1 -1
  22. package/dist/docs/video-sources/studio.screenci.js +42 -27
  23. package/dist/docs/video-sources/studio.screenci.js.map +1 -1
  24. package/dist/docs/videos.d.ts +4 -15
  25. package/dist/docs/videos.d.ts.map +1 -1
  26. package/dist/docs/videos.js +6 -22
  27. package/dist/docs/videos.js.map +1 -1
  28. package/dist/index.d.ts +7 -5
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/src/asset.d.ts +8 -23
  33. package/dist/src/asset.d.ts.map +1 -1
  34. package/dist/src/asset.js +10 -32
  35. package/dist/src/asset.js.map +1 -1
  36. package/dist/src/audio.d.ts +6 -24
  37. package/dist/src/audio.d.ts.map +1 -1
  38. package/dist/src/audio.js +10 -35
  39. package/dist/src/audio.js.map +1 -1
  40. package/dist/src/builder.d.ts +214 -0
  41. package/dist/src/builder.d.ts.map +1 -0
  42. package/dist/src/builder.js +212 -0
  43. package/dist/src/builder.js.map +1 -0
  44. package/dist/src/cue.d.ts +40 -123
  45. package/dist/src/cue.d.ts.map +1 -1
  46. package/dist/src/cue.js +190 -30
  47. package/dist/src/cue.js.map +1 -1
  48. package/dist/src/events.d.ts +80 -15
  49. package/dist/src/events.d.ts.map +1 -1
  50. package/dist/src/events.js +72 -6
  51. package/dist/src/events.js.map +1 -1
  52. package/dist/src/init.d.ts.map +1 -1
  53. package/dist/src/init.js +26 -14
  54. package/dist/src/init.js.map +1 -1
  55. package/dist/src/locales.d.ts +19 -0
  56. package/dist/src/locales.d.ts.map +1 -0
  57. package/dist/src/locales.js +60 -0
  58. package/dist/src/locales.js.map +1 -0
  59. package/dist/src/localize.d.ts +135 -0
  60. package/dist/src/localize.d.ts.map +1 -0
  61. package/dist/src/localize.js +195 -0
  62. package/dist/src/localize.js.map +1 -0
  63. package/dist/src/localizeRuntime.d.ts +53 -0
  64. package/dist/src/localizeRuntime.d.ts.map +1 -0
  65. package/dist/src/localizeRuntime.js +79 -0
  66. package/dist/src/localizeRuntime.js.map +1 -0
  67. package/dist/src/recordingData.d.ts +5 -4
  68. package/dist/src/recordingData.d.ts.map +1 -1
  69. package/dist/src/runtimeContext.d.ts +3 -4
  70. package/dist/src/runtimeContext.d.ts.map +1 -1
  71. package/dist/src/runtimeContext.js.map +1 -1
  72. package/dist/src/runtimeMode.d.ts +47 -0
  73. package/dist/src/runtimeMode.d.ts.map +1 -1
  74. package/dist/src/runtimeMode.js +124 -0
  75. package/dist/src/runtimeMode.js.map +1 -1
  76. package/dist/src/screenshot.d.ts +56 -2
  77. package/dist/src/screenshot.d.ts.map +1 -1
  78. package/dist/src/screenshot.js +47 -10
  79. package/dist/src/screenshot.js.map +1 -1
  80. package/dist/src/stillCapture.d.ts +2 -3
  81. package/dist/src/stillCapture.d.ts.map +1 -1
  82. package/dist/src/stillCapture.js.map +1 -1
  83. package/dist/src/studio.d.ts +55 -22
  84. package/dist/src/studio.d.ts.map +1 -1
  85. package/dist/src/studio.js +38 -12
  86. package/dist/src/studio.js.map +1 -1
  87. package/dist/src/types.d.ts +18 -5
  88. package/dist/src/types.d.ts.map +1 -1
  89. package/dist/src/types.js.map +1 -1
  90. package/dist/src/video.d.ts +149 -13
  91. package/dist/src/video.d.ts.map +1 -1
  92. package/dist/src/video.js +91 -24
  93. package/dist/src/video.js.map +1 -1
  94. package/dist/src/voiceConfig.d.ts +110 -0
  95. package/dist/src/voiceConfig.d.ts.map +1 -0
  96. package/dist/src/voiceConfig.js +2 -0
  97. package/dist/src/voiceConfig.js.map +1 -0
  98. package/dist/src/voices.d.ts +27 -23
  99. package/dist/src/voices.d.ts.map +1 -1
  100. package/dist/src/voices.js +7 -4
  101. package/dist/src/voices.js.map +1 -1
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +1 -1
  104. package/skills/screenci/SKILL.md +39 -30
  105. package/dist/docs/video-sources/cli.screenci.d.ts +0 -2
  106. package/dist/docs/video-sources/cli.screenci.d.ts.map +0 -1
  107. package/dist/docs/video-sources/cli.screenci.js +0 -36
  108. package/dist/docs/video-sources/cli.screenci.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  * Source of truth for ScreenCI docs information architecture.
3
3
  * Slugs are web-facing and stable even if source filenames change.
4
4
  */
5
+ import { getDocVideo, hasPublicId } from './videos';
5
6
  export const docsManifest = [
6
7
  {
7
8
  source: 'overview.mdx',
@@ -23,28 +24,28 @@ export const docsManifest = [
23
24
  title: 'Agent Integration',
24
25
  description: 'The recommended path: point a coding agent at the integration brief so it scaffolds ScreenCI, authors a video for your flow, and records it.',
25
26
  prev: 'docs',
26
- next: 'docs/installation',
27
+ next: 'docs/manual-setup',
27
28
  },
28
29
  {
29
30
  source: 'manual-setup.mdx',
30
- slug: 'docs/installation',
31
+ slug: 'docs/manual-setup',
31
32
  section: 'Getting Started',
32
33
  order: 3,
33
34
  navLabel: 'Manual setup & first video',
34
35
  title: 'Manual Setup & First Video',
35
36
  description: 'Wire ScreenCI up by hand: initialize a project, run the starter video locally, and record your first final video.',
36
37
  prev: 'docs/agent-integration',
37
- next: 'docs/write-video-scripts',
38
+ next: 'docs/video-script-basics',
38
39
  },
39
40
  {
40
- source: 'write-video-scripts.md',
41
- slug: 'docs/write-video-scripts',
41
+ source: 'video-script-basics.md',
42
+ slug: 'docs/video-script-basics',
42
43
  section: 'Getting Started',
43
44
  order: 4,
44
45
  navLabel: 'Video script basics',
45
46
  title: 'Video Script Basics',
46
47
  description: 'Author .screenci.ts files with Playwright-like APIs, ScreenCI narration and camera helpers, and workflow-aware pacing.',
47
- prev: 'docs/installation',
48
+ prev: 'docs/manual-setup',
48
49
  next: 'docs/ci-setup',
49
50
  },
50
51
  {
@@ -55,7 +56,7 @@ export const docsManifest = [
55
56
  navLabel: 'CI setup',
56
57
  title: 'CI Setup',
57
58
  description: 'Understand the generated GitHub Actions workflow, required secrets, and how to keep CI recordings deterministic.',
58
- prev: 'docs/write-video-scripts',
59
+ prev: 'docs/video-script-basics',
59
60
  next: 'docs/guides/page-instrumentation',
60
61
  },
61
62
  {
@@ -89,11 +90,11 @@ export const docsManifest = [
89
90
  title: 'Camera and Zooming',
90
91
  description: 'Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.',
91
92
  prev: 'docs/guides/narration-and-localization',
92
- next: 'docs/guides/assets-and-overlays',
93
+ next: 'docs/guides/overlays',
93
94
  },
94
95
  {
95
96
  source: 'overlays.md',
96
- slug: 'docs/guides/assets-and-overlays',
97
+ slug: 'docs/guides/overlays',
97
98
  section: 'Guides',
98
99
  order: 4,
99
100
  navLabel: 'Overlays',
@@ -110,7 +111,7 @@ export const docsManifest = [
110
111
  navLabel: 'Screenshots',
111
112
  title: 'Screenshots',
112
113
  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',
114
+ prev: 'docs/guides/overlays',
114
115
  next: 'docs/guides/studio',
115
116
  },
116
117
  {
@@ -120,7 +121,7 @@ export const docsManifest = [
120
121
  order: 6,
121
122
  navLabel: 'Studio',
122
123
  title: 'Studio',
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
+ description: 'Remix render options, narration text, voices, and overlays from the web app, or manage them entirely in Studio with the video.studio({...}) declaration. Business tier.',
124
125
  prev: 'docs/guides/screenshots',
125
126
  next: 'docs/guides/public-urls-and-embeds',
126
127
  },
@@ -186,7 +187,14 @@ export function getDocBySlug(slug) {
186
187
  }
187
188
  export function getOutputPathFromSlug(slug) {
188
189
  const entry = getDocBySlug(slug);
189
- const extension = entry?.source.endsWith('.mdx') ? '.mdx' : '.md';
190
+ const video = getDocVideo(slug);
191
+ // A page that embeds a published video or screenshot injects a React
192
+ // component (DocVideoPlayer / DocScreenshot). Astro only renders component
193
+ // imports and JSX in .mdx, so such a page must be emitted as .mdx even when
194
+ // its source is plain .md. Without this, the embed silently renders as inert
195
+ // text. Pages without a published embed stay .md (matching their source).
196
+ const embedsComponent = video !== null && hasPublicId(video);
197
+ const extension = entry?.source.endsWith('.mdx') || embedsComponent ? '.mdx' : '.md';
190
198
  if (slug === 'docs')
191
199
  return `index${extension}`;
192
200
  return `${slug.replace(/^docs\//, '')}${extension}`;
@@ -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":"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,kCAAkC;KACzC;IACD;QACE,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,sBAAsB;QAChC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,6IAA6I;QAC/I,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,wCAAwC;KAC/C;IACD;QACE,MAAM,EAAE,+BAA+B;QACvC,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,4BAA4B;QACtC,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,0HAA0H;QAC5H,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,gCAAgC;KACvC;IACD;QACE,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,oBAAoB;QAC9B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,2HAA2H;QAC7H,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,sBAAsB;KAC7B;IACD;QACE,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,mHAAmH;QACrH,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,yBAAyB;KAChC;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,oKAAoK;QACtK,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B;IACD;QACE,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,yKAAyK;QAC3K,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,oCAAoC;KAC3C;IACD;QACE,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,wBAAwB;QAClC,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,0HAA0H;QAC5H,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,6BAA6B;KACpC;IACD;QACE,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,yHAAyH;QAC3H,IAAI,EAAE,oCAAoC;QAC1C,IAAI,EAAE,oBAAoB;KAC3B;IACD;QACE,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,WAAW,EACT,gGAAgG;QAClG,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,8BAA8B;KACrC;IACD;QACE,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,oIAAoI;QACtI,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,oCAAoC;KAC3C;IACD;QACE,MAAM,EAAE,wBAAwB;QAChC,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,qBAAqB;QAC/B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,yHAAyH;QAC3H,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,oBAAoB;KAC3B;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAA;AAE/E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAE/B,qEAAqE;IACrE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,eAAe,GAAG,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,SAAS,GACb,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAEpE,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,QAAQ,SAAS,EAAE,CAAA;IAC/C,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,KAAK;QACR,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAoC;IACzD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;KACV,CAAA;AACH,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,mBAA+C;IAE/C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAgD,YAAY;aACpE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;aAC5C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,aAAa,CAAC,CAAA;QAErB,IAAI,OAAO,KAAK,WAAW,IAAI,mBAAmB,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACjC,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,KAAK;YAChB,KAAK;SACN,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAmB;IACvD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACvB,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,qBAAqB;SAC5B,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE;KACvB,CAAA;AACH,CAAC"}
@@ -1,16 +1,17 @@
1
- import { autoZoom, createNarration, hide, video, voices } from 'screenci';
2
- const narration = createNarration({
3
- // Default voice settings for all languages.
4
- voice: { name: voices.Sophie },
5
- // Localized narration cues by language.
6
- en: {
7
- docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
1
+ import { autoZoom, hide, video, voices } from 'screenci';
2
+ // The default voice (how narration is spoken) for every language.
3
+ video.use({ renderOptions: { narration: { voice: { name: voices.Sophie } } } });
4
+ video.localize({
5
+ // Localized narration cues by language. The fixture exposes them as markers.
6
+ narration: {
7
+ en: {
8
+ docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
9
+ },
10
+ es: {
11
+ docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
12
+ },
8
13
  },
9
- es: {
10
- docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
11
- },
12
- });
13
- video('How to find docs', async ({ page }) => {
14
+ })('How to find docs', async ({ page, narration }) => {
14
15
  // Run setup without showing these actions in the final recording.
15
16
  await hide(async () => {
16
17
  await page.goto('https://screenci.com/');
@@ -1 +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"}
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,CAAC;IACb,6EAA6E;IAC7E,SAAS,EAAE;QACT,EAAE,EAAE;YACF,IAAI,EAAE,kEAAkE;SACzE;QACD,EAAE,EAAE;YACF,IAAI,EAAE,mFAAmF;SAC1F;KACF;CACF,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACnD,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"}
@@ -1,14 +1,21 @@
1
- import { autoZoom, createNarration, hide, video, voices } from 'screenci';
2
- const narration = createNarration({
3
- voice: { name: voices.Sophie, style: 'Friendly product guide' },
4
- en: {
5
- docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
6
- },
7
- es: {
8
- docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
1
+ import { autoZoom, hide, video, voices } from 'screenci';
2
+ video.use({
3
+ renderOptions: {
4
+ narration: {
5
+ voice: { name: voices.Sophie, style: 'Friendly product guide' },
6
+ },
9
7
  },
10
8
  });
11
- video('Landing light', async ({ page }) => {
9
+ video.localize({
10
+ narration: {
11
+ en: {
12
+ docs: 'Here is where to find ScreenCI [pronounce: screen see eye] docs.',
13
+ },
14
+ es: {
15
+ docs: 'Aqui es donde encontrar la documentacion de ScreenCI [pronounce: screen see eye].',
16
+ },
17
+ },
18
+ })('Landing light', async ({ page, narration }) => {
12
19
  await hide(async () => {
13
20
  await page.goto('https://screenci.com/');
14
21
  await page.waitForLoadState('networkidle');
@@ -1 +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"}
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,QAAQ,CAAC;IACb,SAAS,EAAE;QACT,EAAE,EAAE;YACF,IAAI,EAAE,kEAAkE;SACzE;QACD,EAAE,EAAE;YACF,IAAI,EAAE,mFAAmF;SAC1F;KACF;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"}
@@ -1,40 +1,29 @@
1
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.
2
+ // Animates the same ring as the Screenshots still: it pulses while the page is
3
+ // driven underneath, then closes before the recording stops. An opacity-only
4
+ // pulse keeps the ring landed exactly on the element (no scale, so no capture
5
+ // padding is needed).
6
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
7
  ring: (target) => ({
11
- html: '<div class="screenci-ring"></div>',
8
+ html: '<div class="ring"></div>',
12
9
  css: `
13
- .screenci-ring {
10
+ .ring {
14
11
  width: 100%;
15
12
  height: 100%;
13
+ box-sizing: border-box;
16
14
  border: 4px solid #ec4899;
17
15
  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;
16
+ animation: ring-pulse 2s ease-in-out infinite;
20
17
  }
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
- }
18
+ @keyframes ring-pulse {
19
+ 0%, 100% { opacity: 1; }
20
+ 50% { opacity: 0.3; }
31
21
  }
32
22
  `,
33
23
  over: target,
34
- margin: 12,
24
+ margin: 6,
35
25
  animate: true,
36
26
  durationMs: 2400,
37
- capturePadding: 24,
38
27
  }),
39
28
  });
40
29
  video('Locator highlight (animated)', async ({ page }) => {
@@ -42,9 +31,8 @@ video('Locator highlight (animated)', async ({ page }) => {
42
31
  await page.waitForLoadState('networkidle');
43
32
  const cta = page.getByRole('link', { name: 'View Documentation' });
44
33
  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.
34
+ // The ring pulses while the page stays live. Every start() must be ended
35
+ // before the video function returns.
48
36
  const ring = overlays.ring(cta);
49
37
  await ring.start();
50
38
  await cta.hover();
@@ -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,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"}
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,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,sBAAsB;AACtB,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,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,UAAU,EAAE,IAAI;KACjB,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,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,15 +1,11 @@
1
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).
2
+ // Rings a single element on the marketing site, then captures a branded still.
3
+ // The Overlays guide animates the same example.
6
4
  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
5
  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>',
6
+ html: '<div style="width:100%;height:100%;box-sizing:border-box;border:4px solid #ec4899;border-radius:14px"></div>',
11
7
  over: target,
12
- margin: 12,
8
+ margin: 6,
13
9
  }),
14
10
  });
15
11
  screenshot('Locator highlight', async ({ page }) => {
@@ -17,8 +13,7 @@ screenshot('Locator highlight', async ({ page }) => {
17
13
  await page.waitForLoadState('networkidle');
18
14
  const cta = page.getByRole('link', { name: 'View Documentation' });
19
15
  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.
16
+ // In a still, start the overlay and leave it open: it stays in the image.
22
17
  await overlays.ring(cta).start();
23
18
  });
24
19
  //# sourceMappingURL=locator-highlight-still.screenci.js.map
@@ -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,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"}
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,+EAA+E;AAC/E,gDAAgD;AAChD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,8GAA8G;QACpH,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC;KACV,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,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;AAClC,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { expect } from '@playwright/test';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { fileURLToPath } from 'node:url';
4
- import { autoZoom, createNarration, createOverlays, hide, resetZoom, video, voices, zoomTo, } from 'screenci';
4
+ import { autoZoom, createOverlays, hide, resetZoom, video, voices, zoomTo, } from 'screenci';
5
5
  // Before recording:
6
6
  // 1. Put the condensed, cursor-safe agent capture at assets/agent.mp4.
7
7
  // 2. Set SCREENCI_APP_STORAGE_STATE to a logged-in Playwright storage state.
@@ -14,6 +14,10 @@ import { autoZoom, createNarration, createOverlays, hide, resetZoom, video, voic
14
14
  // the complete pitch remains below two minutes (roughly 20-25 seconds).
15
15
  const projectName = process.env.SCREENCI_PITCH_PROJECT_NAME ?? 'demo-saas';
16
16
  const videoName = process.env.SCREENCI_PITCH_VIDEO_NAME ?? 'Vertical invoice';
17
+ const appUrl = process.env.SCREENCI_PITCH_APP_URL ??
18
+ process.env.SCREENCI_APP_URL ??
19
+ 'https://app.screenci.com/';
20
+ const placeholderMode = process.env.SCREENCI_PITCH_PLACEHOLDER === 'true';
17
21
  const agentRecording = fileURLToPath(new URL('../assets/agent.mp4', import.meta.url));
18
22
  const overlays = createOverlays({
19
23
  agentSession: {
@@ -24,38 +28,75 @@ const overlays = createOverlays({
24
28
  audio: 0,
25
29
  },
26
30
  });
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.',
31
+ video.use({
32
+ renderOptions: {
33
+ narration: {
34
+ voice: {
35
+ name: voices.Sophie,
36
+ style: 'Calm, direct developer presenting a real product workflow',
37
+ },
38
+ },
43
39
  },
44
40
  });
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.');
41
+ video.localize({
42
+ narration: {
43
+ en: {
44
+ intro: 'This video shows how a coding agent and ScreenCI [pronounce: screen see eye] turn a product flow into a finished product video.',
45
+ agent: 'I asked the agent to create a narrated walkthrough for this sample SaaS application. This is the actual session, condensed.',
46
+ source: 'It reads the application, then writes and tests a Playwright-style video file in the repository.',
47
+ oneOff: 'The flow is already recorded, so Studio can render a one-off version without recording the application again.',
48
+ rendering: 'This is the real render job, combining the recording, narration, camera motion, and overlays.',
49
+ privacy: 'The application, source, session, and credentials stayed local. Only the recording and timing data were uploaded.',
50
+ delivery: 'The finished video is ready to review, download, or publish through a stable public URL.',
51
+ maintenance: 'Run the source locally or in CI. If the product flow changes, it fails visibly instead of leaving a stale walkthrough online.',
52
+ more: 'One recording can produce language versions with synchronized narration and subtitles, cloned voices, and React or HTML overlays.',
53
+ outro: 'That is ScreenCI [pronounce: screen see eye]: from a coding-agent prompt to a product video you can rerun whenever the product changes.',
54
+ },
55
+ },
56
+ })('ScreenCI product pitch', async ({ page, narration }) => {
57
+ let selectedVideoName = videoName;
58
+ video.skip(!placeholderMode && !process.env.SCREENCI_APP_STORAGE_STATE, 'Requires SCREENCI_APP_STORAGE_STATE with a logged-in ScreenCI app session.');
47
59
  video.skip(!existsSync(agentRecording), 'Add the condensed agent capture at screenci/assets/agent.mp4.');
60
+ if (placeholderMode) {
61
+ await hide(async () => {
62
+ await page.goto(appUrl);
63
+ await page.waitForLoadState('networkidle');
64
+ });
65
+ await narration.intro();
66
+ await overlays.agentSession();
67
+ await narration.outro();
68
+ return;
69
+ }
48
70
  // Start in Studio for the video produced during the captured agent session.
49
71
  // Authentication and dashboard navigation are setup, so they are not shown.
50
72
  await hide(async () => {
51
- await page.goto('https://app.screenci.com/');
73
+ await page.goto(appUrl);
52
74
  await page.waitForLoadState('networkidle');
53
75
  const projects = page.getByTestId('projects-list');
54
76
  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();
77
+ const configuredProject = projects.getByRole('link', {
78
+ name: projectName,
79
+ exact: true,
80
+ });
81
+ const projectLink = (await configuredProject.count()) > 0
82
+ ? configuredProject
83
+ : projects.getByRole('link').first();
84
+ await projectLink.click();
85
+ const configuredVideo = page.getByRole('link', {
86
+ name: videoName,
87
+ exact: true,
88
+ });
89
+ const videoLink = (await configuredVideo.count()) > 0
90
+ ? configuredVideo
91
+ : page.locator('a[href*="/video/"]').first();
92
+ selectedVideoName =
93
+ (await videoLink.getAttribute('aria-label')) ?? selectedVideoName;
94
+ await videoLink.click();
95
+ await expect(page.getByRole('heading', { name: /language versions/i })).toBeVisible({ timeout: 30_000 });
96
+ await page
97
+ .getByRole('link', { name: /^open /i })
98
+ .first()
99
+ .click();
59
100
  await expect(page.getByRole('heading', { name: /^studio$/i })).toBeVisible({
60
101
  timeout: 30_000,
61
102
  });
@@ -66,11 +107,37 @@ video('ScreenCI product pitch', async ({ page }) => {
66
107
  await overlays.agentSession();
67
108
  await narration.agent.end();
68
109
  await narration.source();
69
- // This is an intentional real side effect: every run starts one new Studio
70
- // render for the selected language.
110
+ const createOneOffButton = page.getByRole('button', {
111
+ name: 'Create one-off version',
112
+ });
113
+ const canCreateOneOff = await createOneOffButton
114
+ .isVisible({ timeout: 5_000 })
115
+ .catch(() => false);
116
+ if (!canCreateOneOff) {
117
+ await narration.oneOff.start();
118
+ await zoomTo(page.getByRole('heading', { name: /^studio$/i }));
119
+ await page.waitForTimeout(900);
120
+ await resetZoom();
121
+ await narration.oneOff.end();
122
+ await narration.privacy();
123
+ await narration.delivery();
124
+ await narration.maintenance();
125
+ await page
126
+ .getByRole('link', { name: selectedVideoName, exact: true })
127
+ .click();
128
+ await expect(page.getByRole('heading', { name: /language versions/i })).toBeVisible({ timeout: 30_000 });
129
+ await zoomTo(page.getByRole('heading', { name: /language versions/i }));
130
+ await narration.more();
131
+ await resetZoom();
132
+ await narration.outro();
133
+ return;
134
+ }
135
+ // This is an intentional real side effect when the authenticated workspace has
136
+ // Studio rendering enabled: every run starts one new Studio render for the
137
+ // selected language. Read-only CI workspaces take the fallback above.
71
138
  await narration.oneOff.start();
72
139
  await autoZoom(async () => {
73
- await page.getByRole('button', { name: 'Create one-off version' }).click();
140
+ await createOneOffButton.click();
74
141
  const dialog = page.getByRole('alertdialog');
75
142
  await expect(dialog.getByRole('heading', { name: 'Create a one-off version' })).toBeVisible();
76
143
  await dialog.getByRole('button', { name: 'Continue' }).click();
@@ -124,11 +191,9 @@ video('ScreenCI product pitch', async ({ page }) => {
124
191
  await narration.maintenance();
125
192
  // Return to the video overview so the language and delivery surfaces support
126
193
  // 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 }));
194
+ await page.getByRole('link', { name: selectedVideoName, exact: true }).click();
195
+ await expect(page.getByRole('heading', { name: /language versions/i })).toBeVisible({ timeout: 30_000 });
196
+ await zoomTo(page.getByRole('heading', { name: /language versions/i }));
132
197
  await narration.more();
133
198
  await resetZoom();
134
199
  await narration.outro();
@@ -1 +1 @@
1
- {"version":3,"file":"product-pitch.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/product-pitch.screenci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-pitch.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/product-pitch.screenci.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,24 @@
1
- import { autoZoom, createNarration, hide, resetZoom, video, voices, } from 'screenci';
1
+ import { autoZoom, hide, resetZoom, video, voices } from 'screenci';
2
+ video.use({
3
+ renderOptions: {
4
+ narration: {
5
+ voice: { name: voices.Sophie, style: 'Calm product guide' },
6
+ },
7
+ },
8
+ });
2
9
  // Source of record for the "Public URLs and embeds" docs video. It walks the
3
10
  // public-delivery explainer page: the stable base URL, the per-language
4
11
  // outputs, and a live embed that switches languages. Recorded against the
5
12
  // 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.',
13
+ video.localize({
14
+ narration: {
15
+ en: {
16
+ intro: 'Turn on public delivery and your video gets a stable URL on the CDN.',
17
+ langs: 'Each language has its own video, thumbnail, and subtitle URL.',
18
+ embed: 'Drop it into any site. It always resolves to the latest approved render.',
19
+ },
12
20
  },
13
- });
14
- video('Public URLs and embeds', async ({ page }) => {
21
+ })('Public URLs and embeds', async ({ page, narration }) => {
15
22
  await hide(async () => {
16
23
  await page.goto('https://demo.screenci.com/pitch/embed.html');
17
24
  await page.waitForLoadState('networkidle');
@@ -1 +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"}
1
+ {"version":3,"file":"public-urls.screenci.js","sourceRoot":"","sources":["../../../docs/video-sources/public-urls.screenci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEnE,KAAK,CAAC,GAAG,CAAC;IACR,aAAa,EAAE;QACb,SAAS,EAAE;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE;SAC5D;KACF;CACF,CAAC,CAAA;AAEF,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,uDAAuD;AACvD,KAAK,CAAC,QAAQ,CAAC;IACb,SAAS,EAAE;QACT,EAAE,EAAE;YACF,KAAK,EACH,sEAAsE;YACxE,KAAK,EAAE,+DAA+D;YACtE,KAAK,EACH,0EAA0E;SAC7E;KACF;CACF,CAAC,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IACzD,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"}