shaders 2.3.49 → 2.3.51

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 (169) hide show
  1. package/dist/core/ConcentricSpin-CLTGx_sN.js +173 -0
  2. package/dist/core/StudioBackground-CFjfBnWp.js +337 -0
  3. package/dist/core/registry.js +120 -116
  4. package/dist/core/shaderRegistry.d.ts.map +1 -1
  5. package/dist/core/shaders/CRTScreen/index.js +1 -1
  6. package/dist/core/shaders/ConcentricSpin/index.d.ts +64 -0
  7. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -0
  8. package/dist/core/shaders/ConcentricSpin/index.js +5 -0
  9. package/dist/core/shaders/ContourLines/index.js +1 -1
  10. package/dist/core/shaders/CursorTrail/index.js +1 -1
  11. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  12. package/dist/core/shaders/Dither/index.js +1 -1
  13. package/dist/core/shaders/DotGrid/index.js +1 -1
  14. package/dist/core/shaders/Duotone/index.js +1 -1
  15. package/dist/core/shaders/FilmGrain/index.js +1 -1
  16. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  17. package/dist/core/shaders/FlowField/index.js +1 -1
  18. package/dist/core/shaders/GlassTiles/index.js +1 -1
  19. package/dist/core/shaders/Glitch/index.js +1 -1
  20. package/dist/core/shaders/Glow/index.js +1 -1
  21. package/dist/core/shaders/Godrays/index.js +1 -1
  22. package/dist/core/shaders/Grayscale/index.js +1 -1
  23. package/dist/core/shaders/Grid/index.js +1 -1
  24. package/dist/core/shaders/GridDistortion/index.js +1 -1
  25. package/dist/core/shaders/Group/index.js +1 -1
  26. package/dist/core/shaders/Halftone/index.js +1 -1
  27. package/dist/core/shaders/HueShift/index.js +1 -1
  28. package/dist/core/shaders/ImageTexture/index.js +1 -1
  29. package/dist/core/shaders/Invert/index.js +1 -1
  30. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  31. package/dist/core/shaders/LensFlare/index.js +1 -1
  32. package/dist/core/shaders/LinearBlur/index.js +1 -1
  33. package/dist/core/shaders/LinearGradient/index.js +1 -1
  34. package/dist/core/shaders/Liquify/index.js +1 -1
  35. package/dist/core/shaders/Mirror/index.js +1 -1
  36. package/dist/core/shaders/Perspective/index.js +1 -1
  37. package/dist/core/shaders/Pixelate/index.js +1 -1
  38. package/dist/core/shaders/Plasma/index.js +1 -1
  39. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  40. package/dist/core/shaders/Posterize/index.js +1 -1
  41. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  42. package/dist/core/shaders/RadialGradient/index.js +1 -1
  43. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  44. package/dist/core/shaders/Ripples/index.js +1 -1
  45. package/dist/core/shaders/Saturation/index.js +1 -1
  46. package/dist/core/shaders/Sharpness/index.js +1 -1
  47. package/dist/core/shaders/Shatter/index.js +1 -1
  48. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  49. package/dist/core/shaders/SineWave/index.js +1 -1
  50. package/dist/core/shaders/SolidColor/index.js +1 -1
  51. package/dist/core/shaders/Spherize/index.js +1 -1
  52. package/dist/core/shaders/Spiral/index.js +1 -1
  53. package/dist/core/shaders/Strands/index.js +1 -1
  54. package/dist/core/shaders/Stretch/index.js +1 -1
  55. package/dist/core/shaders/Stripes/index.js +1 -1
  56. package/dist/core/shaders/StudioBackground/index.d.ts +141 -0
  57. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -0
  58. package/dist/core/shaders/StudioBackground/index.js +4 -0
  59. package/dist/core/shaders/Swirl/index.js +1 -1
  60. package/dist/core/shaders/TiltShift/index.js +1 -1
  61. package/dist/core/shaders/Tint/index.js +1 -1
  62. package/dist/core/shaders/Tritone/index.js +1 -1
  63. package/dist/core/shaders/Twirl/index.js +1 -1
  64. package/dist/core/shaders/Vibrance/index.js +1 -1
  65. package/dist/core/shaders/VideoTexture/index.js +1 -1
  66. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  67. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  68. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  69. package/dist/react/ConcentricSpin.js +164 -0
  70. package/dist/react/StudioBackground.js +164 -0
  71. package/dist/react/components/ConcentricSpin.d.ts +31 -0
  72. package/dist/react/components/ConcentricSpin.d.ts.map +1 -0
  73. package/dist/react/components/StudioBackground.d.ts +31 -0
  74. package/dist/react/components/StudioBackground.d.ts.map +1 -0
  75. package/dist/react/index.d.ts +2 -0
  76. package/dist/react/index.d.ts.map +1 -1
  77. package/dist/react/index.js +3 -1
  78. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  79. package/dist/react/utils/generatePresetCode.js +43 -0
  80. package/dist/registry.js +687 -0
  81. package/dist/solid/components/ConcentricSpin.d.ts +28 -0
  82. package/dist/solid/components/ConcentricSpin.d.ts.map +1 -0
  83. package/dist/solid/components/ConcentricSpin.js +168 -0
  84. package/dist/solid/components/StudioBackground.d.ts +28 -0
  85. package/dist/solid/components/StudioBackground.d.ts.map +1 -0
  86. package/dist/solid/components/StudioBackground.js +168 -0
  87. package/dist/solid/index.d.ts +2 -0
  88. package/dist/solid/index.d.ts.map +1 -1
  89. package/dist/solid/index.js +120 -116
  90. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  91. package/dist/solid/utils/generatePresetCode.js +43 -0
  92. package/dist/svelte/components/ConcentricSpin.svelte.d.ts +19 -0
  93. package/dist/svelte/components/StudioBackground.svelte.d.ts +19 -0
  94. package/dist/svelte/{generatePresetCode-Bw9A9k-k.js → generatePresetCode-TDa1I3YR.js} +43 -0
  95. package/dist/svelte/index.d.ts +2 -0
  96. package/dist/svelte/index.js +515 -255
  97. package/dist/svelte/utils/generatePresetCode.js +1 -1
  98. package/dist/vue/ConcentricSpin.js +3 -0
  99. package/dist/vue/ConcentricSpin.vue_vue_type_script_setup_true_lang.js +151 -0
  100. package/dist/vue/StudioBackground.js +3 -0
  101. package/dist/vue/StudioBackground.vue_vue_type_script_setup_true_lang.js +162 -0
  102. package/dist/vue/components/ConcentricSpin.vue.d.ts +54 -0
  103. package/dist/vue/components/ConcentricSpin.vue.d.ts.map +1 -0
  104. package/dist/vue/components/StudioBackground.vue.d.ts +54 -0
  105. package/dist/vue/components/StudioBackground.vue.d.ts.map +1 -0
  106. package/dist/vue/index.d.ts +2 -0
  107. package/dist/vue/index.d.ts.map +1 -1
  108. package/dist/vue/index.js +3 -1
  109. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  110. package/dist/vue/utils/generatePresetCode.js +43 -0
  111. package/package.json +17 -1
  112. /package/dist/core/{CRTScreen-BJJhBQ3D.js → CRTScreen-D6qh6DnD.js} +0 -0
  113. /package/dist/core/{ContourLines-NASMUR3G.js → ContourLines-Dc5J7iw5.js} +0 -0
  114. /package/dist/core/{CursorTrail-DT7Q3TzC.js → CursorTrail-COnyRZH9.js} +0 -0
  115. /package/dist/core/{DiffuseBlur-dJ8C3PKh.js → DiffuseBlur-DcV8M7hN.js} +0 -0
  116. /package/dist/core/{Dither-Bac0W21a.js → Dither-C-w0ugGX.js} +0 -0
  117. /package/dist/core/{DotGrid-Cedu_WEn.js → DotGrid-wXnfcjrM.js} +0 -0
  118. /package/dist/core/{Duotone-DL9vhoyo.js → Duotone-B8dYgrFR.js} +0 -0
  119. /package/dist/core/{FilmGrain-BzdJM5vN.js → FilmGrain-D_6m7GJ4.js} +0 -0
  120. /package/dist/core/{FloatingParticles-DoB1DI8t.js → FloatingParticles-YuuXeICf.js} +0 -0
  121. /package/dist/core/{FlowField-BZ-ZbMzR.js → FlowField-Dx2eqOcU.js} +0 -0
  122. /package/dist/core/{GlassTiles-BQL2Id5c.js → GlassTiles-hnt2pUQN.js} +0 -0
  123. /package/dist/core/{Glitch-DmF8pHjd.js → Glitch-DfPXeSlL.js} +0 -0
  124. /package/dist/core/{Glow-Bxpj34sE.js → Glow-CQv_dRPj.js} +0 -0
  125. /package/dist/core/{Godrays-DqB-88ds.js → Godrays-B_-HliEA.js} +0 -0
  126. /package/dist/core/{Grayscale-CAuZTuZN.js → Grayscale-DRFXhxr4.js} +0 -0
  127. /package/dist/core/{Grid-B6Hf5dZa.js → Grid-DKSUwEIe.js} +0 -0
  128. /package/dist/core/{GridDistortion-DmwIHrXF.js → GridDistortion-DahXljLX.js} +0 -0
  129. /package/dist/core/{Group-DYtNH5QD.js → Group-r9gMBd5y.js} +0 -0
  130. /package/dist/core/{Halftone-vy2WIxyN.js → Halftone-ZVjwkjaQ.js} +0 -0
  131. /package/dist/core/{HueShift-C4E-S49G.js → HueShift-gZlNBwNE.js} +0 -0
  132. /package/dist/core/{ImageTexture-B40GVvXK.js → ImageTexture-DuXMku_O.js} +0 -0
  133. /package/dist/core/{Invert-ec-nb8PE.js → Invert-gUjZNHF3.js} +0 -0
  134. /package/dist/core/{Kaleidoscope-BO3WUc5P.js → Kaleidoscope-COKZ0BDb.js} +0 -0
  135. /package/dist/core/{LensFlare-BoaXy9ZE.js → LensFlare-D6jy4M7G.js} +0 -0
  136. /package/dist/core/{LinearBlur-BHaYZoXd.js → LinearBlur-CArDQIhs.js} +0 -0
  137. /package/dist/core/{LinearGradient-C8nueF-8.js → LinearGradient-BkB_3gVV.js} +0 -0
  138. /package/dist/core/{Liquify-JsuLWWkx.js → Liquify-BrIB9ajS.js} +0 -0
  139. /package/dist/core/{Mirror--f1QXEID.js → Mirror-BRPYfVAr.js} +0 -0
  140. /package/dist/core/{Perspective-Dyj4iJMR.js → Perspective-CglPLWTZ.js} +0 -0
  141. /package/dist/core/{Pixelate-CzXp_BwM.js → Pixelate-CwnuDc5L.js} +0 -0
  142. /package/dist/core/{Plasma-FfOwR9cP.js → Plasma-CuW-GOI_.js} +0 -0
  143. /package/dist/core/{PolarCoordinates-CfuvmwZm.js → PolarCoordinates-9AFXKnSC.js} +0 -0
  144. /package/dist/core/{Posterize-IUwDieMu.js → Posterize-DU2yrydV.js} +0 -0
  145. /package/dist/core/{ProgressiveBlur-BTGKywKM.js → ProgressiveBlur-BXv2mob_.js} +0 -0
  146. /package/dist/core/{RadialGradient-DbcPAwI7.js → RadialGradient-Dd21Be-_.js} +0 -0
  147. /package/dist/core/{RectangularCoordinates-OOpDHjTM.js → RectangularCoordinates-DAOGnX2p.js} +0 -0
  148. /package/dist/core/{Ripples-CGhzc9or.js → Ripples-Nk5is8WX.js} +0 -0
  149. /package/dist/core/{Saturation-ssiNVXIp.js → Saturation-KoiVB92Y.js} +0 -0
  150. /package/dist/core/{Sharpness-B-nN0G5P.js → Sharpness-CK-zaDVc.js} +0 -0
  151. /package/dist/core/{Shatter-CryQHkSZ.js → Shatter-EEzkIXGb.js} +0 -0
  152. /package/dist/core/{SimplexNoise-B-tDGmzX.js → SimplexNoise-DKov4Yho.js} +0 -0
  153. /package/dist/core/{SineWave-C6MpmU6E.js → SineWave-Cy0wWKUU.js} +0 -0
  154. /package/dist/core/{SolidColor-BjLy2eJx.js → SolidColor-P4OKglCC.js} +0 -0
  155. /package/dist/core/{Spherize-Mtl4w0Lc.js → Spherize-BLEvqakM.js} +0 -0
  156. /package/dist/core/{Spiral-Bl67ud0b.js → Spiral-DXuKs26n.js} +0 -0
  157. /package/dist/core/{Strands-BNxk94tR.js → Strands-DsdASoV4.js} +0 -0
  158. /package/dist/core/{Stretch-DROTOuvH.js → Stretch-By8f2wmJ.js} +0 -0
  159. /package/dist/core/{Stripes-IMsC1G-g.js → Stripes-D8HSlP1H.js} +0 -0
  160. /package/dist/core/{Swirl-C9xCY4TA.js → Swirl-BIFGxHL0.js} +0 -0
  161. /package/dist/core/{TiltShift-CFhc4M-Z.js → TiltShift-CLMFkzBs.js} +0 -0
  162. /package/dist/core/{Tint-DS1FvtQc.js → Tint-NQjiXLGu.js} +0 -0
  163. /package/dist/core/{Tritone-CesYYNTz.js → Tritone-67eoddBF.js} +0 -0
  164. /package/dist/core/{Twirl-8C-m04yw.js → Twirl-ZaYAMqmq.js} +0 -0
  165. /package/dist/core/{Vibrance-Cbr-9ds2.js → Vibrance-DbSUuK_4.js} +0 -0
  166. /package/dist/core/{VideoTexture-DKnQrDkq.js → VideoTexture-lHzoN3G9.js} +0 -0
  167. /package/dist/core/{WaveDistortion-D-TGqE0a.js → WaveDistortion-CB6xTndT.js} +0 -0
  168. /package/dist/core/{WebcamTexture-C3EtpWf2.js → WebcamTexture-BJUvpMmV.js} +0 -0
  169. /package/dist/core/{ZoomBlur-DmMiy4FJ.js → ZoomBlur-BCClC8fw.js} +0 -0
@@ -0,0 +1,28 @@
1
+ import { JSX } from 'solid-js';
2
+ import { BlendMode, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/ConcentricSpin';
4
+ export type { ComponentProps };
5
+ /**
6
+ * Base props that all shader components have
7
+ */
8
+ interface BaseShaderProps {
9
+ children?: JSX.Element;
10
+ blendMode?: BlendMode;
11
+ opacity?: number;
12
+ visible?: boolean;
13
+ id?: string;
14
+ maskSource?: string;
15
+ maskType?: string;
16
+ renderOrder?: number;
17
+ transform?: Partial<TransformConfig>;
18
+ }
19
+ /**
20
+ * Component-specific props that merge base props with shader-specific props
21
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
22
+ */
23
+ type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
24
+ /**
25
+ * The main Solid wrapper component for Shader shader nodes
26
+ */
27
+ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element;
28
+ //# sourceMappingURL=ConcentricSpin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConcentricSpin.d.ts","sourceRoot":"","sources":["../../src/components/ConcentricSpin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGvF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,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;CACxC;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAmCtE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAiLlE"}
@@ -0,0 +1,168 @@
1
+ import { createComponent, template, use, setAttribute, insert } from "solid-js/web";
2
+ import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
3
+ import { createUniformsMap } from "../../core/index.js";
4
+ import { componentDefinition } from "../../core/shaders/ConcentricSpin/index.js";
5
+ import { useShaderContext, ShaderContext } from "../engine/Shader.js";
6
+ var _tmpl$ = /* @__PURE__ */ template(`<span style=display:contents>`);
7
+ const DEFAULT_TRANSFORM = {
8
+ offsetX: 0,
9
+ offsetY: 0,
10
+ rotation: 0,
11
+ scale: 1,
12
+ anchorX: 0.5,
13
+ anchorY: 0.5,
14
+ edges: "transparent"
15
+ };
16
+ const defaultProps = {
17
+ blendMode: "normal",
18
+ visible: true
19
+ // opacity intentionally has no default - handled by renderer
20
+ // transform intentionally has no default - handled by effectiveTransform
21
+ };
22
+ try {
23
+ if (componentDefinition && componentDefinition.props) {
24
+ Object.entries(componentDefinition.props).forEach(([key, config]) => {
25
+ const propConfig = config;
26
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
27
+ defaultProps[key] = propConfig.default;
28
+ }
29
+ });
30
+ }
31
+ } catch (e) {
32
+ console.warn("Error extracting default props:", e);
33
+ }
34
+ function ShaderComponent(props) {
35
+ const [local, otherProps] = splitProps(props, ["children"]);
36
+ const context = useShaderContext();
37
+ const {
38
+ shaderParentId: parentId,
39
+ shaderNodeRegister: parentRegister,
40
+ shaderUniformUpdate: parentUniformUpdate,
41
+ shaderMetadataUpdate: parentMetadataUpdate
42
+ } = context;
43
+ const instanceId = props.id || Math.random().toString(36).substring(2, 10);
44
+ const effectiveProps = createMemo(() => {
45
+ let baseProps = {
46
+ ...defaultProps
47
+ };
48
+ for (const [key, value] of Object.entries(otherProps)) {
49
+ if (value !== void 0) {
50
+ baseProps[key] = value;
51
+ }
52
+ }
53
+ return baseProps;
54
+ });
55
+ const effectiveTransform = createMemo(() => ({
56
+ ...DEFAULT_TRANSFORM,
57
+ ...props.transform
58
+ }));
59
+ let uniformsMap = null;
60
+ const getUniformsMap = () => {
61
+ if (!uniformsMap) {
62
+ uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
63
+ }
64
+ return uniformsMap;
65
+ };
66
+ const childContextValue = createMemo(() => ({
67
+ ...context,
68
+ shaderParentId: instanceId
69
+ }));
70
+ let markerRef;
71
+ let detectedRenderOrder = void 0;
72
+ let isRegistered = false;
73
+ onMount(() => {
74
+ const uniforms = getUniformsMap();
75
+ if (!uniforms) return;
76
+ try {
77
+ const metadata = {
78
+ blendMode: props.blendMode || "normal",
79
+ opacity: props.opacity,
80
+ visible: props.visible === false ? false : true,
81
+ id: props.id,
82
+ mask: props.maskSource ? {
83
+ source: props.maskSource,
84
+ type: props.maskType || "alpha"
85
+ } : void 0,
86
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
87
+ transform: effectiveTransform()
88
+ };
89
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
90
+ isRegistered = true;
91
+ if (props.renderOrder === void 0 && markerRef) {
92
+ const parent = markerRef.parentElement;
93
+ if (parent) {
94
+ const siblings = parent.querySelectorAll(":scope > [data-shader-id]");
95
+ const position = Array.from(siblings).indexOf(markerRef);
96
+ if (position >= 0) {
97
+ detectedRenderOrder = position;
98
+ parentMetadataUpdate(instanceId, {
99
+ renderOrder: position
100
+ });
101
+ }
102
+ }
103
+ }
104
+ } catch (error) {
105
+ console.error("Error registering shader node:", error);
106
+ }
107
+ });
108
+ onCleanup(() => {
109
+ isRegistered = false;
110
+ parentRegister(instanceId, null, null, null, null);
111
+ });
112
+ createEffect(() => {
113
+ if (!isRegistered) return;
114
+ const uniforms = getUniformsMap();
115
+ if (!uniforms) return;
116
+ try {
117
+ const props_snapshot = effectiveProps();
118
+ Object.entries(uniforms).forEach(([propName, uniformData]) => {
119
+ if (!uniformData || typeof uniformData !== "object") return;
120
+ const {
121
+ uniform
122
+ } = uniformData;
123
+ if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
124
+ const newValue = props_snapshot[propName];
125
+ parentUniformUpdate(instanceId, propName, newValue);
126
+ }
127
+ });
128
+ } catch (error) {
129
+ console.error("Error updating uniforms:", error);
130
+ }
131
+ });
132
+ createEffect(() => {
133
+ if (!isRegistered) return;
134
+ try {
135
+ const metadata = {
136
+ blendMode: props.blendMode || "normal",
137
+ opacity: props.opacity,
138
+ visible: props.visible === false ? false : true,
139
+ id: props.id,
140
+ mask: props.maskSource ? {
141
+ source: props.maskSource,
142
+ type: props.maskType || "alpha"
143
+ } : void 0,
144
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
145
+ transform: effectiveTransform()
146
+ };
147
+ parentMetadataUpdate(instanceId, metadata);
148
+ } catch (error) {
149
+ console.error("Error updating metadata:", error);
150
+ }
151
+ });
152
+ return createComponent(ShaderContext.Provider, {
153
+ get value() {
154
+ return childContextValue();
155
+ },
156
+ get children() {
157
+ var _el$ = _tmpl$();
158
+ var _ref$ = markerRef;
159
+ typeof _ref$ === "function" ? use(_ref$, _el$) : markerRef = _el$;
160
+ setAttribute(_el$, "data-shader-id", instanceId);
161
+ insert(_el$, () => local.children);
162
+ return _el$;
163
+ }
164
+ });
165
+ }
166
+ export {
167
+ ShaderComponent as default
168
+ };
@@ -0,0 +1,28 @@
1
+ import { JSX } from 'solid-js';
2
+ import { BlendMode, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/StudioBackground';
4
+ export type { ComponentProps };
5
+ /**
6
+ * Base props that all shader components have
7
+ */
8
+ interface BaseShaderProps {
9
+ children?: JSX.Element;
10
+ blendMode?: BlendMode;
11
+ opacity?: number;
12
+ visible?: boolean;
13
+ id?: string;
14
+ maskSource?: string;
15
+ maskType?: string;
16
+ renderOrder?: number;
17
+ transform?: Partial<TransformConfig>;
18
+ }
19
+ /**
20
+ * Component-specific props that merge base props with shader-specific props
21
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
22
+ */
23
+ type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
24
+ /**
25
+ * The main Solid wrapper component for Shader shader nodes
26
+ */
27
+ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element;
28
+ //# sourceMappingURL=StudioBackground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StudioBackground.d.ts","sourceRoot":"","sources":["../../src/components/StudioBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGzF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,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;CACxC;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAmCtE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAiLlE"}
@@ -0,0 +1,168 @@
1
+ import { createComponent, template, use, setAttribute, insert } from "solid-js/web";
2
+ import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
3
+ import { createUniformsMap } from "../../core/index.js";
4
+ import { componentDefinition } from "../../core/shaders/StudioBackground/index.js";
5
+ import { useShaderContext, ShaderContext } from "../engine/Shader.js";
6
+ var _tmpl$ = /* @__PURE__ */ template(`<span style=display:contents>`);
7
+ const DEFAULT_TRANSFORM = {
8
+ offsetX: 0,
9
+ offsetY: 0,
10
+ rotation: 0,
11
+ scale: 1,
12
+ anchorX: 0.5,
13
+ anchorY: 0.5,
14
+ edges: "transparent"
15
+ };
16
+ const defaultProps = {
17
+ blendMode: "normal",
18
+ visible: true
19
+ // opacity intentionally has no default - handled by renderer
20
+ // transform intentionally has no default - handled by effectiveTransform
21
+ };
22
+ try {
23
+ if (componentDefinition && componentDefinition.props) {
24
+ Object.entries(componentDefinition.props).forEach(([key, config]) => {
25
+ const propConfig = config;
26
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
27
+ defaultProps[key] = propConfig.default;
28
+ }
29
+ });
30
+ }
31
+ } catch (e) {
32
+ console.warn("Error extracting default props:", e);
33
+ }
34
+ function ShaderComponent(props) {
35
+ const [local, otherProps] = splitProps(props, ["children"]);
36
+ const context = useShaderContext();
37
+ const {
38
+ shaderParentId: parentId,
39
+ shaderNodeRegister: parentRegister,
40
+ shaderUniformUpdate: parentUniformUpdate,
41
+ shaderMetadataUpdate: parentMetadataUpdate
42
+ } = context;
43
+ const instanceId = props.id || Math.random().toString(36).substring(2, 10);
44
+ const effectiveProps = createMemo(() => {
45
+ let baseProps = {
46
+ ...defaultProps
47
+ };
48
+ for (const [key, value] of Object.entries(otherProps)) {
49
+ if (value !== void 0) {
50
+ baseProps[key] = value;
51
+ }
52
+ }
53
+ return baseProps;
54
+ });
55
+ const effectiveTransform = createMemo(() => ({
56
+ ...DEFAULT_TRANSFORM,
57
+ ...props.transform
58
+ }));
59
+ let uniformsMap = null;
60
+ const getUniformsMap = () => {
61
+ if (!uniformsMap) {
62
+ uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
63
+ }
64
+ return uniformsMap;
65
+ };
66
+ const childContextValue = createMemo(() => ({
67
+ ...context,
68
+ shaderParentId: instanceId
69
+ }));
70
+ let markerRef;
71
+ let detectedRenderOrder = void 0;
72
+ let isRegistered = false;
73
+ onMount(() => {
74
+ const uniforms = getUniformsMap();
75
+ if (!uniforms) return;
76
+ try {
77
+ const metadata = {
78
+ blendMode: props.blendMode || "normal",
79
+ opacity: props.opacity,
80
+ visible: props.visible === false ? false : true,
81
+ id: props.id,
82
+ mask: props.maskSource ? {
83
+ source: props.maskSource,
84
+ type: props.maskType || "alpha"
85
+ } : void 0,
86
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
87
+ transform: effectiveTransform()
88
+ };
89
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
90
+ isRegistered = true;
91
+ if (props.renderOrder === void 0 && markerRef) {
92
+ const parent = markerRef.parentElement;
93
+ if (parent) {
94
+ const siblings = parent.querySelectorAll(":scope > [data-shader-id]");
95
+ const position = Array.from(siblings).indexOf(markerRef);
96
+ if (position >= 0) {
97
+ detectedRenderOrder = position;
98
+ parentMetadataUpdate(instanceId, {
99
+ renderOrder: position
100
+ });
101
+ }
102
+ }
103
+ }
104
+ } catch (error) {
105
+ console.error("Error registering shader node:", error);
106
+ }
107
+ });
108
+ onCleanup(() => {
109
+ isRegistered = false;
110
+ parentRegister(instanceId, null, null, null, null);
111
+ });
112
+ createEffect(() => {
113
+ if (!isRegistered) return;
114
+ const uniforms = getUniformsMap();
115
+ if (!uniforms) return;
116
+ try {
117
+ const props_snapshot = effectiveProps();
118
+ Object.entries(uniforms).forEach(([propName, uniformData]) => {
119
+ if (!uniformData || typeof uniformData !== "object") return;
120
+ const {
121
+ uniform
122
+ } = uniformData;
123
+ if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
124
+ const newValue = props_snapshot[propName];
125
+ parentUniformUpdate(instanceId, propName, newValue);
126
+ }
127
+ });
128
+ } catch (error) {
129
+ console.error("Error updating uniforms:", error);
130
+ }
131
+ });
132
+ createEffect(() => {
133
+ if (!isRegistered) return;
134
+ try {
135
+ const metadata = {
136
+ blendMode: props.blendMode || "normal",
137
+ opacity: props.opacity,
138
+ visible: props.visible === false ? false : true,
139
+ id: props.id,
140
+ mask: props.maskSource ? {
141
+ source: props.maskSource,
142
+ type: props.maskType || "alpha"
143
+ } : void 0,
144
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
145
+ transform: effectiveTransform()
146
+ };
147
+ parentMetadataUpdate(instanceId, metadata);
148
+ } catch (error) {
149
+ console.error("Error updating metadata:", error);
150
+ }
151
+ });
152
+ return createComponent(ShaderContext.Provider, {
153
+ get value() {
154
+ return childContextValue();
155
+ },
156
+ get children() {
157
+ var _el$ = _tmpl$();
158
+ var _ref$ = markerRef;
159
+ typeof _ref$ === "function" ? use(_ref$, _el$) : markerRef = _el$;
160
+ setAttribute(_el$, "data-shader-id", instanceId);
161
+ insert(_el$, () => local.children);
162
+ return _el$;
163
+ }
164
+ });
165
+ }
166
+ export {
167
+ ShaderComponent as default
168
+ };
@@ -11,6 +11,7 @@ export { default as Checkerboard } from './components/Checkerboard';
11
11
  export { default as ChromaFlow } from './components/ChromaFlow';
12
12
  export { default as ChromaticAberration } from './components/ChromaticAberration';
13
13
  export { default as Circle } from './components/Circle';
14
+ export { default as ConcentricSpin } from './components/ConcentricSpin';
14
15
  export { default as ContourLines } from './components/ContourLines';
15
16
  export { default as CursorTrail } from './components/CursorTrail';
16
17
  export { default as DiffuseBlur } from './components/DiffuseBlur';
@@ -58,6 +59,7 @@ export { default as Spiral } from './components/Spiral';
58
59
  export { default as Strands } from './components/Strands';
59
60
  export { default as Stretch } from './components/Stretch';
60
61
  export { default as Stripes } from './components/Stripes';
62
+ export { default as StudioBackground } from './components/StudioBackground';
61
63
  export { default as Swirl } from './components/Swirl';
62
64
  export { default as TiltShift } from './components/TiltShift';
63
65
  export { default as Tint } from './components/Tint';
@@ -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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"}