shaders 3.0.439 → 3.0.440

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.
@@ -66,7 +66,7 @@ function Shader(allProps) {
66
66
  const checkRendering = () => {
67
67
  const stats = rendererInstance.getPerformanceStats();
68
68
  if (stats.fps > 0) {
69
- const version = "3.0.439";
69
+ const version = "3.0.440";
70
70
  telemetryCollector = startTelemetry(rendererInstance, version, props.disableTelemetry, props.isPreview);
71
71
  if (telemetryCollector) {
72
72
  telemetryCollector.start();
@@ -33580,7 +33580,7 @@ function Shader($$anchor, $$props) {
33580
33580
  const checkRendering = () => {
33581
33581
  if (!rendererInstance) return;
33582
33582
  if (rendererInstance.getPerformanceStats().fps > 0) {
33583
- telemetryCollector = startTelemetry(rendererInstance, "3.0.439", disableTelemetry(), isPreview());
33583
+ telemetryCollector = startTelemetry(rendererInstance, "3.0.440", disableTelemetry(), isPreview());
33584
33584
  if (telemetryCollector) telemetryCollector.start();
33585
33585
  telemetryStartTimeout = null;
33586
33586
  } else telemetryStartTimeout = window.setTimeout(checkRendering, 500);
@@ -75,7 +75,7 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
75
75
  const startTelemetryWhenReady = () => {
76
76
  const checkRendering = () => {
77
77
  if (rendererInstance.value.getPerformanceStats().fps > 0) {
78
- telemetryCollector = startTelemetry(rendererInstance.value, "3.0.439", props.disableTelemetry, props.isPreview);
78
+ telemetryCollector = startTelemetry(rendererInstance.value, "3.0.440", props.disableTelemetry, props.isPreview);
79
79
  if (telemetryCollector) telemetryCollector.start();
80
80
  telemetryStartTimeout = null;
81
81
  } else telemetryStartTimeout = setTimeout(checkRendering, 500);
@@ -188,17 +188,26 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
188
188
  };
189
189
  const captureScreenshot = async (maxWidth = 1200) => {
190
190
  if (!canvasRef.value) throw new Error("Canvas not available");
191
- await renderForCapture();
192
- const source = canvasRef.value;
193
- const sourceWidth = source.width;
194
- const sourceHeight = source.height;
195
- let targetWidth = sourceWidth;
196
- let targetHeight = sourceHeight;
197
- if (sourceWidth > maxWidth) {
198
- targetWidth = maxWidth;
199
- targetHeight = Math.round(sourceHeight / sourceWidth * maxWidth);
191
+ const cssWidth = canvasRef.value.clientWidth;
192
+ const fullRatio = Math.min((typeof window !== "undefined" ? window.devicePixelRatio : 1) || 1, 2);
193
+ const targetBackingWidth = Math.min(maxWidth, Math.round(cssWidth * fullRatio));
194
+ let restoreResolution = null;
195
+ try {
196
+ if (cssWidth > 0 && canvasRef.value.width < targetBackingWidth) restoreResolution = await beginRecordingResolution(targetBackingWidth / cssWidth);
197
+ await renderForCapture();
198
+ const source = canvasRef.value;
199
+ const sourceWidth = source.width;
200
+ const sourceHeight = source.height;
201
+ let targetWidth = sourceWidth;
202
+ let targetHeight = sourceHeight;
203
+ if (sourceWidth > maxWidth) {
204
+ targetWidth = maxWidth;
205
+ targetHeight = Math.round(sourceHeight / sourceWidth * maxWidth);
206
+ }
207
+ return await canvasToBlob(source, targetWidth, targetHeight, "image/jpeg", .85);
208
+ } finally {
209
+ if (restoreResolution) await restoreResolution();
200
210
  }
201
- return canvasToBlob(source, targetWidth, targetHeight, "image/jpeg", .85);
202
211
  };
203
212
  const getPerformanceStats = () => {
204
213
  return rendererInstance.value.getPerformanceStats();
@@ -218,13 +227,26 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
218
227
  const cssWidth = evenify(canvasRef.value.clientWidth);
219
228
  const cssHeight = evenify(canvasRef.value.clientHeight);
220
229
  const previousForce = rendererInstance.value.setForceFullFrameRate?.(true) ?? false;
221
- const restoreResolution = rendererInstance.value.beginRecordingResolution(cssWidth, cssHeight, pixelRatio);
222
- await renderForCapture();
223
- await renderForCapture();
224
- return async () => {
225
- restoreResolution();
230
+ let restoreResolution = null;
231
+ try {
232
+ restoreResolution = rendererInstance.value.beginRecordingResolution(cssWidth, cssHeight, pixelRatio);
226
233
  await renderForCapture();
227
- rendererInstance.value.setForceFullFrameRate?.(previousForce);
234
+ await renderForCapture();
235
+ } catch (error) {
236
+ try {
237
+ restoreResolution?.();
238
+ } finally {
239
+ rendererInstance.value.setForceFullFrameRate?.(previousForce);
240
+ }
241
+ throw error;
242
+ }
243
+ return async () => {
244
+ try {
245
+ restoreResolution?.();
246
+ await renderForCapture();
247
+ } finally {
248
+ rendererInstance.value.setForceFullFrameRate?.(previousForce);
249
+ }
228
250
  };
229
251
  };
230
252
  const setResolutionScale = (scale) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Shader.vue.d.ts","sourceRoot":"","sources":["../../src/engine/Shader.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shader.vue.d.ts","sourceRoot":"","sources":["../../src/engine/Shader.vue"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaders",
3
- "version": "3.0.439",
3
+ "version": "3.0.440",
4
4
  "description": "The design platform for web shaders",
5
5
  "author": "Shader Effects Inc.",
6
6
  "homepage": "https://shaders.com/",