shaders 2.5.132 → 2.5.133
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.
- package/dist/core/index.js +23 -10
- package/dist/core/renderer.d.ts +1 -0
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/js/bundle.js +215 -215
- package/dist/js/createShader.js +1 -1
- package/dist/react/Shader.js +1 -1
- package/dist/react/bundle.js +215 -215
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/svelte/index.js +1 -1
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +33 -6
- package/dist/vue/engine/Shader.vue.d.ts +4 -0
- package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
- package/package.json +61 -1
|
@@ -67,7 +67,7 @@ function Shader(allProps) {
|
|
|
67
67
|
const checkRendering = () => {
|
|
68
68
|
const stats = rendererInstance.getPerformanceStats();
|
|
69
69
|
if (stats.fps > 0) {
|
|
70
|
-
const version = "2.5.
|
|
70
|
+
const version = "2.5.133";
|
|
71
71
|
telemetryCollector = startTelemetry(rendererInstance, version, props.disableTelemetry, props.isPreview);
|
|
72
72
|
if (telemetryCollector) {
|
|
73
73
|
telemetryCollector.start();
|
package/dist/svelte/index.js
CHANGED
|
@@ -23730,7 +23730,7 @@ function Shader($$anchor, $$props) {
|
|
|
23730
23730
|
const checkRendering = () => {
|
|
23731
23731
|
if (!rendererInstance) return;
|
|
23732
23732
|
if (rendererInstance.getPerformanceStats().fps > 0) {
|
|
23733
|
-
telemetryCollector = startTelemetry(rendererInstance, "2.5.
|
|
23733
|
+
telemetryCollector = startTelemetry(rendererInstance, "2.5.133", disableTelemetry(), isPreview());
|
|
23734
23734
|
if (telemetryCollector) telemetryCollector.start();
|
|
23735
23735
|
telemetryStartTimeout = null;
|
|
23736
23736
|
} else telemetryStartTimeout = window.setTimeout(checkRendering, 500);
|
|
@@ -62,7 +62,7 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
62
62
|
const startTelemetryWhenReady = () => {
|
|
63
63
|
const checkRendering = () => {
|
|
64
64
|
if (rendererInstance.value.getPerformanceStats().fps > 0) {
|
|
65
|
-
telemetryCollector = startTelemetry(rendererInstance.value, "2.5.
|
|
65
|
+
telemetryCollector = startTelemetry(rendererInstance.value, "2.5.133", props.disableTelemetry, props.isPreview);
|
|
66
66
|
if (telemetryCollector) telemetryCollector.start();
|
|
67
67
|
telemetryStartTimeout = null;
|
|
68
68
|
} else telemetryStartTimeout = setTimeout(checkRendering, 500);
|
|
@@ -187,30 +187,57 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
187
187
|
const getPerformanceStats = () => {
|
|
188
188
|
return rendererInstance.value.getPerformanceStats();
|
|
189
189
|
};
|
|
190
|
+
const evenify = (n) => {
|
|
191
|
+
const rounded = Math.round(n);
|
|
192
|
+
return rounded % 2 === 0 ? rounded : rounded + 1;
|
|
193
|
+
};
|
|
190
194
|
const beginRecordingResolution = async (pixelRatio) => {
|
|
191
195
|
const internal = rendererInstance.value.getInternalRenderer();
|
|
192
196
|
if (!internal || !canvasRef.value) return async () => {};
|
|
193
197
|
const previousRatio = typeof internal.getPixelRatio === "function" ? internal.getPixelRatio() : Math.min(window.devicePixelRatio, 2);
|
|
194
198
|
const cssWidth = canvasRef.value.clientWidth;
|
|
195
199
|
const cssHeight = canvasRef.value.clientHeight;
|
|
196
|
-
const applyRatio = async (ratio) => {
|
|
200
|
+
const applyRatio = async (ratio, forExport) => {
|
|
197
201
|
internal.setPixelRatio(ratio);
|
|
198
|
-
if (typeof internal.setSize === "function")
|
|
202
|
+
if (typeof internal.setSize === "function") {
|
|
203
|
+
const width = forExport ? evenify(cssWidth) : cssWidth;
|
|
204
|
+
const height = forExport ? evenify(cssHeight) : cssHeight;
|
|
205
|
+
internal.setSize(width, height, false);
|
|
206
|
+
}
|
|
199
207
|
await renderForCapture();
|
|
208
|
+
if (forExport) await renderForCapture();
|
|
200
209
|
};
|
|
201
210
|
const previousForce = rendererInstance.value.setForceFullFrameRate?.(true) ?? false;
|
|
202
|
-
await applyRatio(pixelRatio);
|
|
211
|
+
await applyRatio(pixelRatio, true);
|
|
203
212
|
return async () => {
|
|
204
|
-
await applyRatio(previousRatio);
|
|
213
|
+
await applyRatio(previousRatio, false);
|
|
205
214
|
rendererInstance.value.setForceFullFrameRate?.(previousForce);
|
|
206
215
|
};
|
|
207
216
|
};
|
|
217
|
+
const renderSyntheticFrame = async (deltaSeconds) => {
|
|
218
|
+
await rendererInstance.value.renderSyntheticFrame(deltaSeconds);
|
|
219
|
+
};
|
|
220
|
+
const captureFrameBitmap = async (quality = .92) => {
|
|
221
|
+
if (!canvasRef.value) throw new Error("Canvas not available");
|
|
222
|
+
const source = canvasRef.value;
|
|
223
|
+
const blob = await new Promise((resolve, reject) => {
|
|
224
|
+
source.toBlob((blob$1) => {
|
|
225
|
+
if (blob$1) resolve(blob$1);
|
|
226
|
+
else reject(/* @__PURE__ */ new Error("Failed to read source canvas"));
|
|
227
|
+
}, "image/jpeg", quality);
|
|
228
|
+
});
|
|
229
|
+
return await createImageBitmap(blob);
|
|
230
|
+
};
|
|
208
231
|
__expose({
|
|
209
232
|
captureImage,
|
|
210
233
|
captureScreenshot,
|
|
211
234
|
getPerformanceStats,
|
|
212
235
|
beginRecordingResolution,
|
|
213
|
-
getCanvas: () => canvasRef.value
|
|
236
|
+
getCanvas: () => canvasRef.value,
|
|
237
|
+
renderSyntheticFrame,
|
|
238
|
+
captureFrameBitmap,
|
|
239
|
+
startAnimation: () => rendererInstance.value.startAnimation(),
|
|
240
|
+
stopAnimation: () => rendererInstance.value.stopAnimation()
|
|
214
241
|
});
|
|
215
242
|
onBeforeUnmount(() => {
|
|
216
243
|
if (telemetryCollector) {
|
|
@@ -27,6 +27,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
27
27
|
getPerformanceStats: () => import('../../core').PerformanceStats;
|
|
28
28
|
beginRecordingResolution: (pixelRatio: number) => Promise<() => Promise<void>>;
|
|
29
29
|
getCanvas: () => HTMLCanvasElement | null;
|
|
30
|
+
renderSyntheticFrame: (deltaSeconds: number) => Promise<void>;
|
|
31
|
+
captureFrameBitmap: (quality?: number) => Promise<ImageBitmap>;
|
|
32
|
+
startAnimation: () => void;
|
|
33
|
+
stopAnimation: () => void;
|
|
30
34
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
31
35
|
ready: () => void;
|
|
32
36
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shader.vue.d.ts","sourceRoot":"","sources":["../../src/engine/Shader.vue"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IAChG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAkOD,KAAK,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAE5C,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"Shader.vue.d.ts","sourceRoot":"","sources":["../../src/engine/Shader.vue"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IAChG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAkOD,KAAK,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAE5C,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAsQD,iBAAS,cAAc;qBAkDO,GAAG;EAKhC;AAWD,QAAA,MAAM,eAAe;;;;;;;6BAnQgB,mBAAmB,KAAQ,OAAO,CAAC,IAAI,CAAC;8CAsB1B,OAAO,CAAC,IAAI,CAAC;;2CAyCZ,MAAM,KAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;;yCA4CvC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;8CAgBrB,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;gBA5axD,WAAW,GAAG,MAAM;sBAFd,OAAO;+BACE,OAAO;iBAErB,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ;eACpF,OAAO;4EA0jBnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shaders",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.133",
|
|
4
4
|
"description": "Shader magic for modern frontends",
|
|
5
5
|
"author": "Shader Effects Inc.",
|
|
6
6
|
"homepage": "https://shaders.com/",
|
|
@@ -814,6 +814,66 @@
|
|
|
814
814
|
"types": "./dist/core/shaders/ThinFilm/index.d.ts",
|
|
815
815
|
"import": "./dist/core/shaders/ThinFilm/index.js",
|
|
816
816
|
"require": "./dist/core/shaders/ThinFilm/index.js"
|
|
817
|
+
},
|
|
818
|
+
"./core/BrushedMetal": {
|
|
819
|
+
"types": "./dist/core/shaders/BrushedMetal/index.d.ts",
|
|
820
|
+
"import": "./dist/core/shaders/BrushedMetal/index.js",
|
|
821
|
+
"require": "./dist/core/shaders/BrushedMetal/index.js"
|
|
822
|
+
},
|
|
823
|
+
"./core/CarbonFiber": {
|
|
824
|
+
"types": "./dist/core/shaders/CarbonFiber/index.d.ts",
|
|
825
|
+
"import": "./dist/core/shaders/CarbonFiber/index.js",
|
|
826
|
+
"require": "./dist/core/shaders/CarbonFiber/index.js"
|
|
827
|
+
},
|
|
828
|
+
"./core/Frost": {
|
|
829
|
+
"types": "./dist/core/shaders/Frost/index.d.ts",
|
|
830
|
+
"import": "./dist/core/shaders/Frost/index.js",
|
|
831
|
+
"require": "./dist/core/shaders/Frost/index.js"
|
|
832
|
+
},
|
|
833
|
+
"./core/Goo": {
|
|
834
|
+
"types": "./dist/core/shaders/Goo/index.d.ts",
|
|
835
|
+
"import": "./dist/core/shaders/Goo/index.js",
|
|
836
|
+
"require": "./dist/core/shaders/Goo/index.js"
|
|
837
|
+
},
|
|
838
|
+
"./core/Hologram": {
|
|
839
|
+
"types": "./dist/core/shaders/Hologram/index.d.ts",
|
|
840
|
+
"import": "./dist/core/shaders/Hologram/index.js",
|
|
841
|
+
"require": "./dist/core/shaders/Hologram/index.js"
|
|
842
|
+
},
|
|
843
|
+
"./core/Holographic": {
|
|
844
|
+
"types": "./dist/core/shaders/Holographic/index.d.ts",
|
|
845
|
+
"import": "./dist/core/shaders/Holographic/index.js",
|
|
846
|
+
"require": "./dist/core/shaders/Holographic/index.js"
|
|
847
|
+
},
|
|
848
|
+
"./core/LiquidMetal": {
|
|
849
|
+
"types": "./dist/core/shaders/LiquidMetal/index.d.ts",
|
|
850
|
+
"import": "./dist/core/shaders/LiquidMetal/index.js",
|
|
851
|
+
"require": "./dist/core/shaders/LiquidMetal/index.js"
|
|
852
|
+
},
|
|
853
|
+
"./core/Plastic": {
|
|
854
|
+
"types": "./dist/core/shaders/Plastic/index.d.ts",
|
|
855
|
+
"import": "./dist/core/shaders/Plastic/index.js",
|
|
856
|
+
"require": "./dist/core/shaders/Plastic/index.js"
|
|
857
|
+
},
|
|
858
|
+
"./core/Prism": {
|
|
859
|
+
"types": "./dist/core/shaders/Prism/index.d.ts",
|
|
860
|
+
"import": "./dist/core/shaders/Prism/index.js",
|
|
861
|
+
"require": "./dist/core/shaders/Prism/index.js"
|
|
862
|
+
},
|
|
863
|
+
"./core/Repeater": {
|
|
864
|
+
"types": "./dist/core/shaders/Repeater/index.d.ts",
|
|
865
|
+
"import": "./dist/core/shaders/Repeater/index.js",
|
|
866
|
+
"require": "./dist/core/shaders/Repeater/index.js"
|
|
867
|
+
},
|
|
868
|
+
"./core/Surface3D": {
|
|
869
|
+
"types": "./dist/core/shaders/Surface3D/index.d.ts",
|
|
870
|
+
"import": "./dist/core/shaders/Surface3D/index.js",
|
|
871
|
+
"require": "./dist/core/shaders/Surface3D/index.js"
|
|
872
|
+
},
|
|
873
|
+
"./core/Text": {
|
|
874
|
+
"types": "./dist/core/shaders/Text/index.d.ts",
|
|
875
|
+
"import": "./dist/core/shaders/Text/index.js",
|
|
876
|
+
"require": "./dist/core/shaders/Text/index.js"
|
|
817
877
|
}
|
|
818
878
|
},
|
|
819
879
|
"typesVersions": {
|