screenci 0.0.89 → 0.0.91

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 (130) hide show
  1. package/dist/cli.d.ts +39 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +357 -75
  4. package/dist/cli.js.map +1 -1
  5. package/dist/docs/manifest.d.ts +29 -29
  6. package/dist/docs/manifest.js +9 -9
  7. package/dist/docs/manifest.js.map +1 -1
  8. package/dist/docs/video-sources/assets/StyleCard.d.ts +4 -0
  9. package/dist/docs/video-sources/assets/StyleCard.d.ts.map +1 -0
  10. package/dist/docs/video-sources/assets/StyleCard.js +27 -0
  11. package/dist/docs/video-sources/assets/StyleCard.js.map +1 -0
  12. package/dist/docs/video-sources/camera-and-zooming.screenci.js +2 -9
  13. package/dist/docs/video-sources/camera-and-zooming.screenci.js.map +1 -1
  14. package/dist/docs/video-sources/editor.screenci.d.ts +2 -0
  15. package/dist/docs/video-sources/editor.screenci.d.ts.map +1 -0
  16. package/dist/docs/video-sources/{studio.screenci.js → editor.screenci.js} +18 -19
  17. package/dist/docs/video-sources/editor.screenci.js.map +1 -0
  18. package/dist/docs/video-sources/languages.screenci.js +12 -12
  19. package/dist/docs/video-sources/languages.screenci.js.map +1 -1
  20. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +2 -15
  21. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
  22. package/dist/docs/video-sources/locator-highlight-still.screenci.js +2 -1
  23. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
  24. package/dist/docs/video-sources/narration.screenci.js +11 -11
  25. package/dist/docs/video-sources/narration.screenci.js.map +1 -1
  26. package/dist/docs/video-sources/public-urls-and-embeds.screenci.js +2 -2
  27. package/dist/docs/video-sources/public-urls-and-embeds.screenci.js.map +1 -1
  28. package/dist/docs/video-sources/speaking-style.screenci.js +4 -28
  29. package/dist/docs/video-sources/speaking-style.screenci.js.map +1 -1
  30. package/dist/docs/videos.d.ts +2 -2
  31. package/dist/docs/videos.js +2 -2
  32. package/dist/e2e/fixtures/ClientCounter.d.ts +5 -0
  33. package/dist/e2e/fixtures/ClientCounter.d.ts.map +1 -0
  34. package/dist/e2e/fixtures/ClientCounter.js +29 -0
  35. package/dist/e2e/fixtures/ClientCounter.js.map +1 -0
  36. package/dist/e2e/htmlRasterizer.e2e.js +104 -23
  37. package/dist/e2e/htmlRasterizer.e2e.js.map +1 -1
  38. package/dist/index.d.ts +4 -5
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/src/anonSession.d.ts +20 -6
  43. package/dist/src/anonSession.d.ts.map +1 -1
  44. package/dist/src/anonSession.js +60 -13
  45. package/dist/src/anonSession.js.map +1 -1
  46. package/dist/src/asset.d.ts +68 -100
  47. package/dist/src/asset.d.ts.map +1 -1
  48. package/dist/src/asset.js +134 -289
  49. package/dist/src/asset.js.map +1 -1
  50. package/dist/src/audio.d.ts +1 -1
  51. package/dist/src/audio.js +1 -1
  52. package/dist/src/builder.d.ts +25 -25
  53. package/dist/src/builder.d.ts.map +1 -1
  54. package/dist/src/builder.js +8 -8
  55. package/dist/src/builder.js.map +1 -1
  56. package/dist/src/clientOverlay.d.ts +29 -0
  57. package/dist/src/clientOverlay.d.ts.map +1 -0
  58. package/dist/src/clientOverlay.js +83 -0
  59. package/dist/src/clientOverlay.js.map +1 -0
  60. package/dist/src/cue.d.ts +9 -9
  61. package/dist/src/cue.d.ts.map +1 -1
  62. package/dist/src/cue.js +6 -6
  63. package/dist/src/cue.js.map +1 -1
  64. package/dist/src/declare.d.ts +6 -6
  65. package/dist/src/declare.d.ts.map +1 -1
  66. package/dist/src/declare.js +9 -9
  67. package/dist/src/declare.js.map +1 -1
  68. package/dist/src/events.d.ts +14 -46
  69. package/dist/src/events.d.ts.map +1 -1
  70. package/dist/src/events.js +14 -24
  71. package/dist/src/events.js.map +1 -1
  72. package/dist/src/htmlRasterizer.d.ts +21 -42
  73. package/dist/src/htmlRasterizer.d.ts.map +1 -1
  74. package/dist/src/htmlRasterizer.js +47 -66
  75. package/dist/src/htmlRasterizer.js.map +1 -1
  76. package/dist/src/init.d.ts +2 -1
  77. package/dist/src/init.d.ts.map +1 -1
  78. package/dist/src/init.js +131 -137
  79. package/dist/src/init.js.map +1 -1
  80. package/dist/src/instrument.d.ts.map +1 -1
  81. package/dist/src/instrument.js +146 -0
  82. package/dist/src/instrument.js.map +1 -1
  83. package/dist/src/localize.d.ts +17 -11
  84. package/dist/src/localize.d.ts.map +1 -1
  85. package/dist/src/localize.js +1 -1
  86. package/dist/src/localize.js.map +1 -1
  87. package/dist/src/localizeRuntime.d.ts +8 -8
  88. package/dist/src/localizeRuntime.d.ts.map +1 -1
  89. package/dist/src/localizeRuntime.js +4 -4
  90. package/dist/src/localizeRuntime.js.map +1 -1
  91. package/dist/src/manualZoom.d.ts.map +1 -1
  92. package/dist/src/manualZoom.js +8 -3
  93. package/dist/src/manualZoom.js.map +1 -1
  94. package/dist/src/overlayFlush.js +6 -6
  95. package/dist/src/overlayFlush.js.map +1 -1
  96. package/dist/src/recordingData.d.ts +2 -2
  97. package/dist/src/runtimeContext.d.ts +0 -11
  98. package/dist/src/runtimeContext.d.ts.map +1 -1
  99. package/dist/src/runtimeContext.js +0 -7
  100. package/dist/src/runtimeContext.js.map +1 -1
  101. package/dist/src/screenshot.d.ts +7 -7
  102. package/dist/src/screenshot.d.ts.map +1 -1
  103. package/dist/src/studio.d.ts +41 -38
  104. package/dist/src/studio.d.ts.map +1 -1
  105. package/dist/src/studio.js +9 -9
  106. package/dist/src/studio.js.map +1 -1
  107. package/dist/src/types.d.ts +19 -10
  108. package/dist/src/types.d.ts.map +1 -1
  109. package/dist/src/video.d.ts +15 -15
  110. package/dist/src/video.d.ts.map +1 -1
  111. package/dist/src/video.js +10 -10
  112. package/dist/src/video.js.map +1 -1
  113. package/dist/src/voiceConfig.d.ts +26 -7
  114. package/dist/src/voiceConfig.d.ts.map +1 -1
  115. package/dist/src/voices.d.ts +22 -2
  116. package/dist/src/voices.d.ts.map +1 -1
  117. package/dist/src/voices.js +18 -0
  118. package/dist/src/voices.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +6 -1
  121. package/skills/screenci/SKILL.md +1 -1
  122. package/skills/screenci/references/init.md +8 -1
  123. package/skills/screenci/references/record.md +1 -1
  124. package/dist/docs/video-sources/studio.screenci.d.ts +0 -2
  125. package/dist/docs/video-sources/studio.screenci.d.ts.map +0 -1
  126. package/dist/docs/video-sources/studio.screenci.js.map +0 -1
  127. package/dist/src/recordingSize.d.ts +0 -32
  128. package/dist/src/recordingSize.d.ts.map +0 -1
  129. package/dist/src/recordingSize.js +0 -54
  130. package/dist/src/recordingSize.js.map +0 -1
@@ -83,8 +83,6 @@ export const NOOP_EVENT_RECORDER = {
83
83
  addTimeEnd() { },
84
84
  addAutoZoomStart() { },
85
85
  addAutoZoomEnd() { },
86
- addRecordingSizeStart() { },
87
- addRecordingSizeEnd() { },
88
86
  addNarrationHide() { },
89
87
  addNarrationShow() { },
90
88
  registerVoiceForLang() { },
@@ -111,7 +109,7 @@ export class EventRecorder {
111
109
  availableLanguages = [];
112
110
  recordOptions;
113
111
  renderOptions;
114
- /** Which option groups are deferred to Studio (`video.studio({...})`). */
112
+ /** Which option groups are deferred to Studio (`video.use({ ...: editable() })`). */
115
113
  studioOptions;
116
114
  constructor(renderOptions, recordOptions, studioOptions) {
117
115
  this.recordOptions = recordOptions;
@@ -365,6 +363,8 @@ export class EventRecorder {
365
363
  ...(asset.fileHash !== undefined && { fileHash: asset.fileHash }),
366
364
  ...(asset.durationMs !== undefined && { durationMs: asset.durationMs }),
367
365
  fullScreen: asset.fullScreen,
366
+ ...(asset.pinToScreen === true && { pinToScreen: true }),
367
+ ...(asset.overMouse === true && { overMouse: true }),
368
368
  ...(asset.placement !== undefined && { placement: asset.placement }),
369
369
  ...(asset.crop !== undefined && { crop: asset.crop }),
370
370
  ...(asset.untilOutputMs !== undefined && {
@@ -386,6 +386,8 @@ export class EventRecorder {
386
386
  ...(asset.fileHash !== undefined && { fileHash: asset.fileHash }),
387
387
  ...(asset.durationMs !== undefined && { durationMs: asset.durationMs }),
388
388
  fullScreen: asset.fullScreen,
389
+ ...(asset.pinToScreen === true && { pinToScreen: true }),
390
+ ...(asset.overMouse === true && { overMouse: true }),
389
391
  ...(asset.placement !== undefined && { placement: asset.placement }),
390
392
  ...(asset.untilOutputMs !== undefined && {
391
393
  untilOutputMs: asset.untilOutputMs,
@@ -405,6 +407,8 @@ export class EventRecorder {
405
407
  dependency: asset.dependency,
406
408
  ...(asset.durationMs !== undefined && { durationMs: asset.durationMs }),
407
409
  fullScreen: asset.fullScreen,
410
+ ...(asset.pinToScreen === true && { pinToScreen: true }),
411
+ ...(asset.overMouse === true && { overMouse: true }),
408
412
  ...(asset.placement !== undefined && { placement: asset.placement }),
409
413
  ...(asset.crop !== undefined && { crop: asset.crop }),
410
414
  ...(asset.sourceStart !== undefined && {
@@ -429,6 +433,8 @@ export class EventRecorder {
429
433
  ...(asset.fileHash !== undefined && { fileHash: asset.fileHash }),
430
434
  audio: asset.audio,
431
435
  fullScreen: asset.fullScreen,
436
+ ...(asset.pinToScreen === true && { pinToScreen: true }),
437
+ ...(asset.overMouse === true && { overMouse: true }),
432
438
  ...(asset.placement !== undefined && { placement: asset.placement }),
433
439
  ...(asset.crop !== undefined && { crop: asset.crop }),
434
440
  ...(asset.sourceStart !== undefined && {
@@ -460,6 +466,8 @@ export class EventRecorder {
460
466
  durationMs: pending.durationMs,
461
467
  }),
462
468
  fullScreen: pending.fullScreen,
469
+ ...(pending.pinToScreen === true && { pinToScreen: true }),
470
+ ...(pending.overMouse === true && { overMouse: true }),
463
471
  ...(pending.placement !== undefined && { placement: pending.placement }),
464
472
  ...(pending.untilOutputMs !== undefined && {
465
473
  untilOutputMs: pending.untilOutputMs,
@@ -647,24 +655,6 @@ export class EventRecorder {
647
655
  duration: resolvedOptions.duration,
648
656
  });
649
657
  }
650
- addRecordingSizeStart(size, options) {
651
- if (this.startTime === null)
652
- return;
653
- const timeMs = Date.now() - this.startTime;
654
- this.events.push({
655
- type: 'recordingSizeStart',
656
- timeMs,
657
- size,
658
- ...(options?.duration !== undefined && { duration: options.duration }),
659
- ...(options?.easing !== undefined && { easing: options.easing }),
660
- });
661
- }
662
- addRecordingSizeEnd() {
663
- if (this.startTime === null)
664
- return;
665
- const timeMs = Date.now() - this.startTime;
666
- this.events.push({ type: 'recordingSizeEnd', timeMs });
667
- }
668
658
  addNarrationHide() {
669
659
  if (this.startTime === null)
670
660
  return;
@@ -689,8 +679,8 @@ export class EventRecorder {
689
679
  const studioRecordOptions = this.studioOptions.recordOptions;
690
680
  // Resolve all defaults so data.json always contains a complete set of render
691
681
  // options. `this.renderOptions` is undefined for a blank deferral
692
- // (`renderOptions: studio()`) and the seed for a seeded one
693
- // (`renderOptions: studio({ ... })`), so a seed renders as the starting point
682
+ // (`renderOptions: editable()`) and the seed for a seeded one
683
+ // (`renderOptions: editable({ ... })`), so a seed renders as the starting point
694
684
  // while the Studio flag still marks it web-owned (the web app overrides it).
695
685
  const ro = this.renderOptions;
696
686
  const resolved = {
@@ -796,7 +786,7 @@ export class EventRecorder {
796
786
  const studioAudio = this.events.some((event) => event.type === 'audioStart' &&
797
787
  'studio' in event &&
798
788
  event.studio === true);
799
- // Whether the language set is web-owned (`video.languages(studio())`). The
789
+ // Whether the language set is web-owned (`video.languages(editable())`). The
800
790
  // web uses this to decide a video may have languages added/rendered from the
801
791
  // app (code-defined language sets cannot be changed from the web).
802
792
  const studioLanguages = this.studioOptions.languages === true;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,16 @@ export type HtmlRasterizeResult = {
20
20
  height: number;
21
21
  };
22
22
  export type HtmlRasterizeRequest = {
23
+ /** A complete overlay document (`.html` file contents or the bundled `.tsx` host page). */
23
24
  html: string;
24
25
  /** Device scale factor for crisp output. Defaults to {@link DEFAULT_OVERLAY_DEVICE_SCALE_FACTOR}. */
25
26
  deviceScaleFactor?: number;
26
- /** Extra CSS injected into the overlay document `<head>` (already merged with the global default). */
27
- css?: string;
28
- /** Transparent padding (CSS px) added around the overlay content so animations can move beyond it without clipping. */
29
- capturePadding?: number;
27
+ /**
28
+ * Wait for the overlay root to receive child content before measuring its box
29
+ * and screenshotting. Used by `.tsx` page overlays, whose React app mounts
30
+ * asynchronously after the document loads.
31
+ */
32
+ awaitMount?: boolean;
30
33
  };
31
34
  /**
32
35
  * Produces transparent PNG bytes plus the rendered content size. Injectable so
@@ -41,32 +44,20 @@ export declare function setHtmlRasterizer(fn: HtmlRasterizer): void;
41
44
  /** Test hook: re-enable caching after injecting a (counting) rasterizer. */
42
45
  export declare function setOverlayCacheEnabled(enabled: boolean): void;
43
46
  /**
44
- * Sets CSS injected into every HTML/React overlay document. Pass a compiled
45
- * stylesheet (for example Tailwind's output) so overlays can use `className`.
46
- * Per-overlay `css` is appended after this.
47
- */
48
- export declare function setOverlayCss(css: string): void;
49
- /** Merges the global default overlay CSS with a per-overlay override. */
50
- export declare function resolveOverlayCss(css?: string): string;
51
- /**
52
- * The fully resolved inputs that determine a rasterized overlay's bytes. `css`
53
- * is the already-merged stylesheet (see {@link resolveOverlayCss}). Used both
54
- * for the cross-run disk cache key and for in-run de-duplication of identical
55
- * deferred overlays, so both paths key off the exact same string.
47
+ * The fully resolved inputs that determine a rasterized overlay's bytes: the
48
+ * overlay is a complete document, so `html` fully determines the output. Used
49
+ * both for the cross-run disk cache key and for in-run de-duplication of
50
+ * identical deferred overlays, so both paths key off the exact same string.
56
51
  */
57
52
  export type OverlayRasterizeKeyInput = {
58
53
  kind: 'image';
59
54
  deviceScaleFactor: number;
60
- capturePadding: number;
61
- css: string;
62
55
  html: string;
63
56
  } | {
64
57
  kind: 'animation';
65
58
  deviceScaleFactor: number;
66
- capturePadding: number;
67
59
  fps: number;
68
60
  durationMs: number;
69
- css: string;
70
61
  html: string;
71
62
  };
72
63
  /**
@@ -85,15 +76,8 @@ export declare function rasterizeHtmlOverlay(opts: {
85
76
  name: string;
86
77
  html: string;
87
78
  deviceScaleFactor?: number;
88
- css?: string;
89
- capturePadding?: number;
90
- /**
91
- * When `true`, `css` is already merged with the global default (see
92
- * {@link resolveOverlayCss}) and is used verbatim. The deferred flush passes
93
- * the frozen, resolved CSS this way so it is not prefixed with the default a
94
- * second time.
95
- */
96
- cssResolved?: boolean;
79
+ /** Wait for the overlay root to receive child content before capture (a `.tsx` page overlay). */
80
+ awaitMount?: boolean;
97
81
  }): Promise<HtmlRasterizeResult>;
98
82
  export declare const DEFAULT_ANIMATION_FPS = 30;
99
83
  /**
@@ -115,6 +99,7 @@ export type AnimatedHtmlRasterizeResult = {
115
99
  durationMs: number;
116
100
  };
117
101
  export type AnimatedHtmlRasterizeRequest = {
102
+ /** A complete overlay document (`.html` file contents or the bundled `.tsx` host page). */
118
103
  html: string;
119
104
  /** Capture length in milliseconds. */
120
105
  durationMs: number;
@@ -122,10 +107,11 @@ export type AnimatedHtmlRasterizeRequest = {
122
107
  fps: number;
123
108
  /** Device scale factor for crisp output. Defaults to {@link DEFAULT_OVERLAY_DEVICE_SCALE_FACTOR}. */
124
109
  deviceScaleFactor?: number;
125
- /** Extra CSS injected into the overlay document `<head>` (already merged with the global default). */
126
- css?: string;
127
- /** Transparent padding (CSS px) added around the overlay content so the animation can move beyond it without clipping. */
128
- capturePadding?: number;
110
+ /**
111
+ * Wait for the overlay root to receive child content before the first frame.
112
+ * Used by `.tsx` page overlays, whose React app mounts asynchronously.
113
+ */
114
+ awaitMount?: boolean;
129
115
  };
130
116
  /**
131
117
  * Produces the encoded overlay clip bytes plus the rendered content size.
@@ -150,14 +136,7 @@ export declare function rasterizeAnimatedHtmlOverlay(opts: {
150
136
  durationMs: number;
151
137
  fps?: number;
152
138
  deviceScaleFactor?: number;
153
- css?: string;
154
- capturePadding?: number;
155
- /**
156
- * When `true`, `css` is already merged with the global default (see
157
- * {@link resolveOverlayCss}) and is used verbatim. The deferred flush passes
158
- * the frozen, resolved CSS this way so it is not prefixed with the default a
159
- * second time.
160
- */
161
- cssResolved?: boolean;
139
+ /** Wait for the overlay root to receive child content before the first frame (a `.tsx` page overlay). */
140
+ awaitMount?: boolean;
162
141
  }): Promise<AnimatedHtmlRasterizeResult>;
163
142
  //# sourceMappingURL=htmlRasterizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"htmlRasterizer.d.ts","sourceRoot":"","sources":["../../src/htmlRasterizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"htmlRasterizer.d.ts","sourceRoot":"","sources":["../../src/htmlRasterizer.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,10 @@ export const OVERLAY_CACHE_DIR_NAME = '.overlay-cache';
25
25
  // content is bounded by the off-screen page viewport, so the screenshot stays
26
26
  // well under GPU texture limits.
27
27
  export const DEFAULT_OVERLAY_DEVICE_SCALE_FACTOR = 2;
28
- // Bump when anything that affects rasterized output changes (the HTML wrapper,
29
- // screenshot options, default density) so stale cache entries are invalidated.
30
- const RASTERIZE_CACHE_VERSION = 2;
28
+ // Bump when anything that affects rasterized output changes (the capture-root
29
+ // selection, screenshot options, default density) so stale cache entries are
30
+ // invalidated.
31
+ const RASTERIZE_CACHE_VERSION = 4;
31
32
  let rasterizer = playwrightHtmlRasterizer;
32
33
  // Cache only the real (browser) rasterizer. Injected rasterizers are used by
33
34
  // tests, where caching across a shared tmp dir would leak between cases.
@@ -40,24 +41,6 @@ export function setHtmlRasterizer(fn) {
40
41
  export function setOverlayCacheEnabled(enabled) {
41
42
  cacheEnabled = enabled;
42
43
  }
43
- // CSS injected into every overlay document, on top of the minimal reset. Set it
44
- // once (e.g. to your compiled Tailwind stylesheet) so overlays can be styled
45
- // with `className`. Per-overlay `css` is merged on top of this.
46
- let defaultOverlayCss = '';
47
- /**
48
- * Sets CSS injected into every HTML/React overlay document. Pass a compiled
49
- * stylesheet (for example Tailwind's output) so overlays can use `className`.
50
- * Per-overlay `css` is appended after this.
51
- */
52
- export function setOverlayCss(css) {
53
- defaultOverlayCss = css;
54
- }
55
- /** Merges the global default overlay CSS with a per-overlay override. */
56
- export function resolveOverlayCss(css) {
57
- return [defaultOverlayCss, css]
58
- .filter((part) => part !== undefined && part.length > 0)
59
- .join('\n');
60
- }
61
44
  /**
62
45
  * Content hash that uniquely identifies a rasterized overlay's output. The
63
46
  * single source of truth for both the on-disk cache key and the in-run dedupe
@@ -65,24 +48,21 @@ export function resolveOverlayCss(css) {
65
48
  */
66
49
  export function overlayInputHash(input) {
67
50
  const body = input.kind === 'image'
68
- ? `${RASTERIZE_CACHE_VERSION} ${input.deviceScaleFactor} ${input.capturePadding} ${input.css} ${input.html}`
69
- : `${RASTERIZE_CACHE_VERSION} anim ${input.deviceScaleFactor} ${input.capturePadding} ${input.fps} ${input.durationMs} ${input.css} ${input.html}`;
51
+ ? `${RASTERIZE_CACHE_VERSION} ${input.deviceScaleFactor} ${input.html}`
52
+ : `${RASTERIZE_CACHE_VERSION} anim ${input.deviceScaleFactor} ${input.fps} ${input.durationMs} ${input.html}`;
70
53
  return createHash('sha256').update(body).digest('hex');
71
54
  }
72
- function wrapOverlayHtml(html, options = {}) {
73
- const { css, capturePadding } = options;
74
- // capturePadding is transparent padding on the root, so the captured box (the
75
- // element/clip bounding box) grows by it on every side. Animations can then
76
- // translate/scale/rotate within that margin without being clipped, replacing
77
- // the manual "stage" wrapper.
78
- const padding = capturePadding !== undefined && capturePadding > 0
79
- ? `;padding:${capturePadding}px`
80
- : '';
81
- const userStyle = css !== undefined && css.length > 0 ? `<style>${css}</style>` : '';
82
- return ('<!doctype html><html><head><meta charset="utf-8"><style>' +
83
- 'html,body{margin:0;padding:0;background:transparent}' +
84
- `#${OVERLAY_ROOT_ID}{display:inline-block${padding}}` +
85
- `</style>${userStyle}</head><body><div id="${OVERLAY_ROOT_ID}">${html}</div></body></html>`);
55
+ /**
56
+ * Wait for the overlay root to receive child content. `.tsx` page overlays mount
57
+ * their React app asynchronously after `load`, so the root is empty until the
58
+ * mount commits; measuring or screenshotting before then would capture an empty
59
+ * box.
60
+ */
61
+ async function waitForOverlayMount(page) {
62
+ await page.waitForFunction((id) => {
63
+ const root = document.getElementById(id);
64
+ return root !== null && root.childElementCount > 0;
65
+ }, OVERLAY_ROOT_ID, { timeout: 30_000 });
86
66
  }
87
67
  async function playwrightHtmlRasterizer(request) {
88
68
  const page = getRuntimePage();
@@ -100,13 +80,15 @@ async function playwrightHtmlRasterizer(request) {
100
80
  });
101
81
  try {
102
82
  const overlayPage = await overlayContext.newPage();
103
- await overlayPage.setContent(wrapOverlayHtml(request.html, {
104
- ...(request.css !== undefined && { css: request.css }),
105
- ...(request.capturePadding !== undefined && {
106
- capturePadding: request.capturePadding,
107
- }),
108
- }), { waitUntil: 'load' });
109
- const root = overlayPage.locator(`#${OVERLAY_ROOT_ID}`);
83
+ // The overlay html is a complete document (a .html file or the bundled .tsx
84
+ // host page), loaded as-is.
85
+ await overlayPage.setContent(request.html, { waitUntil: 'load' });
86
+ if (request.awaitMount === true)
87
+ await waitForOverlayMount(overlayPage);
88
+ const rootLocator = overlayPage.locator(`#${OVERLAY_ROOT_ID}`);
89
+ const root = (await rootLocator.count()) > 0
90
+ ? rootLocator
91
+ : overlayPage.locator('body');
110
92
  const box = await root.boundingBox();
111
93
  const buffer = await root.screenshot({ omitBackground: true, type: 'png' });
112
94
  return {
@@ -129,12 +111,11 @@ function sanitizeName(name) {
129
111
  * and survives across runs. Rendering an overlay launches a browser context, so
130
112
  * skipping unchanged ones speeds up the author loop noticeably.
131
113
  */
132
- async function renderOverlay(recordingDir, deviceScaleFactor, html, css, capturePadding) {
114
+ async function renderOverlay(recordingDir, deviceScaleFactor, html, awaitMount) {
133
115
  const request = {
134
116
  html,
135
117
  deviceScaleFactor,
136
- ...(css.length > 0 && { css }),
137
- ...(capturePadding > 0 && { capturePadding }),
118
+ ...(awaitMount && { awaitMount: true }),
138
119
  };
139
120
  if (!cacheEnabled) {
140
121
  return rasterizer(request);
@@ -142,8 +123,6 @@ async function renderOverlay(recordingDir, deviceScaleFactor, html, css, capture
142
123
  const inputHash = overlayInputHash({
143
124
  kind: 'image',
144
125
  deviceScaleFactor,
145
- capturePadding,
146
- css,
147
126
  html,
148
127
  });
149
128
  const cacheDir = join(dirname(recordingDir), OVERLAY_CACHE_DIR_NAME);
@@ -171,8 +150,7 @@ export async function rasterizeHtmlOverlay(opts) {
171
150
  throw new Error('[screenci] Cannot write a generated overlay: no active recording directory.');
172
151
  }
173
152
  const deviceScaleFactor = opts.deviceScaleFactor ?? DEFAULT_OVERLAY_DEVICE_SCALE_FACTOR;
174
- const css = opts.cssResolved === true ? (opts.css ?? '') : resolveOverlayCss(opts.css);
175
- const { buffer, width, height } = await renderOverlay(recordingDir, deviceScaleFactor, opts.html, css, opts.capturePadding ?? 0);
153
+ const { buffer, width, height } = await renderOverlay(recordingDir, deviceScaleFactor, opts.html, opts.awaitMount ?? false);
176
154
  const fileHash = createHash('sha256').update(buffer).digest('hex');
177
155
  const dir = join(recordingDir, 'generated');
178
156
  mkdirSync(dir, { recursive: true });
@@ -208,7 +186,14 @@ export function setAnimatedHtmlRasterizer(fn) {
208
186
  // metadata-only label) so the renderer's CUDA graph never range-converts it and
209
187
  // the alpha reaches full opacity — the same recipe NarrationRenderer uses for
210
188
  // its shape mask (a limited-range matte caps opacity at ~92%).
211
- const ANIMATION_FILTER_COMPLEX = '[0:v]pad=ceil(iw/2)*2:ceil(ih/2)*2:0:0:color=black@0,split=2[a][b];' +
189
+ //
190
+ // The leading `format=rgba` normalizes every frame to a 4-channel format up
191
+ // front. Chromium picks a PNG color type per frame from its content, so an
192
+ // animation that becomes fully opaque (or fully transparent) on some frames
193
+ // emits those as 3-channel RGB. Without this, the pixel format would change
194
+ // mid-stream and `alphaextract` would fail to reconfigure ("Error reinitializing
195
+ // filters"), aborting the encode. Forcing rgba guarantees a stable alpha plane.
196
+ const ANIMATION_FILTER_COMPLEX = '[0:v]format=rgba,pad=ceil(iw/2)*2:ceil(ih/2)*2:0:0:color=black@0,split=2[a][b];' +
212
197
  '[a]format=yuv420p[col];' +
213
198
  '[b]alphaextract,scale=in_range=full:out_range=full,format=yuv420p,setparams=range=tv[alp]';
214
199
  async function captureAnimationFrames(request) {
@@ -228,13 +213,15 @@ async function captureAnimationFrames(request) {
228
213
  // Install a virtual clock at t=0 before loading so the animation starts from
229
214
  // its first frame; advancing the clock deterministically samples each frame.
230
215
  await overlayPage.clock.install({ time: 0 });
231
- await overlayPage.setContent(wrapOverlayHtml(request.html, {
232
- ...(request.css !== undefined && { css: request.css }),
233
- ...(request.capturePadding !== undefined && {
234
- capturePadding: request.capturePadding,
235
- }),
236
- }), { waitUntil: 'load' });
237
- const root = overlayPage.locator(`#${OVERLAY_ROOT_ID}`);
216
+ // The overlay html is a complete document (a .html file or the bundled .tsx
217
+ // host page), loaded as-is.
218
+ await overlayPage.setContent(request.html, { waitUntil: 'load' });
219
+ if (request.awaitMount === true)
220
+ await waitForOverlayMount(overlayPage);
221
+ const rootLocator = overlayPage.locator(`#${OVERLAY_ROOT_ID}`);
222
+ const root = (await rootLocator.count()) > 0
223
+ ? rootLocator
224
+ : overlayPage.locator('body');
238
225
  const box = await root.boundingBox();
239
226
  // Capture a fixed clip (the initial layout box) for every frame so the
240
227
  // encoded stream has constant dimensions. Animate transform/opacity rather
@@ -340,10 +327,8 @@ async function renderAnimatedOverlay(recordingDir, request) {
340
327
  const inputHash = overlayInputHash({
341
328
  kind: 'animation',
342
329
  deviceScaleFactor,
343
- capturePadding: request.capturePadding ?? 0,
344
330
  fps: request.fps,
345
331
  durationMs: request.durationMs,
346
- css: request.css ?? '',
347
332
  html: request.html,
348
333
  });
349
334
  const cacheDir = join(dirname(recordingDir), OVERLAY_CACHE_DIR_NAME);
@@ -375,16 +360,12 @@ export async function rasterizeAnimatedHtmlOverlay(opts) {
375
360
  const deviceScaleFactor = opts.deviceScaleFactor ?? DEFAULT_OVERLAY_DEVICE_SCALE_FACTOR;
376
361
  // Validate sampling parameters up front (also exercised by the real capture).
377
362
  framesForDuration(opts.durationMs, fps);
378
- const css = opts.cssResolved === true ? (opts.css ?? '') : resolveOverlayCss(opts.css);
379
363
  const { buffer, width, height } = await renderAnimatedOverlay(recordingDir, {
380
364
  html: opts.html,
381
365
  durationMs: opts.durationMs,
382
366
  fps,
383
367
  deviceScaleFactor,
384
- ...(css.length > 0 && { css }),
385
- ...(opts.capturePadding !== undefined && {
386
- capturePadding: opts.capturePadding,
387
- }),
368
+ ...(opts.awaitMount === true && { awaitMount: true }),
388
369
  });
389
370
  const fileHash = createHash('sha256').update(buffer).digest('hex');
390
371
  const dir = join(recordingDir, 'generated');