@xeonr/renderer-sdk 1.8.3 → 1.8.5
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.
|
@@ -10,13 +10,16 @@ import { type WorkerContext, type WorkerManifest } from './worker.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const DEFAULT_RENDERER_WORKER_MANIFEST: WorkerManifest;
|
|
12
12
|
export interface RendererWorkerOptions {
|
|
13
|
-
/** Rendered container size in CSS pixels. Defaults to
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
/** Rendered container size in CSS pixels. Defaults to a 384×384 SQUARE
|
|
14
|
+
* logical viewport, captured at pixelRatio 2 → a 768×768 PNG. Thumbnails
|
|
15
|
+
* are displayed at ~300×300, so renderers must lay out for a small
|
|
16
|
+
* square: large type, low density, comfortably readable when downscaled.
|
|
17
|
+
* The small logical viewport (vs the old 1024×768) is what makes content
|
|
18
|
+
* read large at display size. */
|
|
16
19
|
width?: number;
|
|
17
20
|
height?: number;
|
|
18
|
-
/** Devicepixelratio
|
|
19
|
-
*
|
|
21
|
+
/** Devicepixelratio. 2 → a 384×384 logical layout captured as a 768×768
|
|
22
|
+
* PNG (crisp when shown at ~300). */
|
|
20
23
|
pixelRatio?: number;
|
|
21
24
|
/** Post-ready paint settle (ms) — waited AFTER the renderer signals
|
|
22
25
|
* markReady (or after readyTimeoutMs elapses), to let final layout /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-renderer.d.ts","sourceRoot":"","sources":["../src/worker-renderer.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGpF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,cAO9C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACrC
|
|
1
|
+
{"version":3,"file":"worker-renderer.d.ts","sourceRoot":"","sources":["../src/worker-renderer.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGpF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAE,cAO9C,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACrC;;;;;qCAKiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yCACqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;yEAEqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;mDAK+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,GAAG,EAAE,aAAa,CAAC;CACnB,KAAK,YAAY,CAAC;AAEnB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,GAAE,qBAA0B,GACjC,IAAI,CA0BN"}
|
package/dist/worker-renderer.js
CHANGED
|
@@ -56,8 +56,8 @@ export function defineRendererWorker(render, options = {}) {
|
|
|
56
56
|
defineWorker({
|
|
57
57
|
manifest: DEFAULT_RENDERER_WORKER_MANIFEST,
|
|
58
58
|
handler: async (ctx) => {
|
|
59
|
-
const width = options.width ??
|
|
60
|
-
const height = options.height ??
|
|
59
|
+
const width = options.width ?? 384;
|
|
60
|
+
const height = options.height ?? 384;
|
|
61
61
|
const pixelRatio = options.pixelRatio ?? 2;
|
|
62
62
|
const settleMs = options.settleMs ?? 300;
|
|
63
63
|
const readyTimeoutMs = options.readyTimeoutMs ?? 15000;
|
|
@@ -90,7 +90,21 @@ async function renderAndCapture(args) {
|
|
|
90
90
|
// Renderer authors look at data-theme + colorScheme for theme hints.
|
|
91
91
|
container.dataset.theme = args.theme;
|
|
92
92
|
container.style.colorScheme = args.theme;
|
|
93
|
+
// Transparent capture: the host composites the thumbnail over its own
|
|
94
|
+
// light/dark surface, so don't bake a background. Make the container's
|
|
95
|
+
// own background transparent (renderers paint only theme-aware
|
|
96
|
+
// foreground).
|
|
97
|
+
container.style.background = 'transparent';
|
|
93
98
|
document.body.appendChild(container);
|
|
99
|
+
// Hide scrollbars in the capture: scrollable renderer content (code,
|
|
100
|
+
// markdown, …) otherwise shows a scrollbar gutter in the screenshot.
|
|
101
|
+
// Injected once; harmless if already present.
|
|
102
|
+
if (typeof document !== 'undefined' && !document.getElementById('upl-worker-noscroll')) {
|
|
103
|
+
const style = document.createElement('style');
|
|
104
|
+
style.id = 'upl-worker-noscroll';
|
|
105
|
+
style.textContent = '::-webkit-scrollbar{width:0;height:0;display:none}*{scrollbar-width:none}';
|
|
106
|
+
document.head.appendChild(style);
|
|
107
|
+
}
|
|
94
108
|
// Resolved when the renderer signals markReady() — see onReady below.
|
|
95
109
|
// We hold the capture until this fires (bounded by readyTimeoutMs) so
|
|
96
110
|
// the screenshot reflects loaded content, not an empty initial frame.
|
|
@@ -121,12 +135,11 @@ async function renderAndCapture(args) {
|
|
|
121
135
|
await waitForRaf();
|
|
122
136
|
await new Promise((r) => setTimeout(r, args.settleMs));
|
|
123
137
|
await waitForImages(container);
|
|
124
|
-
|
|
138
|
+
// No backgroundColor → transparent PNG; the host paints the surface.
|
|
125
139
|
const dataUrl = await args.toPng(container, {
|
|
126
140
|
width: args.width,
|
|
127
141
|
height: args.height,
|
|
128
142
|
pixelRatio: args.pixelRatio,
|
|
129
|
-
backgroundColor: bgColor,
|
|
130
143
|
});
|
|
131
144
|
return dataUrlToBytes(dataUrl);
|
|
132
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-renderer.js","sourceRoot":"","sources":["../src/worker-renderer.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,qEAAqE;AACrE,qDAAqD;AACrD,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,gFAAgF;AAChF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,6DAA6D;AAC7D,4BAA4B;AAC5B,sEAAsE;AACtE,kEAAkE;AAClE,mBAAmB;AACnB,qEAAqE;AACrE,oEAAoE;AACpE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,wEAAwE;AACxE,kEAAkE;AAClE,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAqB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,YAAY,EAA2C,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAmB;IAC/D,OAAO,EAAE;QACR,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW;YACpF,WAAW,EAAE,iCAAiC,EAAE;QACjD,EAAE,IAAI,EAAE,uBAAuB,EAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW;YACpF,WAAW,EAAE,gCAAgC,EAAE;KAChD;CACD,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-renderer.js","sourceRoot":"","sources":["../src/worker-renderer.tsx"],"names":[],"mappings":"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"}
|