shaders 2.3.50 → 2.3.52

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 (191) hide show
  1. package/dist/core/Aurora-BDnL1XdK.js +233 -0
  2. package/dist/core/StudioBackground-Ci26l_Xb.js +337 -0
  3. package/dist/core/registry.js +142 -138
  4. package/dist/core/shaderRegistry.d.ts.map +1 -1
  5. package/dist/core/shaders/Aurora/index.d.ts +99 -0
  6. package/dist/core/shaders/Aurora/index.d.ts.map +1 -0
  7. package/dist/core/shaders/Aurora/index.js +5 -0
  8. package/dist/core/shaders/Beam/index.js +1 -1
  9. package/dist/core/shaders/Blob/index.js +1 -1
  10. package/dist/core/shaders/Blur/index.js +1 -1
  11. package/dist/core/shaders/BrightnessContrast/index.js +1 -1
  12. package/dist/core/shaders/Bulge/index.js +1 -1
  13. package/dist/core/shaders/CRTScreen/index.js +1 -1
  14. package/dist/core/shaders/ChannelBlur/index.js +1 -1
  15. package/dist/core/shaders/Checkerboard/index.js +1 -1
  16. package/dist/core/shaders/ChromaFlow/index.js +1 -1
  17. package/dist/core/shaders/ChromaticAberration/index.js +1 -1
  18. package/dist/core/shaders/Circle/index.js +1 -1
  19. package/dist/core/shaders/ConcentricSpin/index.js +1 -1
  20. package/dist/core/shaders/ContourLines/index.js +1 -1
  21. package/dist/core/shaders/CursorTrail/index.js +1 -1
  22. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  23. package/dist/core/shaders/Dither/index.js +1 -1
  24. package/dist/core/shaders/DotGrid/index.js +1 -1
  25. package/dist/core/shaders/Duotone/index.js +1 -1
  26. package/dist/core/shaders/FilmGrain/index.js +1 -1
  27. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  28. package/dist/core/shaders/FlowField/index.js +1 -1
  29. package/dist/core/shaders/GlassTiles/index.js +1 -1
  30. package/dist/core/shaders/Glitch/index.js +1 -1
  31. package/dist/core/shaders/Glow/index.js +1 -1
  32. package/dist/core/shaders/Godrays/index.js +1 -1
  33. package/dist/core/shaders/Grayscale/index.js +1 -1
  34. package/dist/core/shaders/Grid/index.js +1 -1
  35. package/dist/core/shaders/GridDistortion/index.js +1 -1
  36. package/dist/core/shaders/Group/index.js +1 -1
  37. package/dist/core/shaders/Halftone/index.js +1 -1
  38. package/dist/core/shaders/HueShift/index.js +1 -1
  39. package/dist/core/shaders/ImageTexture/index.js +1 -1
  40. package/dist/core/shaders/Invert/index.js +1 -1
  41. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  42. package/dist/core/shaders/LensFlare/index.js +1 -1
  43. package/dist/core/shaders/LinearBlur/index.js +1 -1
  44. package/dist/core/shaders/LinearGradient/index.js +1 -1
  45. package/dist/core/shaders/Liquify/index.js +1 -1
  46. package/dist/core/shaders/Mirror/index.js +1 -1
  47. package/dist/core/shaders/Perspective/index.js +1 -1
  48. package/dist/core/shaders/Pixelate/index.js +1 -1
  49. package/dist/core/shaders/Plasma/index.js +1 -1
  50. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  51. package/dist/core/shaders/Posterize/index.js +1 -1
  52. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  53. package/dist/core/shaders/RadialGradient/index.js +1 -1
  54. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  55. package/dist/core/shaders/Ripples/index.js +1 -1
  56. package/dist/core/shaders/Saturation/index.js +1 -1
  57. package/dist/core/shaders/Sharpness/index.js +1 -1
  58. package/dist/core/shaders/Shatter/index.js +1 -1
  59. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  60. package/dist/core/shaders/SineWave/index.js +1 -1
  61. package/dist/core/shaders/SolidColor/index.js +1 -1
  62. package/dist/core/shaders/Spherize/index.js +1 -1
  63. package/dist/core/shaders/Spiral/index.js +1 -1
  64. package/dist/core/shaders/Strands/index.js +1 -1
  65. package/dist/core/shaders/Stretch/index.js +1 -1
  66. package/dist/core/shaders/Stripes/index.js +1 -1
  67. package/dist/core/shaders/StudioBackground/index.d.ts +141 -0
  68. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -0
  69. package/dist/core/shaders/StudioBackground/index.js +4 -0
  70. package/dist/core/shaders/Swirl/index.js +1 -1
  71. package/dist/core/shaders/TiltShift/index.js +1 -1
  72. package/dist/core/shaders/Tint/index.js +1 -1
  73. package/dist/core/shaders/Tritone/index.js +1 -1
  74. package/dist/core/shaders/Twirl/index.js +1 -1
  75. package/dist/core/shaders/Vibrance/index.js +1 -1
  76. package/dist/core/shaders/VideoTexture/index.js +1 -1
  77. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  78. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  79. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  80. package/dist/react/Aurora.js +164 -0
  81. package/dist/react/StudioBackground.js +164 -0
  82. package/dist/react/components/Aurora.d.ts +31 -0
  83. package/dist/react/components/Aurora.d.ts.map +1 -0
  84. package/dist/react/components/StudioBackground.d.ts +31 -0
  85. package/dist/react/components/StudioBackground.d.ts.map +1 -0
  86. package/dist/react/index.d.ts +2 -0
  87. package/dist/react/index.d.ts.map +1 -1
  88. package/dist/react/index.js +3 -1
  89. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  90. package/dist/react/utils/generatePresetCode.js +48 -0
  91. package/dist/registry.js +1148 -370
  92. package/dist/solid/components/Aurora.d.ts +28 -0
  93. package/dist/solid/components/Aurora.d.ts.map +1 -0
  94. package/dist/solid/components/Aurora.js +168 -0
  95. package/dist/solid/components/StudioBackground.d.ts +28 -0
  96. package/dist/solid/components/StudioBackground.d.ts.map +1 -0
  97. package/dist/solid/components/StudioBackground.js +168 -0
  98. package/dist/solid/index.d.ts +2 -0
  99. package/dist/solid/index.d.ts.map +1 -1
  100. package/dist/solid/index.js +144 -140
  101. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  102. package/dist/solid/utils/generatePresetCode.js +48 -0
  103. package/dist/svelte/components/Aurora.svelte.d.ts +19 -0
  104. package/dist/svelte/components/StudioBackground.svelte.d.ts +19 -0
  105. package/dist/svelte/{generatePresetCode-Co-oSFXj.js → generatePresetCode-DXODN9t6.js} +48 -0
  106. package/dist/svelte/index.d.ts +2 -0
  107. package/dist/svelte/index.js +541 -281
  108. package/dist/svelte/utils/generatePresetCode.js +1 -1
  109. package/dist/vue/Aurora.js +3 -0
  110. package/dist/vue/Aurora.vue_vue_type_script_setup_true_lang.js +156 -0
  111. package/dist/vue/StudioBackground.js +3 -0
  112. package/dist/vue/StudioBackground.vue_vue_type_script_setup_true_lang.js +162 -0
  113. package/dist/vue/components/Aurora.vue.d.ts +54 -0
  114. package/dist/vue/components/Aurora.vue.d.ts.map +1 -0
  115. package/dist/vue/components/StudioBackground.vue.d.ts +54 -0
  116. package/dist/vue/components/StudioBackground.vue.d.ts.map +1 -0
  117. package/dist/vue/index.d.ts +2 -0
  118. package/dist/vue/index.d.ts.map +1 -1
  119. package/dist/vue/index.js +3 -1
  120. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  121. package/dist/vue/utils/generatePresetCode.js +48 -0
  122. package/package.json +17 -1
  123. /package/dist/core/{Beam-BBbjVQDP.js → Beam-CyRoRQEj.js} +0 -0
  124. /package/dist/core/{Blob-DeD9KRj-.js → Blob-BgN4aVOR.js} +0 -0
  125. /package/dist/core/{Blur-Brqgsz7y.js → Blur-NNElJwzj.js} +0 -0
  126. /package/dist/core/{BrightnessContrast-DSePKfxC.js → BrightnessContrast-FdkKMaQQ.js} +0 -0
  127. /package/dist/core/{Bulge-D2OwcL23.js → Bulge-Ca9hW7y4.js} +0 -0
  128. /package/dist/core/{CRTScreen-D6qh6DnD.js → CRTScreen-BHKDJ9_0.js} +0 -0
  129. /package/dist/core/{ChannelBlur-BKo9uGaB.js → ChannelBlur-A0r5Gx_y.js} +0 -0
  130. /package/dist/core/{Checkerboard-ChbG4nPC.js → Checkerboard-XJh_tV6B.js} +0 -0
  131. /package/dist/core/{ChromaFlow-DyqU1igx.js → ChromaFlow-Cc647Knw.js} +0 -0
  132. /package/dist/core/{ChromaticAberration-9nlFN2h0.js → ChromaticAberration-CYvju_kr.js} +0 -0
  133. /package/dist/core/{Circle-DSQ_9vPx.js → Circle-C9DYXDnD.js} +0 -0
  134. /package/dist/core/{ConcentricSpin-CLTGx_sN.js → ConcentricSpin-CnuAW_6I.js} +0 -0
  135. /package/dist/core/{ContourLines-Dc5J7iw5.js → ContourLines-DJ0R9q6Y.js} +0 -0
  136. /package/dist/core/{CursorTrail-COnyRZH9.js → CursorTrail-DpegyvgZ.js} +0 -0
  137. /package/dist/core/{DiffuseBlur-DcV8M7hN.js → DiffuseBlur-BXcJHOEK.js} +0 -0
  138. /package/dist/core/{Dither-C-w0ugGX.js → Dither-BKUz66yF.js} +0 -0
  139. /package/dist/core/{DotGrid-wXnfcjrM.js → DotGrid-CQ3Bqk7F.js} +0 -0
  140. /package/dist/core/{Duotone-B8dYgrFR.js → Duotone-BW1JYEPc.js} +0 -0
  141. /package/dist/core/{FilmGrain-D_6m7GJ4.js → FilmGrain-GEWzNIxN.js} +0 -0
  142. /package/dist/core/{FloatingParticles-YuuXeICf.js → FloatingParticles--9Vfk8l7.js} +0 -0
  143. /package/dist/core/{FlowField-Dx2eqOcU.js → FlowField-cpaUwFHC.js} +0 -0
  144. /package/dist/core/{GlassTiles-hnt2pUQN.js → GlassTiles-BdeSNj7g.js} +0 -0
  145. /package/dist/core/{Glitch-DfPXeSlL.js → Glitch-CROTuIoh.js} +0 -0
  146. /package/dist/core/{Glow-CQv_dRPj.js → Glow-DQDMXgcr.js} +0 -0
  147. /package/dist/core/{Godrays-B_-HliEA.js → Godrays-ByIS3bRa.js} +0 -0
  148. /package/dist/core/{Grayscale-DRFXhxr4.js → Grayscale-DpKuVrqO.js} +0 -0
  149. /package/dist/core/{Grid-DKSUwEIe.js → Grid-CkcYMWZi.js} +0 -0
  150. /package/dist/core/{GridDistortion-DahXljLX.js → GridDistortion-CATS8be1.js} +0 -0
  151. /package/dist/core/{Group-r9gMBd5y.js → Group-DqEcpVau.js} +0 -0
  152. /package/dist/core/{Halftone-ZVjwkjaQ.js → Halftone-DPnEJWAR.js} +0 -0
  153. /package/dist/core/{HueShift-gZlNBwNE.js → HueShift-BuAL_IUD.js} +0 -0
  154. /package/dist/core/{ImageTexture-DuXMku_O.js → ImageTexture-BxUmKJDM.js} +0 -0
  155. /package/dist/core/{Invert-gUjZNHF3.js → Invert-CnrYMYHq.js} +0 -0
  156. /package/dist/core/{Kaleidoscope-COKZ0BDb.js → Kaleidoscope-w7bcRTGG.js} +0 -0
  157. /package/dist/core/{LensFlare-D6jy4M7G.js → LensFlare-D42C5m1g.js} +0 -0
  158. /package/dist/core/{LinearBlur-CArDQIhs.js → LinearBlur-PB7AuAdN.js} +0 -0
  159. /package/dist/core/{LinearGradient-BkB_3gVV.js → LinearGradient-xd6zdc9k.js} +0 -0
  160. /package/dist/core/{Liquify-BrIB9ajS.js → Liquify-BfUbY9Aa.js} +0 -0
  161. /package/dist/core/{Mirror-BRPYfVAr.js → Mirror-CBuDbabq.js} +0 -0
  162. /package/dist/core/{Perspective-CglPLWTZ.js → Perspective-BWEoTtAq.js} +0 -0
  163. /package/dist/core/{Pixelate-CwnuDc5L.js → Pixelate-C1kcXBSy.js} +0 -0
  164. /package/dist/core/{Plasma-CuW-GOI_.js → Plasma-BaKvTyBi.js} +0 -0
  165. /package/dist/core/{PolarCoordinates-9AFXKnSC.js → PolarCoordinates-tXYdB1hR.js} +0 -0
  166. /package/dist/core/{Posterize-DU2yrydV.js → Posterize-D4f1xM4m.js} +0 -0
  167. /package/dist/core/{ProgressiveBlur-BXv2mob_.js → ProgressiveBlur-CmBI0c7e.js} +0 -0
  168. /package/dist/core/{RadialGradient-Dd21Be-_.js → RadialGradient-BOWu2cE6.js} +0 -0
  169. /package/dist/core/{RectangularCoordinates-DAOGnX2p.js → RectangularCoordinates-C2KYwree.js} +0 -0
  170. /package/dist/core/{Ripples-Nk5is8WX.js → Ripples-C3rm4Nv6.js} +0 -0
  171. /package/dist/core/{Saturation-KoiVB92Y.js → Saturation-Bw3ToVIJ.js} +0 -0
  172. /package/dist/core/{Sharpness-CK-zaDVc.js → Sharpness-Dm4dZVlk.js} +0 -0
  173. /package/dist/core/{Shatter-EEzkIXGb.js → Shatter-C5oF85Mn.js} +0 -0
  174. /package/dist/core/{SimplexNoise-DKov4Yho.js → SimplexNoise-CzJ9JuBO.js} +0 -0
  175. /package/dist/core/{SineWave-Cy0wWKUU.js → SineWave-DMogWzg5.js} +0 -0
  176. /package/dist/core/{SolidColor-P4OKglCC.js → SolidColor-CmqDLEvX.js} +0 -0
  177. /package/dist/core/{Spherize-BLEvqakM.js → Spherize-BmA6-b8n.js} +0 -0
  178. /package/dist/core/{Spiral-DXuKs26n.js → Spiral-DmYzx8BO.js} +0 -0
  179. /package/dist/core/{Strands-DsdASoV4.js → Strands-CmEblLfF.js} +0 -0
  180. /package/dist/core/{Stretch-By8f2wmJ.js → Stretch-szy_xiYc.js} +0 -0
  181. /package/dist/core/{Stripes-D8HSlP1H.js → Stripes-Bze5bkdm.js} +0 -0
  182. /package/dist/core/{Swirl-DO8dNtED.js → Swirl-BUKxPesY.js} +0 -0
  183. /package/dist/core/{TiltShift-4QnOmvZ7.js → TiltShift-YxZeQ5Et.js} +0 -0
  184. /package/dist/core/{Tint-Qc-4l2re.js → Tint-Bss3hfZG.js} +0 -0
  185. /package/dist/core/{Tritone-COUPuEp_.js → Tritone-CVr6_qy3.js} +0 -0
  186. /package/dist/core/{Twirl-Se1glQAi.js → Twirl-CKwGdb3_.js} +0 -0
  187. /package/dist/core/{Vibrance-CUTMlggU.js → Vibrance-BiW7HP94.js} +0 -0
  188. /package/dist/core/{VideoTexture-DsvlYXHz.js → VideoTexture-CH9n_1hI.js} +0 -0
  189. /package/dist/core/{WaveDistortion-D75I7wpE.js → WaveDistortion-BYmLNaT1.js} +0 -0
  190. /package/dist/core/{WebcamTexture-Cj0_V3MP.js → WebcamTexture-wlrwZXeq.js} +0 -0
  191. /package/dist/core/{ZoomBlur-Cq6lhjH5.js → ZoomBlur-BtGAMd_0.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/Aurora';
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=Aurora.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Aurora.d.ts","sourceRoot":"","sources":["../../src/components/Aurora.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,qBAAqB,CAAC;AAG/E,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/Aurora/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
+ };
@@ -1,5 +1,6 @@
1
1
  export { default as AngularBlur } from './components/AngularBlur';
2
2
  export { default as Ascii } from './components/Ascii';
3
+ export { default as Aurora } from './components/Aurora';
3
4
  export { default as Beam } from './components/Beam';
4
5
  export { default as Blob } from './components/Blob';
5
6
  export { default as Blur } from './components/Blur';
@@ -59,6 +60,7 @@ export { default as Spiral } from './components/Spiral';
59
60
  export { default as Strands } from './components/Strands';
60
61
  export { default as Stretch } from './components/Stretch';
61
62
  export { default as Stripes } from './components/Stripes';
63
+ export { default as StudioBackground } from './components/StudioBackground';
62
64
  export { default as Swirl } from './components/Swirl';
63
65
  export { default as TiltShift } from './components/TiltShift';
64
66
  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":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}