shaders 2.2.42 → 2.2.43
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/WebcamTexture-D4Uv7Plz.js +168 -0
- package/dist/core/index.js +11 -9
- package/dist/core/shaderRegistry.d.ts.map +1 -1
- package/dist/core/shaders/WebcamTexture/index.d.ts +21 -0
- package/dist/core/shaders/WebcamTexture/index.d.ts.map +1 -0
- package/dist/core/shaders/WebcamTexture/index.js +2 -0
- package/dist/core/shaders/ZoomBlur/index.js +1 -1
- package/dist/react/components/WebcamTexture.d.ts +31 -0
- package/dist/react/components/WebcamTexture.d.ts.map +1 -0
- package/dist/react/{generatePresetCode-BrkW1bEe.js → generatePresetCode-D0yiVxb4.js} +7 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +570 -431
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +1 -1
- package/dist/registry.js +91 -0
- package/dist/solid/components/WebcamTexture.d.ts +28 -0
- package/dist/solid/components/WebcamTexture.d.ts.map +1 -0
- package/dist/solid/index.d.ts +1 -0
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +508 -366
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +7 -0
- package/dist/svelte/components/WebcamTexture.svelte.d.ts +19 -0
- package/dist/svelte/{generatePresetCode-bx7z5wvC.js → generatePresetCode-DUGaV_ym.js} +7 -0
- package/dist/svelte/index.d.ts +1 -0
- package/dist/svelte/index.js +115 -4
- package/dist/svelte/utils/generatePresetCode.js +1 -1
- package/dist/vue/components/WebcamTexture.vue.d.ts +57 -0
- package/dist/vue/components/WebcamTexture.vue.d.ts.map +1 -0
- package/dist/vue/{generatePresetCode-_7ZzqQPH.js → generatePresetCode-CShQ8TLw.js} +7 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +131 -9
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +1 -1
- package/package.json +9 -1
- /package/dist/core/{ZoomBlur-CTrw7HxX.js → ZoomBlur-CIkkDBIo.js} +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { SRGBColorSpace, VideoTexture } from "three/webgpu";
|
|
2
|
+
import { float, max, min, or, screenUV, select, step, texture, uniform, vec2, vec4, viewportSize } from "three/tsl";
|
|
3
|
+
const componentDefinition = {
|
|
4
|
+
name: "WebcamTexture",
|
|
5
|
+
category: "Base Layers",
|
|
6
|
+
description: "Display a live webcam feed with customizable object-fit modes",
|
|
7
|
+
props: {
|
|
8
|
+
objectFit: {
|
|
9
|
+
default: "cover",
|
|
10
|
+
description: "How the webcam feed should be sized within the viewport",
|
|
11
|
+
transform: (value) => {
|
|
12
|
+
return {
|
|
13
|
+
"cover": 0,
|
|
14
|
+
"contain": 1,
|
|
15
|
+
"fill": 2,
|
|
16
|
+
"scale-down": 3,
|
|
17
|
+
"none": 4
|
|
18
|
+
}[value] ?? 0;
|
|
19
|
+
},
|
|
20
|
+
ui: {
|
|
21
|
+
type: "select",
|
|
22
|
+
options: [
|
|
23
|
+
{
|
|
24
|
+
label: "Cover",
|
|
25
|
+
value: "cover"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: "Contain",
|
|
29
|
+
value: "contain"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: "Fill",
|
|
33
|
+
value: "fill"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: "Scale Down",
|
|
37
|
+
value: "scale-down"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: "None",
|
|
41
|
+
value: "none"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
label: "Object Fit"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
mirror: {
|
|
48
|
+
default: true,
|
|
49
|
+
description: "Mirror the webcam feed horizontally (selfie mode)",
|
|
50
|
+
ui: {
|
|
51
|
+
type: "checkbox",
|
|
52
|
+
label: "Mirror"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
fragmentNode: ({ uniforms, onCleanup }) => {
|
|
57
|
+
const baseUV = screenUV;
|
|
58
|
+
let mediaStream = null;
|
|
59
|
+
let videoElement = null;
|
|
60
|
+
let videoTexture = null;
|
|
61
|
+
let isInitialized = false;
|
|
62
|
+
let isDisposed = false;
|
|
63
|
+
const videoAspectUniform = uniform(1);
|
|
64
|
+
const videoWidthUniform = uniform(640);
|
|
65
|
+
const videoHeightUniform = uniform(480);
|
|
66
|
+
const placeholderVideo = document.createElement("video");
|
|
67
|
+
placeholderVideo.playsInline = true;
|
|
68
|
+
placeholderVideo.muted = true;
|
|
69
|
+
videoTexture = new VideoTexture(placeholderVideo);
|
|
70
|
+
videoTexture.colorSpace = SRGBColorSpace;
|
|
71
|
+
const textureNode = texture(videoTexture);
|
|
72
|
+
const startWebcam = async () => {
|
|
73
|
+
if (isInitialized || isDisposed) return;
|
|
74
|
+
try {
|
|
75
|
+
mediaStream = await navigator.mediaDevices.getUserMedia({
|
|
76
|
+
video: {
|
|
77
|
+
width: { ideal: 1280 },
|
|
78
|
+
height: { ideal: 720 },
|
|
79
|
+
facingMode: "user"
|
|
80
|
+
},
|
|
81
|
+
audio: false
|
|
82
|
+
});
|
|
83
|
+
if (isDisposed) {
|
|
84
|
+
mediaStream.getTracks().forEach((track) => track.stop());
|
|
85
|
+
mediaStream = null;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
videoElement = document.createElement("video");
|
|
89
|
+
videoElement.srcObject = mediaStream;
|
|
90
|
+
videoElement.playsInline = true;
|
|
91
|
+
videoElement.muted = true;
|
|
92
|
+
await new Promise((resolve, reject) => {
|
|
93
|
+
if (!videoElement) return reject(/* @__PURE__ */ new Error("Video element not created"));
|
|
94
|
+
videoElement.onloadedmetadata = () => {
|
|
95
|
+
resolve();
|
|
96
|
+
};
|
|
97
|
+
videoElement.onerror = () => {
|
|
98
|
+
reject(/* @__PURE__ */ new Error("Failed to load video metadata"));
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
if (isDisposed) return;
|
|
102
|
+
await videoElement.play();
|
|
103
|
+
if (isDisposed) return;
|
|
104
|
+
const width = videoElement.videoWidth || 640;
|
|
105
|
+
const height = videoElement.videoHeight || 480;
|
|
106
|
+
videoAspectUniform.value = width / height;
|
|
107
|
+
videoWidthUniform.value = width;
|
|
108
|
+
videoHeightUniform.value = height;
|
|
109
|
+
if (videoTexture) videoTexture.dispose();
|
|
110
|
+
videoTexture = new VideoTexture(videoElement);
|
|
111
|
+
videoTexture.colorSpace = SRGBColorSpace;
|
|
112
|
+
textureNode.value = videoTexture;
|
|
113
|
+
isInitialized = true;
|
|
114
|
+
console.log(`[WebcamTexture] Webcam started: ${width}x${height}`);
|
|
115
|
+
} catch (error) {
|
|
116
|
+
if (error instanceof DOMException) if (error.name === "NotAllowedError") console.error("[WebcamTexture] Camera permission denied by user");
|
|
117
|
+
else if (error.name === "NotFoundError") console.error("[WebcamTexture] No camera found on this device");
|
|
118
|
+
else if (error.name === "NotReadableError") console.error("[WebcamTexture] Camera is already in use by another application");
|
|
119
|
+
else console.error("[WebcamTexture] Camera error:", error.message);
|
|
120
|
+
else console.error("[WebcamTexture] Failed to start webcam:", error);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
startWebcam();
|
|
124
|
+
onCleanup(() => {
|
|
125
|
+
isDisposed = true;
|
|
126
|
+
if (mediaStream) {
|
|
127
|
+
mediaStream.getTracks().forEach((track) => track.stop());
|
|
128
|
+
mediaStream = null;
|
|
129
|
+
}
|
|
130
|
+
if (videoTexture) {
|
|
131
|
+
videoTexture.dispose();
|
|
132
|
+
videoTexture = null;
|
|
133
|
+
}
|
|
134
|
+
if (videoElement) {
|
|
135
|
+
videoElement.srcObject = null;
|
|
136
|
+
videoElement = null;
|
|
137
|
+
}
|
|
138
|
+
placeholderVideo.srcObject = null;
|
|
139
|
+
isInitialized = false;
|
|
140
|
+
});
|
|
141
|
+
const uv$1 = baseUV;
|
|
142
|
+
const viewportAspect = viewportSize.x.div(viewportSize.y);
|
|
143
|
+
const objectFitMode = uniforms.objectFit.uniform;
|
|
144
|
+
const coverScale = max(viewportAspect.div(videoAspectUniform), float(1));
|
|
145
|
+
const coverUVScale = vec2(videoAspectUniform.div(viewportAspect).mul(coverScale), coverScale);
|
|
146
|
+
const containScale = min(viewportAspect.div(videoAspectUniform), float(1));
|
|
147
|
+
const containUVScale = vec2(videoAspectUniform.div(viewportAspect).mul(containScale), containScale);
|
|
148
|
+
const fillUVScale = vec2(1, 1);
|
|
149
|
+
const scaleDownScale = min(min(viewportAspect.div(videoAspectUniform), float(1)), min(viewportSize.x.div(videoWidthUniform), viewportSize.y.div(videoHeightUniform)));
|
|
150
|
+
const scaleDownUVScale = vec2(videoAspectUniform.div(viewportAspect).mul(scaleDownScale), scaleDownScale);
|
|
151
|
+
const noneScale = min(viewportSize.x.div(videoWidthUniform), viewportSize.y.div(videoHeightUniform));
|
|
152
|
+
const noneUVScale = vec2(videoAspectUniform.div(viewportAspect).mul(noneScale), noneScale);
|
|
153
|
+
const isCover = step(objectFitMode, float(.5));
|
|
154
|
+
const isContain = step(float(.5), objectFitMode).mul(step(objectFitMode, float(1.5)));
|
|
155
|
+
const isFill = step(float(1.5), objectFitMode).mul(step(objectFitMode, float(2.5)));
|
|
156
|
+
const isScaleDown = step(float(2.5), objectFitMode).mul(step(objectFitMode, float(3.5)));
|
|
157
|
+
const isNone = step(float(3.5), objectFitMode);
|
|
158
|
+
const uvScale = vec2(0).add(coverUVScale.mul(isCover)).add(containUVScale.mul(isContain)).add(fillUVScale.mul(isFill)).add(scaleDownUVScale.mul(isScaleDown)).add(noneUVScale.mul(isNone));
|
|
159
|
+
const adjustedUV = uv$1.sub(vec2(.5)).div(uvScale).add(vec2(.5));
|
|
160
|
+
const mirrorMode = uniforms.mirror.uniform;
|
|
161
|
+
const finalUV = vec2(select(mirrorMode, float(1).sub(adjustedUV.x), adjustedUV.x), float(1).sub(adjustedUV.y));
|
|
162
|
+
const sampledColor = textureNode.sample(finalUV);
|
|
163
|
+
const isOutOfBounds = or(or(finalUV.x.lessThan(0), finalUV.x.greaterThan(1)), or(finalUV.y.lessThan(0), finalUV.y.greaterThan(1)));
|
|
164
|
+
return vec4(sampledColor.rgb, select(isOutOfBounds, float(0), sampledColor.a));
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
var WebcamTexture_default = componentDefinition;
|
|
168
|
+
export { componentDefinition as n, WebcamTexture_default as t };
|
package/dist/core/index.js
CHANGED
|
@@ -62,7 +62,8 @@ import { n as componentDefinition$56 } from "./Tritone-DzvSKVfR.js";
|
|
|
62
62
|
import { n as componentDefinition$57 } from "./Twirl-BXH4uAd6.js";
|
|
63
63
|
import { n as componentDefinition$58 } from "./Vibrance-ByN9bRgU.js";
|
|
64
64
|
import { n as componentDefinition$59 } from "./WaveDistortion-BA1PyqYH.js";
|
|
65
|
-
import { n as componentDefinition$60 } from "./
|
|
65
|
+
import { n as componentDefinition$60 } from "./WebcamTexture-D4Uv7Plz.js";
|
|
66
|
+
import { n as componentDefinition$61 } from "./ZoomBlur-CIkkDBIo.js";
|
|
66
67
|
import { Material, Mesh, MeshBasicNodeMaterial, OrthographicCamera, PlaneGeometry, SRGBColorSpace, Scene, WebGPURenderer } from "three/webgpu";
|
|
67
68
|
import { WebGLRenderer } from "three";
|
|
68
69
|
import { PI, abs, add, atan, convertToTexture, cos, div, dot, float, fract, max, min, mix, mul, pow, screenUV, sin, smoothstep, sqrt, step, sub, time, uniform, uv, vec2, vec3, vec4 } from "three/tsl";
|
|
@@ -1089,7 +1090,7 @@ function shaderRenderer() {
|
|
|
1089
1090
|
}
|
|
1090
1091
|
}
|
|
1091
1092
|
};
|
|
1092
|
-
const registerNode = (id, fragmentNodeFunc, parentId, metadata, uniforms = {}, componentDefinition$
|
|
1093
|
+
const registerNode = (id, fragmentNodeFunc, parentId, metadata, uniforms = {}, componentDefinition$62) => {
|
|
1093
1094
|
if (fragmentNodeFunc === null) {
|
|
1094
1095
|
const queueIndex = pendingRegistrationQueue.findIndex((item) => item.id === id);
|
|
1095
1096
|
if (queueIndex !== -1) {
|
|
@@ -1107,7 +1108,7 @@ function shaderRenderer() {
|
|
|
1107
1108
|
parentId,
|
|
1108
1109
|
metadata,
|
|
1109
1110
|
uniforms,
|
|
1110
|
-
componentDefinition: componentDefinition$
|
|
1111
|
+
componentDefinition: componentDefinition$62
|
|
1111
1112
|
};
|
|
1112
1113
|
else pendingRegistrationQueue.push({
|
|
1113
1114
|
id,
|
|
@@ -1115,7 +1116,7 @@ function shaderRenderer() {
|
|
|
1115
1116
|
parentId,
|
|
1116
1117
|
metadata,
|
|
1117
1118
|
uniforms,
|
|
1118
|
-
componentDefinition: componentDefinition$
|
|
1119
|
+
componentDefinition: componentDefinition$62
|
|
1119
1120
|
});
|
|
1120
1121
|
return;
|
|
1121
1122
|
}
|
|
@@ -1148,11 +1149,11 @@ function shaderRenderer() {
|
|
|
1148
1149
|
}
|
|
1149
1150
|
const nodeInfo = {
|
|
1150
1151
|
id,
|
|
1151
|
-
componentName: componentDefinition$
|
|
1152
|
+
componentName: componentDefinition$62?.name || "Unknown",
|
|
1152
1153
|
fragmentNodeFunc,
|
|
1153
1154
|
parentId,
|
|
1154
|
-
requiresRTT: componentDefinition$
|
|
1155
|
-
requiresChild: componentDefinition$
|
|
1155
|
+
requiresRTT: componentDefinition$62?.requiresRTT || false,
|
|
1156
|
+
requiresChild: componentDefinition$62?.requiresChild || false,
|
|
1156
1157
|
opacityUniform,
|
|
1157
1158
|
metadata: {
|
|
1158
1159
|
blendMode: metadata?.blendMode || "normal",
|
|
@@ -1468,7 +1469,7 @@ function shaderRenderer() {
|
|
|
1468
1469
|
if (pendingRegistrationQueue.length === 0) return;
|
|
1469
1470
|
const queue = [...pendingRegistrationQueue];
|
|
1470
1471
|
pendingRegistrationQueue = [];
|
|
1471
|
-
for (const { id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition: componentDefinition$
|
|
1472
|
+
for (const { id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition: componentDefinition$62 } of queue) if (fragmentNodeFunc) registerNode(id, fragmentNodeFunc, parentId, metadata, uniforms, componentDefinition$62);
|
|
1472
1473
|
};
|
|
1473
1474
|
const initialize = async ({ canvas, enablePerformanceTracking: enableTracking = false }) => {
|
|
1474
1475
|
if (isInitialized || isInitializing) return;
|
|
@@ -1823,7 +1824,8 @@ var createShaderRegistry = () => {
|
|
|
1823
1824
|
Twirl: componentDefinition$57,
|
|
1824
1825
|
Vibrance: componentDefinition$58,
|
|
1825
1826
|
WaveDistortion: componentDefinition$59,
|
|
1826
|
-
|
|
1827
|
+
WebcamTexture: componentDefinition$60,
|
|
1828
|
+
ZoomBlur: componentDefinition$61
|
|
1827
1829
|
};
|
|
1828
1830
|
Object.entries(shaderDefinitions).forEach(([fileName, def]) => {
|
|
1829
1831
|
const propsMetadata = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaderRegistry.d.ts","sourceRoot":"","sources":["../src/shaderRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shaderRegistry.d.ts","sourceRoot":"","sources":["../src/shaderRegistry.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;QAC5B,EAAE,CAAC,EAAE,GAAG,CAAA;QACR,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAC,CAAA;CACH;AAkGD,eAAO,MAAM,cAAc,qCAAyB,CAAA;AAGpD,wBAAgB,aAAa,IAAI,mBAAmB,EAAE,CAErD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE5E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAG9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentDefinition } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface ComponentProps {
|
|
4
|
+
/**
|
|
5
|
+
* How the webcam feed should be sized within the viewport
|
|
6
|
+
*
|
|
7
|
+
* Accepts one of: `"cover"`, `"contain"`, `"fill"`, `"scale-down"`, `"none"`.
|
|
8
|
+
* @default "cover"
|
|
9
|
+
*/
|
|
10
|
+
objectFit: string;
|
|
11
|
+
/**
|
|
12
|
+
* Mirror the webcam feed horizontally (selfie mode)
|
|
13
|
+
*
|
|
14
|
+
* Accepts a boolean value (`true` or `false`).
|
|
15
|
+
* @default true
|
|
16
|
+
*/
|
|
17
|
+
mirror: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare const componentDefinition: ComponentDefinition<ComponentProps>;
|
|
20
|
+
export default componentDefinition;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shaders/WebcamTexture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAMvE,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,cAAc,CAsRnE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "../../transformations-YbhRK-rd.js";
|
|
2
|
-
import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-
|
|
2
|
+
import { n as componentDefinition, t as ZoomBlur_default } from "../../ZoomBlur-CIkkDBIo.js";
|
|
3
3
|
export { componentDefinition, ZoomBlur_default as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { BlendMode, TransformConfig } from '../../core';
|
|
3
|
+
import { ComponentProps } from '../../core/shaders/WebcamTexture';
|
|
4
|
+
|
|
5
|
+
export type { ComponentProps };
|
|
6
|
+
/**
|
|
7
|
+
* Base props that all shader components have
|
|
8
|
+
*/
|
|
9
|
+
interface BaseShaderProps {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
blendMode?: BlendMode;
|
|
12
|
+
opacity?: number;
|
|
13
|
+
visible?: boolean;
|
|
14
|
+
id?: string;
|
|
15
|
+
maskSource?: string;
|
|
16
|
+
maskType?: string;
|
|
17
|
+
renderOrder?: number;
|
|
18
|
+
transform?: Partial<TransformConfig>;
|
|
19
|
+
ref?: React.Ref<any>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Component-specific props that merge base props with shader-specific props
|
|
23
|
+
* Note: ComponentProps are made optional since they have defaults from the shader definition
|
|
24
|
+
*/
|
|
25
|
+
type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
|
|
26
|
+
/**
|
|
27
|
+
* The main React wrapper component for Shader shader nodes
|
|
28
|
+
*/
|
|
29
|
+
export declare const OmbreComponent: React.FC<ShaderComponentProps>;
|
|
30
|
+
export default OmbreComponent;
|
|
31
|
+
//# sourceMappingURL=WebcamTexture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebcamTexture.d.ts","sourceRoot":"","sources":["../../src/components/WebcamTexture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGtF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAsDtE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwJzD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -601,6 +601,12 @@ var shaderMetadata = {
|
|
|
601
601
|
"waveType": "sine",
|
|
602
602
|
"edges": "stretch"
|
|
603
603
|
},
|
|
604
|
+
"WebcamTexture": {
|
|
605
|
+
"opacity": 1,
|
|
606
|
+
"blendMode": "normal",
|
|
607
|
+
"objectFit": "cover",
|
|
608
|
+
"mirror": true
|
|
609
|
+
},
|
|
604
610
|
"ZoomBlur": {
|
|
605
611
|
"opacity": 1,
|
|
606
612
|
"blendMode": "normal",
|
|
@@ -736,6 +742,7 @@ const availableComponents = [
|
|
|
736
742
|
"Twirl",
|
|
737
743
|
"Vibrance",
|
|
738
744
|
"WaveDistortion",
|
|
745
|
+
"WebcamTexture",
|
|
739
746
|
"ZoomBlur"
|
|
740
747
|
];
|
|
741
748
|
export { generatePresetCode as n, availableComponents as t };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -58,6 +58,7 @@ export { default as Tritone } from './components/Tritone';
|
|
|
58
58
|
export { default as Twirl } from './components/Twirl';
|
|
59
59
|
export { default as Vibrance } from './components/Vibrance';
|
|
60
60
|
export { default as WaveDistortion } from './components/WaveDistortion';
|
|
61
|
+
export { default as WebcamTexture } from './components/WebcamTexture';
|
|
61
62
|
export { default as ZoomBlur } from './components/ZoomBlur';
|
|
62
63
|
export { default as Shader } from './engine/Shader';
|
|
63
64
|
export { generatePresetCode } from './utils/generatePresetCode';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|