shaders 2.4.78 → 2.5.81

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 (64) hide show
  1. package/dist/core/Liquify-Cr-1qPxN.js +228 -0
  2. package/dist/core/index.d.ts +1 -1
  3. package/dist/core/index.d.ts.map +1 -1
  4. package/dist/core/index.js +59 -53
  5. package/dist/core/presetRenderer.d.ts.map +1 -1
  6. package/dist/core/registry.js +2 -2
  7. package/dist/core/renderer.d.ts +5 -1
  8. package/dist/core/renderer.d.ts.map +1 -1
  9. package/dist/core/{shaderRegistry-9huRXSRI.js → shaderRegistry-DnmRD6xy.js} +1 -1
  10. package/dist/core/shaders/Liquify/index.d.ts +13 -7
  11. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  12. package/dist/core/shaders/Liquify/index.js +1 -1
  13. package/dist/js/codegen.d.ts +1 -0
  14. package/dist/js/codegen.js +1 -0
  15. package/dist/js/createPreview.d.ts +19 -0
  16. package/dist/js/createPreview.d.ts.map +1 -0
  17. package/dist/js/createPreview.js +64 -0
  18. package/dist/js/createShader.d.ts +24 -0
  19. package/dist/js/createShader.d.ts.map +1 -0
  20. package/dist/js/createShader.js +132 -0
  21. package/dist/js/decode.d.ts +7 -0
  22. package/dist/js/decode.d.ts.map +1 -0
  23. package/dist/js/decode.js +22 -0
  24. package/dist/js/index.d.ts +6 -0
  25. package/dist/js/index.d.ts.map +1 -0
  26. package/dist/js/index.js +4 -0
  27. package/dist/js/types.d.ts +23 -0
  28. package/dist/js/types.d.ts.map +1 -0
  29. package/dist/js/utils/generatePresetCode.d.ts +13 -0
  30. package/dist/js/utils/generatePresetCode.d.ts.map +1 -0
  31. package/dist/js/utils/generatePresetCode.js +1249 -0
  32. package/dist/js/utils/generatePresetCode.template.d.ts +13 -0
  33. package/dist/js/utils/generatePresetCode.template.d.ts.map +1 -0
  34. package/dist/react/Shader.js +1 -1
  35. package/dist/react/components/Liquify.d.ts +4 -2
  36. package/dist/react/components/Liquify.d.ts.map +1 -1
  37. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  38. package/dist/react/utils/generatePresetCode.js +45 -8
  39. package/dist/react/utils/generatePresetCode.template.d.ts.map +1 -1
  40. package/dist/registry.js +50 -20
  41. package/dist/solid/components/Liquify.d.ts +4 -2
  42. package/dist/solid/components/Liquify.d.ts.map +1 -1
  43. package/dist/solid/engine/Shader.js +1 -1
  44. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  45. package/dist/solid/utils/generatePresetCode.js +51 -6
  46. package/dist/solid/utils/generatePresetCode.template.d.ts.map +1 -1
  47. package/dist/svelte/components/Liquify.svelte.d.ts +2 -1
  48. package/dist/svelte/engine/Preview.svelte.d.ts +11 -25
  49. package/dist/svelte/engine/PreviewRenderComponent.svelte.d.ts +5 -19
  50. package/dist/svelte/{generatePresetCode-Bpe8YcaW.js → generatePresetCode-6ecNqXs9.js} +34 -6
  51. package/dist/svelte/index.js +41 -67
  52. package/dist/svelte/source/components/Liquify.svelte +1 -0
  53. package/dist/svelte/source/engine/Preview.svelte +49 -35
  54. package/dist/svelte/source/engine/PreviewRenderComponent.svelte +9 -5
  55. package/dist/svelte/utils/generatePresetCode.js +1 -1
  56. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +3 -2
  57. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/dist/vue/components/Liquify.vue.d.ts +2 -1
  59. package/dist/vue/components/Liquify.vue.d.ts.map +1 -1
  60. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  61. package/dist/vue/utils/generatePresetCode.js +48 -10
  62. package/dist/vue/utils/generatePresetCode.template.d.ts.map +1 -1
  63. package/package.json +15 -1
  64. package/dist/core/Liquify-Cy6ck3_k.js +0 -157
@@ -1,157 +0,0 @@
1
- import { t as applyEdgeHandling } from "./edges-CfGcQniB.js";
2
- import { c as transformEdges } from "./transformations-B5lM6fYX.js";
3
- import { t as unpremultiplyAlpha } from "./alpha-C4ptedXe.js";
4
- import { DataTexture, FloatType, LinearFilter, RGFormat } from "three";
5
- import { convertToTexture, float, screenUV, texture, uniform, vec2, vec4 } from "three/tsl";
6
- var GRID_SIZE = 32;
7
- var displacementStateCache = /* @__PURE__ */ new WeakMap();
8
- var getOrCreateDisplacementState = (uniforms) => {
9
- let state = displacementStateCache.get(uniforms);
10
- if (!state) {
11
- const data = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
12
- const dataTexture = new DataTexture(data, GRID_SIZE, GRID_SIZE, RGFormat, FloatType);
13
- dataTexture.magFilter = LinearFilter;
14
- dataTexture.minFilter = LinearFilter;
15
- dataTexture.needsUpdate = true;
16
- state = {
17
- dataTexture,
18
- data,
19
- tslNode: texture(dataTexture),
20
- initialized: false
21
- };
22
- displacementStateCache.set(uniforms, state);
23
- }
24
- return state;
25
- };
26
- const componentDefinition = {
27
- name: "Liquify",
28
- category: "Interactive",
29
- description: "Liquid-like interactive deformation effect",
30
- requiresRTT: true,
31
- requiresChild: true,
32
- props: {
33
- intensity: {
34
- default: 1,
35
- description: "Strength of the distortion effect",
36
- ui: {
37
- type: "range",
38
- min: 0,
39
- max: 5,
40
- step: .1,
41
- label: "Intensity",
42
- group: "Effect"
43
- }
44
- },
45
- decay: {
46
- default: 3,
47
- description: "Rate of distortion decay (higher = faster)",
48
- ui: {
49
- type: "range",
50
- min: 0,
51
- max: 10,
52
- step: .1,
53
- label: "Decay",
54
- group: "Effect"
55
- }
56
- },
57
- radius: {
58
- default: 1,
59
- description: "Radius of the distortion effect",
60
- ui: {
61
- type: "range",
62
- min: 0,
63
- max: 3,
64
- step: .1,
65
- label: "Radius",
66
- group: "Effect"
67
- }
68
- },
69
- edges: {
70
- default: "stretch",
71
- description: "How to handle edges when distortion pushes content out of bounds",
72
- transform: transformEdges,
73
- compileTime: true,
74
- ui: {
75
- type: "select",
76
- options: [
77
- {
78
- label: "Stretch",
79
- value: "stretch"
80
- },
81
- {
82
- label: "Transparent",
83
- value: "transparent"
84
- },
85
- {
86
- label: "Mirror",
87
- value: "mirror"
88
- },
89
- {
90
- label: "Wrap",
91
- value: "wrap"
92
- }
93
- ],
94
- label: "Edges",
95
- group: "Effect"
96
- }
97
- }
98
- },
99
- fragmentNode: ({ uniforms, onBeforeRender, childNode, onCleanup }) => {
100
- const { dataTexture: displacementTexture, data: displacementData, tslNode: displacementField } = getOrCreateDisplacementState(uniforms);
101
- const mouseVelX = uniform(0);
102
- const mouseVelY = uniform(0);
103
- let prevX = .5;
104
- let prevY = .5;
105
- let lastTime = Date.now();
106
- onBeforeRender(({ pointer, dimensions }) => {
107
- const currentTime = Date.now();
108
- const dt = Math.min((currentTime - lastTime) / 1e3, .016);
109
- lastTime = currentTime;
110
- const aspect = dimensions.width / dimensions.height;
111
- const velX = dt > 0 ? (pointer.x - prevX) / dt : 0;
112
- const velY = dt > 0 ? (pointer.y - prevY) / dt : 0;
113
- mouseVelX.value = mouseVelX.value * .85 + velX * .15;
114
- mouseVelY.value = mouseVelY.value * .85 + velY * .15;
115
- const decay = uniforms.decay.uniform.value;
116
- const intensity = uniforms.intensity.uniform.value;
117
- const radius = uniforms.radius.uniform.value * .05;
118
- for (let i = 0; i < GRID_SIZE; i++) for (let j = 0; j < GRID_SIZE; j++) {
119
- const idx = (i * GRID_SIZE + j) * 2;
120
- displacementData[idx] *= 1 - decay * dt;
121
- displacementData[idx + 1] *= 1 - decay * dt;
122
- const cellX = (j + .5) / GRID_SIZE;
123
- const cellY = (i + .5) / GRID_SIZE;
124
- const dx = aspect >= 1 ? (cellX - pointer.x) * aspect : cellX - pointer.x;
125
- const dy = aspect >= 1 ? cellY - pointer.y : (cellY - pointer.y) / aspect;
126
- const dist = Math.sqrt(dx * dx + dy * dy);
127
- if (dist < radius * 2 && Math.abs(velX) + Math.abs(velY) > .01) {
128
- const influence = Math.exp(-dist * dist / (radius * radius));
129
- displacementData[idx] += mouseVelX.value * influence * intensity * dt * .5;
130
- displacementData[idx + 1] += mouseVelY.value * influence * intensity * dt * .5;
131
- }
132
- displacementData[idx] = Math.max(-1, Math.min(1, displacementData[idx]));
133
- displacementData[idx + 1] = Math.max(-1, Math.min(1, displacementData[idx + 1]));
134
- }
135
- displacementTexture.needsUpdate = true;
136
- prevX = pointer.x;
137
- prevY = pointer.y;
138
- });
139
- onCleanup(() => {
140
- displacementTexture.dispose();
141
- displacementStateCache.delete(uniforms);
142
- });
143
- if (!childNode) return vec4(0, 0, 0, 0);
144
- const childTexture = convertToTexture(childNode);
145
- onCleanup(() => {
146
- if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
147
- });
148
- const displacement = displacementField.sample(screenUV).xy;
149
- const maxDisplacement = float(.2);
150
- const negMaxDisplacement = float(-.2);
151
- const clampedDisplacement = displacement.clamp(vec2(negMaxDisplacement, negMaxDisplacement), vec2(maxDisplacement, maxDisplacement));
152
- const distortedUV = screenUV.sub(clampedDisplacement);
153
- return unpremultiplyAlpha(applyEdgeHandling(distortedUV, childTexture.sample(distortedUV), childTexture, uniforms.edges.uniform.value));
154
- }
155
- };
156
- var Liquify_default = componentDefinition;
157
- export { componentDefinition as n, Liquify_default as t };