shaders 2.5.85 → 2.5.87

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 (209) hide show
  1. package/README.md +1 -1
  2. package/dist/core/Crystal-z-2qqfhQ.js +394 -0
  3. package/dist/core/{Glass-BioLeiH6.js → Glass-BDHs6Enu.js} +40 -19
  4. package/dist/core/{VideoTexture-Dbsbgb1Y.js → VideoTexture-ChFw0jKS.js} +1 -1
  5. package/dist/core/{WebcamTexture-xvb8MuFz.js → WebcamTexture-CF1nwkNG.js} +1 -1
  6. package/dist/core/effects/glass.d.ts.map +1 -1
  7. package/dist/core/index.js +105 -77
  8. package/dist/core/registry.js +76 -75
  9. package/dist/core/renderer.d.ts.map +1 -1
  10. package/dist/core/shaderRegistry-O96t1zA9.js +222 -0
  11. package/dist/core/shaderRegistry.d.ts.map +1 -1
  12. package/dist/core/shaders/Crystal/index.d.ts +152 -0
  13. package/dist/core/shaders/Crystal/index.d.ts.map +1 -0
  14. package/dist/core/shaders/Crystal/index.js +4 -0
  15. package/dist/core/shaders/CursorRipples/index.js +1 -1
  16. package/dist/core/shaders/CursorTrail/index.js +1 -1
  17. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  18. package/dist/core/shaders/Dither/index.js +1 -1
  19. package/dist/core/shaders/DotGrid/index.js +1 -1
  20. package/dist/core/shaders/Duotone/index.js +1 -1
  21. package/dist/core/shaders/Ellipse/index.js +1 -1
  22. package/dist/core/shaders/Emboss/index.js +1 -1
  23. package/dist/core/shaders/FallingLines/index.js +1 -1
  24. package/dist/core/shaders/FilmGrain/index.js +1 -1
  25. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  26. package/dist/core/shaders/FlowField/index.js +1 -1
  27. package/dist/core/shaders/Flower/index.js +1 -1
  28. package/dist/core/shaders/FlowingGradient/index.js +1 -1
  29. package/dist/core/shaders/Form3D/index.js +1 -1
  30. package/dist/core/shaders/Glass/index.d.ts.map +1 -1
  31. package/dist/core/shaders/Glass/index.js +1 -1
  32. package/dist/core/shaders/GlassTiles/index.js +1 -1
  33. package/dist/core/shaders/Glitch/index.js +1 -1
  34. package/dist/core/shaders/Glow/index.js +1 -1
  35. package/dist/core/shaders/Godrays/index.js +1 -1
  36. package/dist/core/shaders/Grayscale/index.js +1 -1
  37. package/dist/core/shaders/Grid/index.js +1 -1
  38. package/dist/core/shaders/GridDistortion/index.js +1 -1
  39. package/dist/core/shaders/Group/index.js +1 -1
  40. package/dist/core/shaders/Halftone/index.js +1 -1
  41. package/dist/core/shaders/HueShift/index.js +1 -1
  42. package/dist/core/shaders/ImageTexture/index.js +1 -1
  43. package/dist/core/shaders/Invert/index.js +1 -1
  44. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  45. package/dist/core/shaders/LensFlare/index.js +1 -1
  46. package/dist/core/shaders/LinearBlur/index.js +1 -1
  47. package/dist/core/shaders/LinearGradient/index.js +1 -1
  48. package/dist/core/shaders/Liquify/index.js +1 -1
  49. package/dist/core/shaders/Mirror/index.js +1 -1
  50. package/dist/core/shaders/Neon/index.js +1 -1
  51. package/dist/core/shaders/Paper/index.js +1 -1
  52. package/dist/core/shaders/Perspective/index.js +1 -1
  53. package/dist/core/shaders/Pixelate/index.js +1 -1
  54. package/dist/core/shaders/Plasma/index.js +1 -1
  55. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  56. package/dist/core/shaders/Polygon/index.js +1 -1
  57. package/dist/core/shaders/Posterize/index.js +1 -1
  58. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  59. package/dist/core/shaders/RadialGradient/index.js +1 -1
  60. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  61. package/dist/core/shaders/Ring/index.js +1 -1
  62. package/dist/core/shaders/Ripples/index.js +1 -1
  63. package/dist/core/shaders/RoundedRect/index.js +1 -1
  64. package/dist/core/shaders/Saturation/index.js +1 -1
  65. package/dist/core/shaders/Sharpness/index.js +1 -1
  66. package/dist/core/shaders/Shatter/index.js +1 -1
  67. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  68. package/dist/core/shaders/SineWave/index.js +1 -1
  69. package/dist/core/shaders/SolidColor/index.js +1 -1
  70. package/dist/core/shaders/Spherize/index.js +1 -1
  71. package/dist/core/shaders/Spiral/index.js +1 -1
  72. package/dist/core/shaders/Star/index.js +1 -1
  73. package/dist/core/shaders/Strands/index.js +1 -1
  74. package/dist/core/shaders/Stretch/index.js +1 -1
  75. package/dist/core/shaders/Stripes/index.js +1 -1
  76. package/dist/core/shaders/StudioBackground/index.js +1 -1
  77. package/dist/core/shaders/Swirl/index.js +1 -1
  78. package/dist/core/shaders/TiltShift/index.js +1 -1
  79. package/dist/core/shaders/Tint/index.js +1 -1
  80. package/dist/core/shaders/Trapezoid/index.js +1 -1
  81. package/dist/core/shaders/Tritone/index.js +1 -1
  82. package/dist/core/shaders/Twirl/index.js +1 -1
  83. package/dist/core/shaders/Vesica/index.js +1 -1
  84. package/dist/core/shaders/Vibrance/index.js +1 -1
  85. package/dist/core/shaders/VideoTexture/index.js +2 -2
  86. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  87. package/dist/core/shaders/WebcamTexture/index.js +2 -2
  88. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  89. package/dist/core/types.d.ts +3 -0
  90. package/dist/core/types.d.ts.map +1 -1
  91. package/dist/core/utilities/uniforms.d.ts.map +1 -1
  92. package/dist/js/createShader.js +1 -1
  93. package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
  94. package/dist/js/utils/generatePresetCode.js +27 -0
  95. package/dist/react/Crystal.js +181 -0
  96. package/dist/react/Preview.js +1 -0
  97. package/dist/react/Shader.js +1 -1
  98. package/dist/react/components/Crystal.d.ts +33 -0
  99. package/dist/react/components/Crystal.d.ts.map +1 -0
  100. package/dist/react/engine/Preview.d.ts.map +1 -1
  101. package/dist/react/index.d.ts +1 -0
  102. package/dist/react/index.d.ts.map +1 -1
  103. package/dist/react/index.js +2 -1
  104. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  105. package/dist/react/utils/generatePresetCode.js +27 -0
  106. package/dist/registry.js +454 -0
  107. package/dist/solid/components/Crystal.d.ts +30 -0
  108. package/dist/solid/components/Crystal.d.ts.map +1 -0
  109. package/dist/solid/components/Crystal.js +183 -0
  110. package/dist/solid/engine/Preview.d.ts.map +1 -1
  111. package/dist/solid/engine/Preview.js +38 -36
  112. package/dist/solid/engine/Shader.js +1 -1
  113. package/dist/solid/index.d.ts +1 -0
  114. package/dist/solid/index.d.ts.map +1 -1
  115. package/dist/solid/index.js +152 -150
  116. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  117. package/dist/solid/utils/generatePresetCode.js +27 -0
  118. package/dist/svelte/components/Crystal.svelte.d.ts +20 -0
  119. package/dist/svelte/{generatePresetCode-B9QYLcji.js → generatePresetCode-BzFhasGi.js} +27 -0
  120. package/dist/svelte/index.d.ts +1 -0
  121. package/dist/svelte/index.js +477 -330
  122. package/dist/svelte/source/components/Crystal.svelte +287 -0
  123. package/dist/svelte/source/engine/Preview.svelte +2 -0
  124. package/dist/svelte/source/index.js +1 -0
  125. package/dist/svelte/utils/generatePresetCode.js +1 -1
  126. package/dist/vue/Crystal.js +3 -0
  127. package/dist/vue/Crystal.vue_vue_type_script_setup_true_lang.js +186 -0
  128. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  129. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  130. package/dist/vue/components/Crystal.vue.d.ts +55 -0
  131. package/dist/vue/components/Crystal.vue.d.ts.map +1 -0
  132. package/dist/vue/index.d.ts +1 -0
  133. package/dist/vue/index.d.ts.map +1 -1
  134. package/dist/vue/index.js +2 -1
  135. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  136. package/dist/vue/utils/generatePresetCode.js +27 -0
  137. package/package.json +9 -1
  138. package/dist/core/shaderRegistry-ClxU5BC7.js +0 -220
  139. /package/dist/core/{CursorRipples-BY1iu4MX.js → CursorRipples-CkVMs3DF.js} +0 -0
  140. /package/dist/core/{CursorTrail-BzrL2WMh.js → CursorTrail-1D7ymT9O.js} +0 -0
  141. /package/dist/core/{DiffuseBlur-Dyd42LXw.js → DiffuseBlur-BAq1jHVB.js} +0 -0
  142. /package/dist/core/{Dither-CTInG_SB.js → Dither-U_UFB8oZ.js} +0 -0
  143. /package/dist/core/{DotGrid-CsL0dnYB.js → DotGrid-BzAsAVrt.js} +0 -0
  144. /package/dist/core/{Duotone-BbCFLFMK.js → Duotone-CuIRHH_k.js} +0 -0
  145. /package/dist/core/{Ellipse-CZWtvB3q.js → Ellipse-CJFK20Xl.js} +0 -0
  146. /package/dist/core/{Emboss-DCKgs4_G.js → Emboss-DWXpvlZO.js} +0 -0
  147. /package/dist/core/{FallingLines-DBNJVWio.js → FallingLines-BQzBwOy0.js} +0 -0
  148. /package/dist/core/{FilmGrain-CSuerGc6.js → FilmGrain-Birzz05_.js} +0 -0
  149. /package/dist/core/{FloatingParticles-CoBM_CJ8.js → FloatingParticles-shoqY6fm.js} +0 -0
  150. /package/dist/core/{FlowField-Bh3-dX6I.js → FlowField-CJdtd3Za.js} +0 -0
  151. /package/dist/core/{Flower-fYEx6ZSB.js → Flower-BST3LQVi.js} +0 -0
  152. /package/dist/core/{FlowingGradient-DVproCI1.js → FlowingGradient-Dsuqf7Yn.js} +0 -0
  153. /package/dist/core/{Form3D-DhezVuyN.js → Form3D-Czd8VBcU.js} +0 -0
  154. /package/dist/core/{GlassTiles-ClrOIpCg.js → GlassTiles-CQFngHS9.js} +0 -0
  155. /package/dist/core/{Glitch-DmWytiRl.js → Glitch-q3H4XH_K.js} +0 -0
  156. /package/dist/core/{Glow-Dm4dfZ_m.js → Glow-BltxRvyM.js} +0 -0
  157. /package/dist/core/{Godrays-CYILZUHg.js → Godrays-YxezlRHu.js} +0 -0
  158. /package/dist/core/{Grayscale-CPR_l4G2.js → Grayscale-D_RwmAV3.js} +0 -0
  159. /package/dist/core/{Grid-CCQZ3GhD.js → Grid-CV2iJqlk.js} +0 -0
  160. /package/dist/core/{GridDistortion-oGT8NaWa.js → GridDistortion-JCuvWcoV.js} +0 -0
  161. /package/dist/core/{Group-CC317vlL.js → Group-CeA8FtS3.js} +0 -0
  162. /package/dist/core/{Halftone-BZk1Hjz_.js → Halftone-4oL_AA-D.js} +0 -0
  163. /package/dist/core/{HueShift-CuE3YTBE.js → HueShift-7Gv8BV4v.js} +0 -0
  164. /package/dist/core/{ImageTexture-DWUSKXX0.js → ImageTexture-BaVcRld1.js} +0 -0
  165. /package/dist/core/{Invert-C9RiDYP_.js → Invert-D_jzp4D9.js} +0 -0
  166. /package/dist/core/{Kaleidoscope-DtVlQWKG.js → Kaleidoscope-Baz9Fu8k.js} +0 -0
  167. /package/dist/core/{LensFlare-AVpiDD1O.js → LensFlare-Dyv84bAb.js} +0 -0
  168. /package/dist/core/{LinearBlur-AR65FcZh.js → LinearBlur-ZGWbzIt4.js} +0 -0
  169. /package/dist/core/{LinearGradient-DXCXjS-K.js → LinearGradient-CZGPiyHq.js} +0 -0
  170. /package/dist/core/{Liquify-mhzPd19o.js → Liquify-DrWLq2Kz.js} +0 -0
  171. /package/dist/core/{Mirror-CSc5mJi1.js → Mirror-C5LuGm-w.js} +0 -0
  172. /package/dist/core/{Neon-uXetpVop.js → Neon-gsfaMvGq.js} +0 -0
  173. /package/dist/core/{Paper-DfUka0dt.js → Paper-BVuYd7u4.js} +0 -0
  174. /package/dist/core/{Perspective-uPiPmWy_.js → Perspective-CqV-lhEE.js} +0 -0
  175. /package/dist/core/{Pixelate-DRkAW4Lo.js → Pixelate-DrG7QsBR.js} +0 -0
  176. /package/dist/core/{Plasma-ELzbK-Us.js → Plasma-LpGeN0eG.js} +0 -0
  177. /package/dist/core/{PolarCoordinates-CalS_TB6.js → PolarCoordinates-CiNUC56M.js} +0 -0
  178. /package/dist/core/{Polygon-7mzxbJeF.js → Polygon-BeqB8MSz.js} +0 -0
  179. /package/dist/core/{Posterize-C4vtRmtA.js → Posterize-CGEUVRt_.js} +0 -0
  180. /package/dist/core/{ProgressiveBlur-CLYhfOvQ.js → ProgressiveBlur-jEam9zrU.js} +0 -0
  181. /package/dist/core/{RadialGradient-DtD8HWdM.js → RadialGradient-BMmhr2qB.js} +0 -0
  182. /package/dist/core/{RectangularCoordinates-B96mflF5.js → RectangularCoordinates-Cj-d2ol3.js} +0 -0
  183. /package/dist/core/{Ring-H6B01ZMz.js → Ring-DJl9JUMR.js} +0 -0
  184. /package/dist/core/{Ripples-Cevf-Hvg.js → Ripples-r12S7WG7.js} +0 -0
  185. /package/dist/core/{RoundedRect-OszKdYVD.js → RoundedRect--rHP7xW4.js} +0 -0
  186. /package/dist/core/{Saturation-CcDwPh2v.js → Saturation-BAORnZso.js} +0 -0
  187. /package/dist/core/{Sharpness-D_dXfDEo.js → Sharpness-CFzYBYlL.js} +0 -0
  188. /package/dist/core/{Shatter-NfZzVt54.js → Shatter-avsezFDy.js} +0 -0
  189. /package/dist/core/{SimplexNoise-aipzNV5j.js → SimplexNoise-BjoeAe6H.js} +0 -0
  190. /package/dist/core/{SineWave-CVeYx3n-.js → SineWave-B-2YxAht.js} +0 -0
  191. /package/dist/core/{SolidColor-BdbBnLxX.js → SolidColor-2o0vQu86.js} +0 -0
  192. /package/dist/core/{Spherize-BRGwLGeu.js → Spherize-DKJKva6y.js} +0 -0
  193. /package/dist/core/{Spiral-BkTBXb7z.js → Spiral-Dzsm_AJG.js} +0 -0
  194. /package/dist/core/{Star-CyjNgJVp.js → Star-CxI_taxd.js} +0 -0
  195. /package/dist/core/{Strands-Cjsw-cPu.js → Strands-42wUIQMv.js} +0 -0
  196. /package/dist/core/{Stretch-9cta3Z1W.js → Stretch-BVPICFxU.js} +0 -0
  197. /package/dist/core/{Stripes-C0sCGCz_.js → Stripes-DpWPzhd5.js} +0 -0
  198. /package/dist/core/{StudioBackground-BYv_-8df.js → StudioBackground-CxOYZ28g.js} +0 -0
  199. /package/dist/core/{Swirl-DXjIXfy7.js → Swirl-CaQpQWY2.js} +0 -0
  200. /package/dist/core/{TiltShift-56lcZ4cJ.js → TiltShift-yJYvxA1V.js} +0 -0
  201. /package/dist/core/{Tint-8_WIy9_e.js → Tint-BR2yMhfB.js} +0 -0
  202. /package/dist/core/{Trapezoid-SuI0dRgI.js → Trapezoid-D7qg9Gc5.js} +0 -0
  203. /package/dist/core/{Tritone-nyJyybHI.js → Tritone-PTTYWr_w.js} +0 -0
  204. /package/dist/core/{Twirl-BzSEz4xK.js → Twirl-CE2yzv3_.js} +0 -0
  205. /package/dist/core/{Vesica-Cj--pgNW.js → Vesica-p8oNtcOH.js} +0 -0
  206. /package/dist/core/{Vibrance-BETLN3Ie.js → Vibrance-CljpZu_J.js} +0 -0
  207. /package/dist/core/{WaveDistortion-C-j597Jm.js → WaveDistortion-BSt0JJbk.js} +0 -0
  208. /package/dist/core/{ZoomBlur-DFw0J9x3.js → ZoomBlur-CAeswzf5.js} +0 -0
  209. /package/dist/core/{browser-CqdrcD5J.js → browser-CWKHEzb9.js} +0 -0
@@ -0,0 +1,287 @@
1
+ <script lang="ts">
2
+ import { getContext, setContext, onMount, onDestroy } from 'svelte';
3
+ import {
4
+ createUniformsMap,
5
+ type UniformsMap,
6
+ type BlendMode,
7
+ type NodeMetadata,
8
+ type PropConfig,
9
+ type MaskConfig,
10
+ type PropDriver,
11
+ type TransformConfig
12
+ } from '../../../core/index.js';
13
+ import {setColorSpaceMode} from '../../../core/utilities/transformations/index.js';
14
+
15
+ // @ts-ignore - this import is replaced at build time
16
+ import { componentDefinition, type ComponentProps } from '../../../core/shaders/Crystal/index.js';
17
+
18
+ /**
19
+ * Define component props including blend mode, opacity, visibility, masking, and transformation
20
+ */
21
+ interface ExtendedComponentProps extends Partial<ComponentProps> {
22
+ center?: ComponentProps['center'] | PropDriver;
23
+ blendMode?: BlendMode;
24
+ opacity?: number;
25
+ visible?: boolean;
26
+ id?: string;
27
+ maskSource?: string;
28
+ maskType?: string;
29
+ renderOrder?: number;
30
+ transform?: Partial<TransformConfig>;
31
+ children?: import('svelte').Snippet;
32
+ }
33
+
34
+ function isPropDriver(value: unknown): value is PropDriver {
35
+ return typeof value === 'object' && value !== null && 'type' in value &&
36
+ ((value as any).type === 'map' || (value as any).type === 'mouse' || (value as any).type === 'mouse-position' || (value as any).type === 'auto-animate');
37
+ }
38
+
39
+ /**
40
+ * Default transform configuration (optimized for zero overhead)
41
+ */
42
+ const DEFAULT_TRANSFORM: TransformConfig = {
43
+ offsetX: 0,
44
+ offsetY: 0,
45
+ rotation: 0,
46
+ scale: 1,
47
+ anchorX: 0.5,
48
+ anchorY: 0.5,
49
+ edges: 'transparent'
50
+ };
51
+
52
+ // Define the component props and their default values from the shader definition
53
+ const componentDefaults = {
54
+ blendMode: 'normal' as BlendMode,
55
+ visible: true,
56
+ // opacity intentionally has no default - handled by renderer
57
+ // transform intentionally has no default - handled by effectiveTransform
58
+ ...Object.entries(componentDefinition.props).reduce(
59
+ (acc, [key, config]) => {
60
+ acc[key] = (config as unknown as PropConfig<typeof config>).default;
61
+ return acc;
62
+ },
63
+ {} as Record<string, any>
64
+ )
65
+ };
66
+
67
+ // Declare props using Svelte 5's syntax
68
+ const props: ExtendedComponentProps = $props();
69
+
70
+ // Apply defaults manually since Svelte 5 doesn't have withDefaults equivalent
71
+ // Use $derived so the metadata $effect re-runs when any of these change at runtime
72
+ const blendMode = $derived(props.blendMode ?? componentDefaults.blendMode);
73
+ const opacity = $derived(props.opacity); // No default - handled by renderer
74
+ const visible = $derived(props.visible ?? componentDefaults.visible); // Default to true
75
+ const id = $derived(props.id);
76
+ const maskSource = $derived(props.maskSource);
77
+ const maskType = $derived(props.maskType);
78
+ const renderOrder = $derived(props.renderOrder);
79
+ const { children } = props;
80
+
81
+ // Collect PropDriver values from shader props into the maps metadata structure
82
+ const mapsFromProps = $derived.by(() => {
83
+ const maps: Record<string, PropDriver> = {};
84
+ for (const key of Object.keys(componentDefinition.props)) {
85
+ const val = (props as any)[key];
86
+ if (isPropDriver(val)) maps[key] = val as PropDriver;
87
+ }
88
+ return Object.keys(maps).length > 0 ? maps : undefined;
89
+ });
90
+
91
+ /**
92
+ * Computed transform that merges user-provided values with defaults
93
+ */
94
+ const effectiveTransform = $derived({
95
+ ...DEFAULT_TRANSFORM,
96
+ ...props.transform
97
+ });
98
+
99
+ /**
100
+ * FIRST: Get the parent ID from context BEFORE setting our own context
101
+ */
102
+ const parentId = getContext<string>('shaderParentId');
103
+ if (parentId === undefined) {
104
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
105
+ }
106
+
107
+ /**
108
+ * Use the provided ID or generate a unique identifier for this component instance
109
+ */
110
+ const instanceId = (id ? id.replace(/[^a-zA-Z0-9_]/g, '_') : null) || Math.random().toString(36).substring(2, 10);
111
+
112
+ /**
113
+ * THEN: Provide our unique identifier to child components
114
+ */
115
+ setContext('shaderParentId', instanceId);
116
+
117
+ /**
118
+ * Creates a non-reactive object containing only props that differ from defaults
119
+ * This optimization prevents unnecessary GPU uniform updates for unchanged values
120
+ * Special props like blendMode and opacity are handled separately
121
+ */
122
+ const shaderReadyProps = $derived.by(() => {
123
+ let baseProps = { ...componentDefaults };
124
+
125
+ // Only include props that differ from defaults (excluding special props and PropDrivers)
126
+ for (const key in props) {
127
+ if (key !== 'blendMode' && key !== 'opacity' && key !== 'visible' &&
128
+ key !== 'id' && key !== 'maskSource' && key !== 'maskType' && key !== 'renderOrder' &&
129
+ key !== 'transform' && key !== 'children') {
130
+ const propValue = (props as any)[key];
131
+ if (isPropDriver(propValue)) continue; // PropDrivers go to metadata.maps, not uniforms
132
+ const defaultValue = (componentDefaults as any)[key];
133
+ if (propValue !== undefined && propValue !== defaultValue) {
134
+ (baseProps as any)[key] = propValue;
135
+ }
136
+ }
137
+ }
138
+ return baseProps;
139
+ });
140
+
141
+ /**
142
+ * Get the color space from the root Shader component.
143
+ * Used to set the global color space mode before creating uniforms.
144
+ */
145
+ const shaderColorSpace = getContext<() => 'p3-linear' | 'srgb'>('shaderColorSpace');
146
+
147
+ /**
148
+ * Creates the GPU uniform values map using only the changed props
149
+ * Set the global color space mode before creating uniforms so colors are transformed correctly
150
+ * Note: Intentionally captures initial value - props are immutable after initialization
151
+ */
152
+ if (shaderColorSpace) {
153
+ setColorSpaceMode(shaderColorSpace());
154
+ }
155
+ // svelte-ignore state_referenced_locally
156
+ const uniforms: UniformsMap = createUniformsMap(componentDefinition, shaderReadyProps, instanceId);
157
+
158
+ /**
159
+ * Get the node registration function from parent context
160
+ */
161
+ const parentRegister = getContext<(id: string, fragmentNodeFunc: any, parentId: string | null, metadata: NodeMetadata | null, uniforms: UniformsMap | null, componentDefinition: any) => void>('shaderNodeRegister');
162
+ if (parentRegister === undefined) {
163
+ throw new Error('Shader components must be used inside an <Shader> component or another shader component');
164
+ }
165
+
166
+ /**
167
+ * Get the uniform update function from parent context
168
+ */
169
+ const parentUniformUpdate = getContext<(nodeId: string, uniformName: string, value: any) => void>('shaderUniformUpdate');
170
+ if (parentUniformUpdate === undefined) {
171
+ throw new Error('Shader components require shaderUniformUpdate from parent');
172
+ }
173
+
174
+ /**
175
+ * Get the metadata update function from parent context
176
+ */
177
+ const parentMetadataUpdate = getContext<(nodeId: string, metadata: NodeMetadata) => void>('shaderMetadataUpdate');
178
+ if (parentMetadataUpdate === undefined) {
179
+ throw new Error('Shader components require shaderMetadataUpdate from parent');
180
+ }
181
+
182
+ // DOM marker ref for determining render order from template position
183
+ let orderMarker: HTMLSpanElement;
184
+
185
+ // Stores the DOM-detected render order
186
+ let detectedRenderOrder: number | undefined = undefined;
187
+
188
+ // Flag to track when component is registered
189
+ let isRegistered = $state(false);
190
+
191
+ // Setup uniform watchers with registration guard
192
+ Object.entries(uniforms).forEach(([propName, { uniform, transform }]) => {
193
+ $effect(() => {
194
+ // Only run after component is registered
195
+ if (!isRegistered) return;
196
+
197
+ if (uniform && uniform.value !== undefined) {
198
+ const newValue = (props as any)[propName];
199
+ if (newValue !== undefined && !isPropDriver(newValue)) {
200
+ // Send raw value - renderer will handle transformation
201
+ // PropDriver values go to metadata.maps, not uniforms
202
+ parentUniformUpdate(instanceId, propName, newValue);
203
+ }
204
+ }
205
+ });
206
+ });
207
+
208
+ // Watch blend mode, opacity, visibility, masking, transformations, and prop maps changes
209
+ $effect(() => {
210
+ // Only run after component is registered
211
+ if (!isRegistered) return;
212
+
213
+ const metadata: NodeMetadata = {
214
+ blendMode,
215
+ opacity,
216
+ visible: visible === false ? false : true,
217
+ id,
218
+ mask: maskSource ? {
219
+ source: maskSource,
220
+ type: (maskType || 'alpha') as MaskConfig['type']
221
+ } : undefined,
222
+ maps: mapsFromProps,
223
+ renderOrder: renderOrder ?? detectedRenderOrder,
224
+ transform: effectiveTransform
225
+ };
226
+ parentMetadataUpdate(instanceId, metadata);
227
+ });
228
+
229
+ // Register this component after mount to ensure parent is ready
230
+ onMount(() => {
231
+ // Register this component with safety check
232
+ if (componentDefinition && typeof componentDefinition.fragmentNode === 'function') {
233
+ parentRegister(
234
+ instanceId,
235
+ componentDefinition.fragmentNode,
236
+ parentId,
237
+ {
238
+ blendMode,
239
+ opacity,
240
+ visible: visible !== false ? true : false,
241
+ id,
242
+ mask: maskSource ? {
243
+ source: maskSource,
244
+ type: (maskType || 'alpha') as MaskConfig['type']
245
+ } as MaskConfig : undefined,
246
+ maps: mapsFromProps,
247
+ renderOrder: renderOrder ?? detectedRenderOrder,
248
+ transform: effectiveTransform
249
+ },
250
+ uniforms,
251
+ componentDefinition
252
+ );
253
+
254
+ // Set flag to enable effects after successful registration
255
+ isRegistered = true;
256
+
257
+ // Detect DOM position for correct render ordering
258
+ if (renderOrder === undefined && orderMarker) {
259
+ const parent = orderMarker.parentElement;
260
+ if (parent) {
261
+ const siblings = parent.querySelectorAll(':scope > [data-shader-id]');
262
+ const position = Array.from(siblings).indexOf(orderMarker);
263
+ if (position >= 0) {
264
+ detectedRenderOrder = position;
265
+ parentMetadataUpdate(instanceId, { renderOrder: position } as NodeMetadata);
266
+ }
267
+ }
268
+ }
269
+ } else {
270
+ console.error('componentDefinition.fragmentNode is not a function:', {
271
+ componentDefinition,
272
+ fragmentNode: componentDefinition?.fragmentNode,
273
+ type: typeof componentDefinition?.fragmentNode
274
+ });
275
+ }
276
+ });
277
+
278
+ // Clean up node from registry when component is unmounted
279
+ onDestroy(() => {
280
+ isRegistered = false;
281
+ parentRegister(instanceId, null, null, null, null);
282
+ });
283
+ </script>
284
+
285
+ <span bind:this={orderMarker} style="display:contents" data-shader-id={instanceId}>
286
+ {@render children?.()}
287
+ </span>
@@ -23,6 +23,7 @@ import ConcentricSpin from '../components/ConcentricSpin.svelte'
23
23
  import ContourLines from '../components/ContourLines.svelte'
24
24
  import Crescent from '../components/Crescent.svelte'
25
25
  import Cross from '../components/Cross.svelte'
26
+ import Crystal from '../components/Crystal.svelte'
26
27
  import CursorRipples from '../components/CursorRipples.svelte'
27
28
  import CursorTrail from '../components/CursorTrail.svelte'
28
29
  import DiffuseBlur from '../components/DiffuseBlur.svelte'
@@ -118,6 +119,7 @@ const componentMap: Record<string, any> = {
118
119
  ContourLines,
119
120
  Crescent,
120
121
  Cross,
122
+ Crystal,
121
123
  CursorRipples,
122
124
  CursorTrail,
123
125
  DiffuseBlur,
@@ -16,6 +16,7 @@ export { default as ConcentricSpin } from './components/ConcentricSpin.svelte';
16
16
  export { default as ContourLines } from './components/ContourLines.svelte';
17
17
  export { default as Crescent } from './components/Crescent.svelte';
18
18
  export { default as Cross } from './components/Cross.svelte';
19
+ export { default as Crystal } from './components/Crystal.svelte';
19
20
  export { default as CursorRipples } from './components/CursorRipples.svelte';
20
21
  export { default as CursorTrail } from './components/CursorTrail.svelte';
21
22
  export { default as DiffuseBlur } from './components/DiffuseBlur.svelte';
@@ -1,2 +1,2 @@
1
- import { n as generatePresetCode, t as availableComponents } from "../generatePresetCode-B9QYLcji.js";
1
+ import { n as generatePresetCode, t as availableComponents } from "../generatePresetCode-BzFhasGi.js";
2
2
  export { availableComponents, generatePresetCode };
@@ -0,0 +1,3 @@
1
+ import Crystal_vue_vue_type_script_setup_true_lang_default from "./Crystal.vue_vue_type_script_setup_true_lang.js";
2
+ var Crystal_default = Crystal_vue_vue_type_script_setup_true_lang_default;
3
+ export { Crystal_default as default };
@@ -0,0 +1,186 @@
1
+ import { computed, createElementBlock, defineComponent, effectScope, inject, mergeDefaults, onBeforeUnmount, onMounted, openBlock, provide, ref, renderSlot, toValue, unref, useId, watch } from "vue";
2
+ import { createUniformsMap } from "../core/index.js";
3
+ import { setColorSpaceMode } from "../core/utilities/transformations/index.js";
4
+ import { componentDefinition } from "../core/shaders/Crystal/index.js";
5
+ var _hoisted_1 = ["data-shader-id"];
6
+ var Crystal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
+ __name: "Crystal",
8
+ props: /* @__PURE__ */ mergeDefaults({
9
+ center: {},
10
+ blendMode: {},
11
+ opacity: {},
12
+ visible: { type: Boolean },
13
+ id: {},
14
+ maskSource: {},
15
+ maskType: {},
16
+ renderOrder: {},
17
+ transform: {},
18
+ scale: {},
19
+ refraction: {},
20
+ dispersion: {},
21
+ facets: {},
22
+ edgeSoftness: {},
23
+ innerZoom: {},
24
+ cutout: { type: Boolean },
25
+ lightAngle: {},
26
+ highlights: {},
27
+ shadows: {},
28
+ brightness: {},
29
+ fresnel: {},
30
+ fresnelSoftness: {},
31
+ fresnelColor: {},
32
+ tintColor: {},
33
+ tintIntensity: {},
34
+ tintPreserveLuminosity: { type: Boolean },
35
+ shape: {},
36
+ shapeSdfUrl: {},
37
+ shapeType: {}
38
+ }, {
39
+ blendMode: "normal",
40
+ visible: true,
41
+ ...Object.entries(componentDefinition.props).reduce((acc, [key, config]) => {
42
+ acc[key] = config.default;
43
+ return acc;
44
+ }, {})
45
+ }),
46
+ setup(__props) {
47
+ function isPropDriver(value) {
48
+ return typeof value === "object" && value !== null && "type" in value && (value.type === "map" || value.type === "mouse" || value.type === "mouse-position" || value.type === "auto-animate");
49
+ }
50
+ const props = __props;
51
+ const instanceId = (props.id ? props.id.replace(/[^a-zA-Z0-9_]/g, "_") : null) || useId().replace(/[^a-zA-Z0-9_]/g, "");
52
+ provide("shaderParentId", instanceId);
53
+ const DEFAULT_TRANSFORM = {
54
+ offsetX: 0,
55
+ offsetY: 0,
56
+ rotation: 0,
57
+ scale: 1,
58
+ anchorX: .5,
59
+ anchorY: .5,
60
+ edges: "transparent"
61
+ };
62
+ const effectiveTransform = computed(() => ({
63
+ ...DEFAULT_TRANSFORM,
64
+ ...props.transform
65
+ }));
66
+ const shaderReadyProps = computed(() => {
67
+ let baseProps = { ...Object.entries(componentDefinition.props).reduce((acc, [key, config]) => {
68
+ acc[key] = config.default;
69
+ return acc;
70
+ }, {}) };
71
+ for (const key in props) if (key !== "blendMode" && key !== "opacity" && key !== "visible" && key !== "id" && key !== "maskSource" && key !== "maskType" && key !== "renderOrder" && key !== "transform") {
72
+ const val = toValue(props[key]);
73
+ if (isPropDriver(val)) continue;
74
+ if (val !== Object.entries(componentDefinition.props).reduce((acc, [key$1, config]) => {
75
+ acc[key$1] = config.default;
76
+ return acc;
77
+ }, {})[key]) baseProps[key] = val;
78
+ }
79
+ return baseProps;
80
+ });
81
+ const mapsFromProps = computed(() => {
82
+ const maps = {};
83
+ for (const key of Object.keys(componentDefinition.props)) {
84
+ const val = props[key];
85
+ if (isPropDriver(val)) maps[key] = val;
86
+ }
87
+ return Object.keys(maps).length > 0 ? maps : void 0;
88
+ });
89
+ const shaderColorSpace = inject("shaderColorSpace");
90
+ if (shaderColorSpace) setColorSpaceMode(shaderColorSpace.value);
91
+ const uniforms = createUniformsMap(componentDefinition, shaderReadyProps.value, instanceId);
92
+ const parentId = inject("shaderParentId");
93
+ if (parentId === void 0) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
94
+ const parentRegister = inject("shaderNodeRegister");
95
+ if (parentRegister === void 0) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
96
+ const parentUniformUpdate = inject("shaderUniformUpdate");
97
+ if (parentUniformUpdate === void 0) throw new Error("Shader components require shaderUniformUpdate from parent");
98
+ const parentMetadataUpdate = inject("shaderMetadataUpdate");
99
+ if (parentMetadataUpdate === void 0) throw new Error("Shader components require shaderMetadataUpdate from parent");
100
+ const rendererResetSignal = inject("shaderRendererResetSignal");
101
+ const orderMarker = ref(null);
102
+ let detectedRenderOrder = void 0;
103
+ const registerWithRenderer = () => {
104
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, {
105
+ blendMode: props.blendMode,
106
+ opacity: props.opacity,
107
+ visible: props.visible === false ? false : true,
108
+ id: props.id,
109
+ mask: props.maskSource ? {
110
+ source: props.maskSource,
111
+ type: props.maskType || "alpha"
112
+ } : void 0,
113
+ maps: mapsFromProps.value,
114
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
115
+ transform: effectiveTransform.value
116
+ }, uniforms, componentDefinition);
117
+ };
118
+ onMounted(() => {
119
+ if (props.renderOrder === void 0 && orderMarker.value) {
120
+ const parent = orderMarker.value.parentElement;
121
+ if (parent) {
122
+ const siblings = parent.querySelectorAll(":scope > [data-shader-id]");
123
+ const position = Array.from(siblings).indexOf(orderMarker.value);
124
+ if (position >= 0) {
125
+ detectedRenderOrder = position;
126
+ parentMetadataUpdate(instanceId, { renderOrder: position });
127
+ }
128
+ }
129
+ }
130
+ });
131
+ const setupUniformWatchers = () => {
132
+ const scope = effectScope();
133
+ scope.run(() => {
134
+ Object.entries(uniforms).forEach(([propName, { uniform, transform }]) => {
135
+ watch(() => props[propName], (newValue) => {
136
+ if (uniform && uniform.value !== void 0 && !isPropDriver(newValue)) parentUniformUpdate(instanceId, propName, newValue);
137
+ }, { deep: true });
138
+ });
139
+ watch(() => [
140
+ props.blendMode,
141
+ props.opacity,
142
+ props.visible,
143
+ props.id,
144
+ props.maskSource,
145
+ props.maskType,
146
+ props.renderOrder,
147
+ props.transform,
148
+ mapsFromProps.value
149
+ ], ([blendMode, opacity, visible]) => {
150
+ parentMetadataUpdate(instanceId, {
151
+ blendMode,
152
+ opacity,
153
+ visible: visible === false ? false : true,
154
+ id: props.id,
155
+ mask: props.maskSource ? {
156
+ source: props.maskSource,
157
+ type: props.maskType || "alpha"
158
+ } : void 0,
159
+ maps: mapsFromProps.value,
160
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
161
+ transform: effectiveTransform.value
162
+ });
163
+ }, { deep: true });
164
+ if (rendererResetSignal) watch(() => rendererResetSignal.value, (newValue) => {
165
+ if (newValue > 0) registerWithRenderer();
166
+ }, { immediate: true });
167
+ });
168
+ onBeforeUnmount(() => {
169
+ scope.stop();
170
+ });
171
+ };
172
+ setupUniformWatchers();
173
+ onBeforeUnmount(() => {
174
+ parentRegister(instanceId, null, null, null, null, null);
175
+ });
176
+ return (_ctx, _cache) => {
177
+ return openBlock(), createElementBlock("span", {
178
+ ref_key: "orderMarker",
179
+ ref: orderMarker,
180
+ style: { "display": "contents" },
181
+ "data-shader-id": unref(instanceId)
182
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1);
183
+ };
184
+ }
185
+ });
186
+ export { Crystal_vue_vue_type_script_setup_true_lang_default as default };
@@ -16,6 +16,7 @@ import ConcentricSpin_default from "./ConcentricSpin.js";
16
16
  import ContourLines_default from "./ContourLines.js";
17
17
  import Crescent_default from "./Crescent.js";
18
18
  import Cross_default from "./Cross.js";
19
+ import Crystal_default from "./Crystal.js";
19
20
  import CursorRipples_default from "./CursorRipples.js";
20
21
  import CursorTrail_default from "./CursorTrail.js";
21
22
  import DiffuseBlur_default from "./DiffuseBlur.js";
@@ -162,6 +163,7 @@ var Preview_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
162
163
  ContourLines: ContourLines_default,
163
164
  Crescent: Crescent_default,
164
165
  Cross: Cross_default,
166
+ Crystal: Crystal_default,
165
167
  CursorRipples: CursorRipples_default,
166
168
  CursorTrail: CursorTrail_default,
167
169
  DiffuseBlur: DiffuseBlur_default,
@@ -60,7 +60,7 @@ var Shader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
60
60
  const startTelemetryWhenReady = () => {
61
61
  const checkRendering = () => {
62
62
  if (rendererInstance.value.getPerformanceStats().fps > 0) {
63
- telemetryCollector = startTelemetry(rendererInstance.value, "2.5.85", props.disableTelemetry, props.isPreview);
63
+ telemetryCollector = startTelemetry(rendererInstance.value, "2.5.87", props.disableTelemetry, props.isPreview);
64
64
  if (telemetryCollector) telemetryCollector.start();
65
65
  telemetryStartTimeout = null;
66
66
  } else telemetryStartTimeout = setTimeout(checkRendering, 500);
@@ -0,0 +1,55 @@
1
+ import { BlendMode, PropDriver, TransformConfig } from '../../core';
2
+ import { ComponentProps } from '../../core/shaders/Crystal';
3
+
4
+ /**
5
+ * Define component props including blend mode, opacity, visibility, masking, and transformation
6
+ */
7
+ interface ExtendedComponentProps extends Partial<ComponentProps> {
8
+ center?: ComponentProps['center'] | PropDriver;
9
+ blendMode?: BlendMode;
10
+ opacity?: number;
11
+ visible?: boolean;
12
+ id?: string;
13
+ maskSource?: string;
14
+ maskType?: string;
15
+ renderOrder?: number;
16
+ transform?: Partial<TransformConfig>;
17
+ }
18
+ declare function __VLS_template(): {
19
+ default?(_: {}): any;
20
+ };
21
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ExtendedComponentProps>, {
22
+ blendMode: string;
23
+ visible: boolean;
24
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ExtendedComponentProps>, {
25
+ blendMode: string;
26
+ visible: boolean;
27
+ }>>> & Readonly<{}>, {
28
+ blendMode: BlendMode;
29
+ visible: boolean;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
31
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
32
+ export default _default;
33
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
34
+ type __VLS_TypePropsToRuntimeProps<T> = {
35
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
36
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
37
+ } : {
38
+ type: import('vue').PropType<T[K]>;
39
+ required: true;
40
+ };
41
+ };
42
+ type __VLS_WithDefaults<P, D> = {
43
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
44
+ default: D[K];
45
+ }> : P[K];
46
+ };
47
+ type __VLS_Prettify<T> = {
48
+ [K in keyof T]: T[K];
49
+ } & {};
50
+ type __VLS_WithTemplateSlots<T, S> = T & {
51
+ new (): {
52
+ $slots: S;
53
+ };
54
+ };
55
+ //# sourceMappingURL=Crystal.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Crystal.vue.d.ts","sourceRoot":"","sources":["../../src/components/Crystal.vue"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,SAAS,EAId,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,cAAc,CAAA;AAIrB,OAAO,EAAsB,KAAK,cAAc,EAAC,MAAM,sBAAsB,CAAA;AAI7E;;GAEG;AACH,UAAU,sBAAuB,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC9D,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;IAC/C,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;CACtC;AA0RD,iBAAS,cAAc;qBAsCM,GAAG;EAK/B;AAUD,QAAA,MAAM,eAAe;;;;;;;eAvVP,SAAS;aAEX,OAAO;4EA2VjB,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"}
@@ -16,6 +16,7 @@ export { default as ConcentricSpin } from './components/ConcentricSpin.vue';
16
16
  export { default as ContourLines } from './components/ContourLines.vue';
17
17
  export { default as Crescent } from './components/Crescent.vue';
18
18
  export { default as Cross } from './components/Cross.vue';
19
+ export { default as Crystal } from './components/Crystal.vue';
19
20
  export { default as CursorRipples } from './components/CursorRipples.vue';
20
21
  export { default as CursorTrail } from './components/CursorTrail.vue';
21
22
  export { default as DiffuseBlur } from './components/DiffuseBlur.vue';
@@ -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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"}
package/dist/vue/index.js CHANGED
@@ -16,6 +16,7 @@ import ConcentricSpin_default from "./ConcentricSpin.js";
16
16
  import ContourLines_default from "./ContourLines.js";
17
17
  import Crescent_default from "./Crescent.js";
18
18
  import Cross_default from "./Cross.js";
19
+ import Crystal_default from "./Crystal.js";
19
20
  import CursorRipples_default from "./CursorRipples.js";
20
21
  import CursorTrail_default from "./CursorTrail.js";
21
22
  import DiffuseBlur_default from "./DiffuseBlur.js";
@@ -92,4 +93,4 @@ import ZoomBlur_default from "./ZoomBlur.js";
92
93
  import Shader_default from "./Shader.js";
93
94
  import Preview_default from "./Preview.js";
94
95
  import { generatePresetCode } from "./utils/generatePresetCode.js";
95
- export { AngularBlur_default as AngularBlur, Ascii_default as Ascii, Aurora_default as Aurora, Beam_default as Beam, Blob_default as Blob, Blur_default as Blur, BrightnessContrast_default as BrightnessContrast, Bulge_default as Bulge, CRTScreen_default as CRTScreen, ChannelBlur_default as ChannelBlur, Checkerboard_default as Checkerboard, ChromaFlow_default as ChromaFlow, ChromaticAberration_default as ChromaticAberration, Circle_default as Circle, ConcentricSpin_default as ConcentricSpin, ContourLines_default as ContourLines, Crescent_default as Crescent, Cross_default as Cross, CursorRipples_default as CursorRipples, CursorTrail_default as CursorTrail, DiffuseBlur_default as DiffuseBlur, Dither_default as Dither, DotGrid_default as DotGrid, Duotone_default as Duotone, Ellipse_default as Ellipse, Emboss_default as Emboss, FallingLines_default as FallingLines, FilmGrain_default as FilmGrain, FloatingParticles_default as FloatingParticles, FlowField_default as FlowField, Flower_default as Flower, FlowingGradient_default as FlowingGradient, Form3D_default as Form3D, Glass_default as Glass, GlassTiles_default as GlassTiles, Glitch_default as Glitch, Glow_default as Glow, Godrays_default as Godrays, Grayscale_default as Grayscale, Grid_default as Grid, GridDistortion_default as GridDistortion, Group_default as Group, Halftone_default as Halftone, HueShift_default as HueShift, ImageTexture_default as ImageTexture, Invert_default as Invert, Kaleidoscope_default as Kaleidoscope, LensFlare_default as LensFlare, LinearBlur_default as LinearBlur, LinearGradient_default as LinearGradient, Liquify_default as Liquify, Mirror_default as Mirror, Neon_default as Neon, Paper_default as Paper, Perspective_default as Perspective, Pixelate_default as Pixelate, Plasma_default as Plasma, PolarCoordinates_default as PolarCoordinates, Polygon_default as Polygon, Posterize_default as Posterize, Preview_default as Preview, ProgressiveBlur_default as ProgressiveBlur, RadialGradient_default as RadialGradient, RectangularCoordinates_default as RectangularCoordinates, Ring_default as Ring, Ripples_default as Ripples, RoundedRect_default as RoundedRect, Saturation_default as Saturation, Shader_default as Shader, Sharpness_default as Sharpness, Shatter_default as Shatter, SimplexNoise_default as SimplexNoise, SineWave_default as SineWave, SolidColor_default as SolidColor, Spherize_default as Spherize, Spiral_default as Spiral, Star_default as Star, Strands_default as Strands, Stretch_default as Stretch, Stripes_default as Stripes, StudioBackground_default as StudioBackground, Swirl_default as Swirl, TiltShift_default as TiltShift, Tint_default as Tint, Trapezoid_default as Trapezoid, Tritone_default as Tritone, Twirl_default as Twirl, Vesica_default as Vesica, Vibrance_default as Vibrance, VideoTexture_default as VideoTexture, WaveDistortion_default as WaveDistortion, WebcamTexture_default as WebcamTexture, ZoomBlur_default as ZoomBlur, generatePresetCode };
96
+ export { AngularBlur_default as AngularBlur, Ascii_default as Ascii, Aurora_default as Aurora, Beam_default as Beam, Blob_default as Blob, Blur_default as Blur, BrightnessContrast_default as BrightnessContrast, Bulge_default as Bulge, CRTScreen_default as CRTScreen, ChannelBlur_default as ChannelBlur, Checkerboard_default as Checkerboard, ChromaFlow_default as ChromaFlow, ChromaticAberration_default as ChromaticAberration, Circle_default as Circle, ConcentricSpin_default as ConcentricSpin, ContourLines_default as ContourLines, Crescent_default as Crescent, Cross_default as Cross, Crystal_default as Crystal, CursorRipples_default as CursorRipples, CursorTrail_default as CursorTrail, DiffuseBlur_default as DiffuseBlur, Dither_default as Dither, DotGrid_default as DotGrid, Duotone_default as Duotone, Ellipse_default as Ellipse, Emboss_default as Emboss, FallingLines_default as FallingLines, FilmGrain_default as FilmGrain, FloatingParticles_default as FloatingParticles, FlowField_default as FlowField, Flower_default as Flower, FlowingGradient_default as FlowingGradient, Form3D_default as Form3D, Glass_default as Glass, GlassTiles_default as GlassTiles, Glitch_default as Glitch, Glow_default as Glow, Godrays_default as Godrays, Grayscale_default as Grayscale, Grid_default as Grid, GridDistortion_default as GridDistortion, Group_default as Group, Halftone_default as Halftone, HueShift_default as HueShift, ImageTexture_default as ImageTexture, Invert_default as Invert, Kaleidoscope_default as Kaleidoscope, LensFlare_default as LensFlare, LinearBlur_default as LinearBlur, LinearGradient_default as LinearGradient, Liquify_default as Liquify, Mirror_default as Mirror, Neon_default as Neon, Paper_default as Paper, Perspective_default as Perspective, Pixelate_default as Pixelate, Plasma_default as Plasma, PolarCoordinates_default as PolarCoordinates, Polygon_default as Polygon, Posterize_default as Posterize, Preview_default as Preview, ProgressiveBlur_default as ProgressiveBlur, RadialGradient_default as RadialGradient, RectangularCoordinates_default as RectangularCoordinates, Ring_default as Ring, Ripples_default as Ripples, RoundedRect_default as RoundedRect, Saturation_default as Saturation, Shader_default as Shader, Sharpness_default as Sharpness, Shatter_default as Shatter, SimplexNoise_default as SimplexNoise, SineWave_default as SineWave, SolidColor_default as SolidColor, Spherize_default as Spherize, Spiral_default as Spiral, Star_default as Star, Strands_default as Strands, Stretch_default as Stretch, Stripes_default as Stripes, StudioBackground_default as StudioBackground, Swirl_default as Swirl, TiltShift_default as TiltShift, Tint_default as Tint, Trapezoid_default as Trapezoid, Tritone_default as Tritone, Twirl_default as Twirl, Vesica_default as Vesica, Vibrance_default as Vibrance, VideoTexture_default as VideoTexture, WaveDistortion_default as WaveDistortion, WebcamTexture_default as WebcamTexture, ZoomBlur_default as ZoomBlur, generatePresetCode };
@@ -1 +1 @@
1
- {"version":3,"file":"generatePresetCode.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAiuCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAiFlG;AAGD,eAAO,MAAM,mBAAmB,UA6F/B,CAAA"}
1
+ {"version":3,"file":"generatePresetCode.d.ts","sourceRoot":"","sources":["../../src/utils/generatePresetCode.ts"],"names":[],"mappings":"AAAA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,UAAU,YAAY;IACpB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AA2vCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAiFlG;AAGD,eAAO,MAAM,mBAAmB,UA8F/B,CAAA"}