shaders 2.4.76 → 2.4.78

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 (187) hide show
  1. package/dist/core/Form3D-D3MoN95S.js +574 -0
  2. package/dist/core/{VideoTexture-Cl-V4Igy.js → VideoTexture-DDnc6aVv.js} +1 -1
  3. package/dist/core/{WebcamTexture-5b9qf7mC.js → WebcamTexture-rb0dLKSc.js} +1 -1
  4. package/dist/core/effects/raymarch3d.d.ts +32 -0
  5. package/dist/core/effects/raymarch3d.d.ts.map +1 -0
  6. package/dist/core/index.js +61 -60
  7. package/dist/core/registry.js +61 -60
  8. package/dist/core/shaderRegistry-9huRXSRI.js +218 -0
  9. package/dist/core/shaderRegistry.d.ts.map +1 -1
  10. package/dist/core/shaders/Form3D/index.d.ts +59 -0
  11. package/dist/core/shaders/Form3D/index.d.ts.map +1 -0
  12. package/dist/core/shaders/Form3D/index.js +4 -0
  13. package/dist/core/shaders/Form3D/shapes/box.d.ts +14 -0
  14. package/dist/core/shaders/Form3D/shapes/box.d.ts.map +1 -0
  15. package/dist/core/shaders/Form3D/shapes/capsule.d.ts +14 -0
  16. package/dist/core/shaders/Form3D/shapes/capsule.d.ts.map +1 -0
  17. package/dist/core/shaders/Form3D/shapes/mobius.d.ts +15 -0
  18. package/dist/core/shaders/Form3D/shapes/mobius.d.ts.map +1 -0
  19. package/dist/core/shaders/Form3D/shapes/ribbon.d.ts +14 -0
  20. package/dist/core/shaders/Form3D/shapes/ribbon.d.ts.map +1 -0
  21. package/dist/core/shaders/Form3D/shapes/rotation.d.ts +5 -0
  22. package/dist/core/shaders/Form3D/shapes/rotation.d.ts.map +1 -0
  23. package/dist/core/shaders/Form3D/shapes/sphere.d.ts +13 -0
  24. package/dist/core/shaders/Form3D/shapes/sphere.d.ts.map +1 -0
  25. package/dist/core/shaders/Form3D/shapes/torus.d.ts +14 -0
  26. package/dist/core/shaders/Form3D/shapes/torus.d.ts.map +1 -0
  27. package/dist/core/shaders/Glass/index.js +1 -1
  28. package/dist/core/shaders/GlassTiles/index.js +1 -1
  29. package/dist/core/shaders/Glitch/index.js +1 -1
  30. package/dist/core/shaders/Glow/index.js +1 -1
  31. package/dist/core/shaders/Godrays/index.js +1 -1
  32. package/dist/core/shaders/Grayscale/index.js +1 -1
  33. package/dist/core/shaders/Grid/index.js +1 -1
  34. package/dist/core/shaders/GridDistortion/index.js +1 -1
  35. package/dist/core/shaders/Group/index.js +1 -1
  36. package/dist/core/shaders/Halftone/index.js +1 -1
  37. package/dist/core/shaders/HueShift/index.js +1 -1
  38. package/dist/core/shaders/ImageTexture/index.js +1 -1
  39. package/dist/core/shaders/Invert/index.js +1 -1
  40. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  41. package/dist/core/shaders/LensFlare/index.js +1 -1
  42. package/dist/core/shaders/LinearBlur/index.js +1 -1
  43. package/dist/core/shaders/LinearGradient/index.js +1 -1
  44. package/dist/core/shaders/Liquify/index.js +1 -1
  45. package/dist/core/shaders/Mirror/index.js +1 -1
  46. package/dist/core/shaders/Neon/index.js +1 -1
  47. package/dist/core/shaders/Paper/index.js +1 -1
  48. package/dist/core/shaders/Perspective/index.js +1 -1
  49. package/dist/core/shaders/Pixelate/index.js +1 -1
  50. package/dist/core/shaders/Plasma/index.js +1 -1
  51. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  52. package/dist/core/shaders/Polygon/index.js +1 -1
  53. package/dist/core/shaders/Posterize/index.js +1 -1
  54. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  55. package/dist/core/shaders/RadialGradient/index.js +1 -1
  56. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  57. package/dist/core/shaders/Ring/index.js +1 -1
  58. package/dist/core/shaders/Ripples/index.js +1 -1
  59. package/dist/core/shaders/RoundedRect/index.js +1 -1
  60. package/dist/core/shaders/Saturation/index.js +1 -1
  61. package/dist/core/shaders/Sharpness/index.js +1 -1
  62. package/dist/core/shaders/Shatter/index.js +1 -1
  63. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  64. package/dist/core/shaders/SineWave/index.js +1 -1
  65. package/dist/core/shaders/SolidColor/index.js +1 -1
  66. package/dist/core/shaders/Spherize/index.js +1 -1
  67. package/dist/core/shaders/Spiral/index.js +1 -1
  68. package/dist/core/shaders/Star/index.js +1 -1
  69. package/dist/core/shaders/Strands/index.js +1 -1
  70. package/dist/core/shaders/Stretch/index.js +1 -1
  71. package/dist/core/shaders/Stripes/index.js +1 -1
  72. package/dist/core/shaders/StudioBackground/index.js +1 -1
  73. package/dist/core/shaders/Swirl/index.js +1 -1
  74. package/dist/core/shaders/TiltShift/index.js +1 -1
  75. package/dist/core/shaders/Tint/index.js +1 -1
  76. package/dist/core/shaders/Trapezoid/index.js +1 -1
  77. package/dist/core/shaders/Tritone/index.js +1 -1
  78. package/dist/core/shaders/Twirl/index.js +1 -1
  79. package/dist/core/shaders/Vesica/index.js +1 -1
  80. package/dist/core/shaders/Vibrance/index.js +1 -1
  81. package/dist/core/shaders/VideoTexture/index.js +2 -2
  82. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  83. package/dist/core/shaders/WebcamTexture/index.js +2 -2
  84. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  85. package/dist/core/types.d.ts +1 -1
  86. package/dist/core/types.d.ts.map +1 -1
  87. package/dist/react/Form3D.js +180 -0
  88. package/dist/react/Preview.js +1 -0
  89. package/dist/react/Shader.js +1 -2
  90. package/dist/react/components/Form3D.d.ts +36 -0
  91. package/dist/react/components/Form3D.d.ts.map +1 -0
  92. package/dist/react/engine/Preview.d.ts.map +1 -1
  93. package/dist/react/index.d.ts +1 -0
  94. package/dist/react/index.d.ts.map +1 -1
  95. package/dist/react/index.js +2 -1
  96. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  97. package/dist/react/utils/generatePresetCode.js +15 -0
  98. package/dist/registry.js +225 -0
  99. package/dist/solid/components/Form3D.d.ts +33 -0
  100. package/dist/solid/components/Form3D.d.ts.map +1 -0
  101. package/dist/solid/components/Form3D.js +183 -0
  102. package/dist/solid/engine/Preview.d.ts.map +1 -1
  103. package/dist/solid/engine/Preview.js +64 -62
  104. package/dist/solid/engine/Shader.js +1 -1
  105. package/dist/solid/index.d.ts +1 -0
  106. package/dist/solid/index.d.ts.map +1 -1
  107. package/dist/solid/index.js +122 -120
  108. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  109. package/dist/solid/utils/generatePresetCode.js +15 -0
  110. package/dist/svelte/components/Form3D.svelte.d.ts +23 -0
  111. package/dist/svelte/{generatePresetCode-AulpMcSM.js → generatePresetCode-Bpe8YcaW.js} +15 -0
  112. package/dist/svelte/index.d.ts +1 -0
  113. package/dist/svelte/index.js +444 -297
  114. package/dist/svelte/source/components/Form3D.svelte +290 -0
  115. package/dist/svelte/source/engine/Preview.svelte +2 -0
  116. package/dist/svelte/source/index.js +1 -0
  117. package/dist/svelte/utils/generatePresetCode.js +1 -1
  118. package/dist/vue/Form3D.js +3 -0
  119. package/dist/vue/Form3D.vue_vue_type_script_setup_true_lang.js +173 -0
  120. package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
  121. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -2
  122. package/dist/vue/components/Form3D.vue.d.ts +58 -0
  123. package/dist/vue/components/Form3D.vue.d.ts.map +1 -0
  124. package/dist/vue/index.d.ts +1 -0
  125. package/dist/vue/index.d.ts.map +1 -1
  126. package/dist/vue/index.js +2 -1
  127. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  128. package/dist/vue/utils/generatePresetCode.js +15 -0
  129. package/package.json +19 -1
  130. package/dist/core/shaderRegistry-BNFvV6rz.js +0 -216
  131. /package/dist/core/{Glass-Xwagp7_F.js → Glass-CRaFJ-8c.js} +0 -0
  132. /package/dist/core/{GlassTiles-C3KnN5iI.js → GlassTiles-C3PKMWgp.js} +0 -0
  133. /package/dist/core/{Glitch-ktKO_KpJ.js → Glitch-MyIU0Bad.js} +0 -0
  134. /package/dist/core/{Glow-DBifdH__.js → Glow-1ee_R1fA.js} +0 -0
  135. /package/dist/core/{Godrays-Bh6SzbNk.js → Godrays-CvcPIegU.js} +0 -0
  136. /package/dist/core/{Grayscale-C3gjFyCl.js → Grayscale-8MPw9PHN.js} +0 -0
  137. /package/dist/core/{Grid-CtdGngeK.js → Grid-D64zkkku.js} +0 -0
  138. /package/dist/core/{GridDistortion-S4PnLDHk.js → GridDistortion-B7PGORW3.js} +0 -0
  139. /package/dist/core/{Group-B9Y-gzFl.js → Group-DoOcKuhW.js} +0 -0
  140. /package/dist/core/{Halftone-B5YmZMs3.js → Halftone-Co7P2SWy.js} +0 -0
  141. /package/dist/core/{HueShift-BTUePzBC.js → HueShift-Bvd9VTak.js} +0 -0
  142. /package/dist/core/{ImageTexture-Bx-3RaXB.js → ImageTexture-BJ1udc62.js} +0 -0
  143. /package/dist/core/{Invert-CRnAnmF1.js → Invert-5VR-fNRw.js} +0 -0
  144. /package/dist/core/{Kaleidoscope-ChPX5tcw.js → Kaleidoscope-B0McCEhc.js} +0 -0
  145. /package/dist/core/{LensFlare-Ci0e-hkw.js → LensFlare-DXgpPyJK.js} +0 -0
  146. /package/dist/core/{LinearBlur-DaW1vgWS.js → LinearBlur-CBl0B23J.js} +0 -0
  147. /package/dist/core/{LinearGradient-D7APN-6R.js → LinearGradient-C0FT7-Lc.js} +0 -0
  148. /package/dist/core/{Liquify-CeIq9oBd.js → Liquify-Cy6ck3_k.js} +0 -0
  149. /package/dist/core/{Mirror-BYbVTGkj.js → Mirror-DfZBEOUf.js} +0 -0
  150. /package/dist/core/{Neon-Bt0J1xV_.js → Neon-E8whPM6C.js} +0 -0
  151. /package/dist/core/{Paper-C2D-Fwp3.js → Paper-DJwBbPxA.js} +0 -0
  152. /package/dist/core/{Perspective-Bdm0cUQh.js → Perspective-BdHcCgqZ.js} +0 -0
  153. /package/dist/core/{Pixelate-CTjHHN-r.js → Pixelate-B9x2E0k-.js} +0 -0
  154. /package/dist/core/{Plasma-CCGtK1Nq.js → Plasma-CMXrHMJv.js} +0 -0
  155. /package/dist/core/{PolarCoordinates-XCMKSG2_.js → PolarCoordinates-tZbl0VOq.js} +0 -0
  156. /package/dist/core/{Polygon-bhh40D7s.js → Polygon-B4ab2iAo.js} +0 -0
  157. /package/dist/core/{Posterize-BI-jQFPl.js → Posterize-Big6cECo.js} +0 -0
  158. /package/dist/core/{ProgressiveBlur-BJTqGhls.js → ProgressiveBlur-D0ZlHOw4.js} +0 -0
  159. /package/dist/core/{RadialGradient-iLZnaIxZ.js → RadialGradient-C1Uu5_bL.js} +0 -0
  160. /package/dist/core/{RectangularCoordinates-BaO9nFBZ.js → RectangularCoordinates-BB7_S4gH.js} +0 -0
  161. /package/dist/core/{Ring-CVjkjiUD.js → Ring-DVW66Ug0.js} +0 -0
  162. /package/dist/core/{Ripples-DM_4XyVc.js → Ripples-DeRyNukC.js} +0 -0
  163. /package/dist/core/{RoundedRect-DIZw7grS.js → RoundedRect-B9y33WS5.js} +0 -0
  164. /package/dist/core/{Saturation-Sn1JvnA0.js → Saturation-NrGhLp0a.js} +0 -0
  165. /package/dist/core/{Sharpness-bKBphxzQ.js → Sharpness-DAC9Qnh0.js} +0 -0
  166. /package/dist/core/{Shatter-BaTW-RUu.js → Shatter-ZIaXf4fs.js} +0 -0
  167. /package/dist/core/{SimplexNoise-BHkNvira.js → SimplexNoise-mSsE7oXX.js} +0 -0
  168. /package/dist/core/{SineWave-BiSC-P30.js → SineWave-BAhTQVXp.js} +0 -0
  169. /package/dist/core/{SolidColor-Cx-mC1as.js → SolidColor-BQnId3qy.js} +0 -0
  170. /package/dist/core/{Spherize-Do9r5rep.js → Spherize-YvHlKrZy.js} +0 -0
  171. /package/dist/core/{Spiral-cnUEuXK4.js → Spiral-DUDZyQjj.js} +0 -0
  172. /package/dist/core/{Star-CYt36zBy.js → Star-DB4dmzyz.js} +0 -0
  173. /package/dist/core/{Strands-Cv5R6Tve.js → Strands-CF49kt1s.js} +0 -0
  174. /package/dist/core/{Stretch-Cbg46rCc.js → Stretch-Dkhera5t.js} +0 -0
  175. /package/dist/core/{Stripes-BFeaEYmE.js → Stripes-BOROXiAH.js} +0 -0
  176. /package/dist/core/{StudioBackground-DmjrfYQk.js → StudioBackground-DNmf8LGj.js} +0 -0
  177. /package/dist/core/{Swirl-BnYnaDkG.js → Swirl-C5RQIA6E.js} +0 -0
  178. /package/dist/core/{TiltShift-CZYvmOJC.js → TiltShift-BgscLSg_.js} +0 -0
  179. /package/dist/core/{Tint-CpEcvX7Q.js → Tint-CvKUJTtg.js} +0 -0
  180. /package/dist/core/{Trapezoid-C9JGRsdF.js → Trapezoid-Co8cWZTK.js} +0 -0
  181. /package/dist/core/{Tritone-zGl8HUq_.js → Tritone-Ss5m7yFO.js} +0 -0
  182. /package/dist/core/{Twirl-CYwSYwxr.js → Twirl-CF_9ObSp.js} +0 -0
  183. /package/dist/core/{Vesica-BF2ZOKVA.js → Vesica-C7tcbHbW.js} +0 -0
  184. /package/dist/core/{Vibrance-MtwpojF5.js → Vibrance-DVWcESAa.js} +0 -0
  185. /package/dist/core/{WaveDistortion-BOovaVR7.js → WaveDistortion-Caj3cQz7.js} +0 -0
  186. /package/dist/core/{ZoomBlur-COhLGJIk.js → ZoomBlur-DUrSxwl0.js} +0 -0
  187. /package/dist/core/{browser-BHtD5nQW.js → browser-daS5XZwr.js} +0 -0
@@ -0,0 +1,180 @@
1
+ import { ShaderContext } from "./Shader.js";
2
+ import { useContext, useEffect, useMemo, useRef } from "react";
3
+ import { createUniformsMap } from "../core/index.js";
4
+ import { setColorSpaceMode } from "../core/utilities/transformations/index.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { componentDefinition } from "../core/shaders/Form3D/index.js";
7
+ function isPropDriver(value) {
8
+ return typeof value === "object" && value !== null && "type" in value && (value.type === "map" || value.type === "mouse" || value.type === "mouse-position" || value.type === "auto-animate");
9
+ }
10
+ function computeEffectiveProps(props, defaultProps$1) {
11
+ let baseProps = { ...defaultProps$1 };
12
+ for (const [key, value] of Object.entries(props)) if (key !== "children" && key !== "ref" && value !== void 0 && !isPropDriver(value)) baseProps[key] = value;
13
+ return baseProps;
14
+ }
15
+ var MARKER_STYLE = { display: "contents" };
16
+ var DEFAULT_TRANSFORM = {
17
+ offsetX: 0,
18
+ offsetY: 0,
19
+ rotation: 0,
20
+ scale: 1,
21
+ anchorX: .5,
22
+ anchorY: .5,
23
+ edges: "transparent"
24
+ };
25
+ var defaultProps = {
26
+ blendMode: "normal",
27
+ visible: true
28
+ };
29
+ try {
30
+ if (componentDefinition && componentDefinition.props) Object.entries(componentDefinition.props).forEach(([key, config]) => {
31
+ const propConfig = config;
32
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) defaultProps[key] = propConfig.default;
33
+ });
34
+ } catch (e) {
35
+ console.warn("Error extracting default props:", e);
36
+ }
37
+ const ShaderComponent = (props) => {
38
+ const context = useContext(ShaderContext);
39
+ if (!context) throw new Error("Shader components must be used inside an <Shader> component or another shader component");
40
+ const { shaderParentId: parentId, shaderNodeRegister: parentRegister, shaderUniformUpdate: parentUniformUpdate, shaderMetadataUpdate: parentMetadataUpdate, shaderColorSpace } = context;
41
+ const instanceId = useMemo(() => {
42
+ return (props.id ? props.id.replace(/[^a-zA-Z0-9_]/g, "_") : null) || Math.random().toString(36).substring(2, 10);
43
+ }, [props.id]);
44
+ const effectiveProps = useMemo(() => {
45
+ return computeEffectiveProps(props, defaultProps);
46
+ }, [props]);
47
+ const effectiveTransform = useMemo(() => ({
48
+ ...DEFAULT_TRANSFORM,
49
+ ...props.transform
50
+ }), [props.transform]);
51
+ const markerRef = useRef(null);
52
+ const detectedOrderRef = useRef(void 0);
53
+ const uniformsRef = useRef(null);
54
+ if (uniformsRef.current === null) {
55
+ setColorSpaceMode(shaderColorSpace);
56
+ uniformsRef.current = createUniformsMap(componentDefinition, effectiveProps, instanceId);
57
+ }
58
+ const childContextValue = useMemo(() => {
59
+ return {
60
+ ...context,
61
+ shaderParentId: instanceId
62
+ };
63
+ }, [context, instanceId]);
64
+ useEffect(() => {
65
+ if (!uniformsRef.current) return;
66
+ try {
67
+ const metadata = {
68
+ blendMode: props.blendMode || "normal",
69
+ opacity: props.opacity,
70
+ visible: props.visible === false ? false : true,
71
+ id: props.id,
72
+ mask: props.maskSource ? {
73
+ source: props.maskSource,
74
+ type: props.maskType || "alpha"
75
+ } : void 0,
76
+ maps: mapsFromProps,
77
+ renderOrder: props.renderOrder ?? detectedOrderRef.current,
78
+ transform: effectiveTransform
79
+ };
80
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniformsRef.current, componentDefinition);
81
+ return () => {
82
+ parentRegister(instanceId, null, null, null, null);
83
+ };
84
+ } catch (error) {
85
+ console.error("Error registering shader node:", error);
86
+ return () => {};
87
+ }
88
+ }, [
89
+ instanceId,
90
+ parentId,
91
+ parentRegister
92
+ ]);
93
+ useEffect(() => {
94
+ if (props.renderOrder === void 0 && markerRef.current) {
95
+ const parent = markerRef.current.parentElement;
96
+ if (parent) {
97
+ const siblings = parent.querySelectorAll(":scope > [data-shader-id]");
98
+ const position = Array.from(siblings).indexOf(markerRef.current);
99
+ if (position >= 0) {
100
+ detectedOrderRef.current = position;
101
+ parentMetadataUpdate(instanceId, { renderOrder: position });
102
+ }
103
+ }
104
+ }
105
+ }, []);
106
+ const prevPropsRef = useRef({});
107
+ const mapsFromProps = useMemo(() => {
108
+ const maps = {};
109
+ for (const [key, value] of Object.entries(props)) if (key !== "children" && key !== "ref" && isPropDriver(value)) maps[key] = value;
110
+ return Object.keys(maps).length > 0 ? maps : void 0;
111
+ }, [props]);
112
+ useEffect(() => {
113
+ if (!uniformsRef.current) return;
114
+ try {
115
+ Object.entries(uniformsRef.current).forEach(([propName, uniformData]) => {
116
+ if (!uniformData || typeof uniformData !== "object") return;
117
+ const { uniform } = uniformData;
118
+ if (uniform?.value !== void 0 && propName in effectiveProps) {
119
+ const newValue = effectiveProps[propName];
120
+ if (isPropDriver(newValue)) return;
121
+ if (newValue !== prevPropsRef.current[propName]) {
122
+ parentUniformUpdate(instanceId, propName, newValue);
123
+ prevPropsRef.current[propName] = newValue;
124
+ }
125
+ }
126
+ });
127
+ } catch (error) {
128
+ console.error("Error updating uniforms:", error);
129
+ }
130
+ }, [
131
+ effectiveProps,
132
+ instanceId,
133
+ parentUniformUpdate
134
+ ]);
135
+ useEffect(() => {
136
+ try {
137
+ parentMetadataUpdate(instanceId, {
138
+ blendMode: props.blendMode || "normal",
139
+ opacity: props.opacity,
140
+ visible: props.visible === false ? false : true,
141
+ id: props.id,
142
+ mask: props.maskSource ? {
143
+ source: props.maskSource,
144
+ type: props.maskType || "alpha"
145
+ } : void 0,
146
+ maps: mapsFromProps,
147
+ renderOrder: props.renderOrder ?? detectedOrderRef.current,
148
+ transform: effectiveTransform
149
+ });
150
+ } catch (error) {
151
+ console.error("Error updating metadata:", error);
152
+ }
153
+ }, [
154
+ props.blendMode,
155
+ props.opacity,
156
+ props.visible,
157
+ props.maskSource,
158
+ props.maskType,
159
+ props.renderOrder,
160
+ props.id,
161
+ mapsFromProps,
162
+ effectiveTransform,
163
+ instanceId,
164
+ parentMetadataUpdate
165
+ ]);
166
+ if (props.ref && typeof props.ref === "function") try {
167
+ props.ref(null);
168
+ } catch (e) {}
169
+ return /* @__PURE__ */ jsx(ShaderContext.Provider, {
170
+ value: childContextValue,
171
+ children: /* @__PURE__ */ jsx("span", {
172
+ ref: markerRef,
173
+ style: MARKER_STYLE,
174
+ "data-shader-id": instanceId,
175
+ children: props.children
176
+ })
177
+ });
178
+ };
179
+ var Form3D_default = ShaderComponent;
180
+ export { ShaderComponent, Form3D_default as default };
@@ -51,6 +51,7 @@ var componentMap = {
51
51
  FloatingParticles: lazy(() => import("./FloatingParticles.js")),
52
52
  FlowField: lazy(() => import("./FlowField.js")),
53
53
  Flower: lazy(() => import("./Flower.js")),
54
+ Form3D: lazy(() => import("./Form3D.js")),
54
55
  Glass: lazy(() => import("./Glass.js")),
55
56
  GlassTiles: lazy(() => import("./GlassTiles.js")),
56
57
  Glitch: lazy(() => import("./Glitch.js")),
@@ -80,8 +80,7 @@ const Shader = ({ children, disableTelemetry = false, colorSpace = "p3-linear",
80
80
  return;
81
81
  }
82
82
  if (rendererRef.current.getPerformanceStats().fps > 0) {
83
- const version = typeof __SHADERS_VERSION__ !== "undefined" ? __SHADERS_VERSION__ : "unknown";
84
- telemetryCollectorRef.current = startTelemetry(rendererRef.current, version, disableTelemetry, isPreview);
83
+ telemetryCollectorRef.current = startTelemetry(rendererRef.current, "2.4.78", disableTelemetry, isPreview);
85
84
  if (telemetryCollectorRef.current) telemetryCollectorRef.current.start();
86
85
  telemetryStartTimeoutRef.current = null;
87
86
  } else telemetryStartTimeoutRef.current = window.setTimeout(checkRendering, 500);
@@ -0,0 +1,36 @@
1
+ import { default as React } from 'react';
2
+ import { BlendMode, PropDriver, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/Form3D';
4
+
5
+ export type { ComponentProps };
6
+ /**
7
+ * Base props that all shader components have
8
+ */
9
+ interface BaseShaderProps {
10
+ children?: React.ReactNode;
11
+ blendMode?: BlendMode;
12
+ opacity?: number;
13
+ visible?: boolean;
14
+ id?: string;
15
+ maskSource?: string;
16
+ maskType?: string;
17
+ renderOrder?: number;
18
+ transform?: Partial<TransformConfig>;
19
+ ref?: React.Ref<any>;
20
+ }
21
+ /**
22
+ * Component-specific props that merge base props with shader-specific props
23
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
24
+ */
25
+ type ShaderComponentProps = BaseShaderProps & Partial<Omit<ComponentProps, 'center' | 'zoom' | 'glossiness' | 'lighting'>> & {
26
+ center?: ComponentProps['center'] | PropDriver;
27
+ zoom?: ComponentProps['zoom'] | PropDriver;
28
+ glossiness?: ComponentProps['glossiness'] | PropDriver;
29
+ lighting?: ComponentProps['lighting'] | PropDriver;
30
+ };
31
+ /**
32
+ * The main React wrapper component for Shader shader nodes
33
+ */
34
+ export declare const ShaderComponent: React.FC<ShaderComponentProps>;
35
+ export default ShaderComponent;
36
+ //# sourceMappingURL=Form3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form3D.d.ts","sourceRoot":"","sources":["../../src/components/Form3D.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,UAAU,EACf,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAGtB,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,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB;AAOD;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC,CAAC,GAAG;IAC3H,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;IAC/C,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAC3C,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACpD,CAAC;AAwDF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmM1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/engine/Preview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4E,KAAK,aAAa,EAAE,KAAK,EAAE,EAA4B,MAAM,OAAO,CAAA;AAKvJ,MAAM,WAAW,eAAe;IAC9B,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;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAkJD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AA6BD,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA+HpC,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/engine/Preview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4E,KAAK,aAAa,EAAE,KAAK,EAAE,EAA4B,MAAM,OAAO,CAAA;AAKvJ,MAAM,WAAW,eAAe;IAC9B,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;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAmJD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AA6BD,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA+HpC,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -29,6 +29,7 @@ export { default as FilmGrain } from './components/FilmGrain';
29
29
  export { default as FloatingParticles } from './components/FloatingParticles';
30
30
  export { default as FlowField } from './components/FlowField';
31
31
  export { default as Flower } from './components/Flower';
32
+ export { default as Form3D } from './components/Form3D';
32
33
  export { default as Glass } from './components/Glass';
33
34
  export { default as GlassTiles } from './components/GlassTiles';
34
35
  export { default as Glitch } from './components/Glitch';
@@ -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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"}
@@ -30,6 +30,7 @@ import FilmGrain_default from "./FilmGrain.js";
30
30
  import FloatingParticles_default from "./FloatingParticles.js";
31
31
  import FlowField_default from "./FlowField.js";
32
32
  import Flower_default from "./Flower.js";
33
+ import Form3D_default from "./Form3D.js";
33
34
  import Glass_default from "./Glass.js";
34
35
  import GlassTiles_default from "./GlassTiles.js";
35
36
  import Glitch_default from "./Glitch.js";
@@ -90,4 +91,4 @@ import WebcamTexture_default from "./WebcamTexture.js";
90
91
  import ZoomBlur_default from "./ZoomBlur.js";
91
92
  import { Preview } from "./Preview.js";
92
93
  import { generatePresetCode } from "./utils/generatePresetCode.js";
93
- 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, 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, 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 };
94
+ 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, 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, 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;AAgrCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CA4ClG;AAGD,eAAO,MAAM,mBAAmB,UA2F/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;AA8rCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CA4ClG;AAGD,eAAO,MAAM,mBAAmB,UA4F/B,CAAA"}
@@ -389,6 +389,20 @@ var shaderMetadata = {
389
389
  "evolutionSpeed": 0,
390
390
  "edges": "mirror"
391
391
  },
392
+ "Form3D": {
393
+ "opacity": 1,
394
+ "blendMode": "normal",
395
+ "shape3d": "{\"type\":\"ribbon\",\"angle\":0,\"twist\":50,\"width\":40,\"thickness\":20,\"seed\":0}",
396
+ "center": {
397
+ "x": .5,
398
+ "y": .5
399
+ },
400
+ "zoom": 50,
401
+ "glossiness": 50,
402
+ "lighting": 50,
403
+ "uvMode": "stretch",
404
+ "speed": 1
405
+ },
392
406
  "Glass": {
393
407
  "opacity": 1,
394
408
  "blendMode": "normal",
@@ -1175,6 +1189,7 @@ const availableComponents = [
1175
1189
  "FloatingParticles",
1176
1190
  "FlowField",
1177
1191
  "Flower",
1192
+ "Form3D",
1178
1193
  "Glass",
1179
1194
  "GlassTiles",
1180
1195
  "Glitch",
package/dist/registry.js CHANGED
@@ -6913,6 +6913,231 @@ export const shaderRegistry = [
6913
6913
  }
6914
6914
  }
6915
6915
  },
6916
+ {
6917
+ "name": "Form3D",
6918
+ "category": "Distortions",
6919
+ "description": "Wraps child content onto a 3D raymarched shape with lighting.",
6920
+ "fileName": "Form3D",
6921
+ "requiresChild": true,
6922
+ "definition": {
6923
+ "name": "Form3D",
6924
+ "category": "Distortions",
6925
+ "description": "Wraps child content onto a 3D raymarched shape with lighting.",
6926
+ "requiresRTT": true,
6927
+ "requiresChild": true,
6928
+ "props": {
6929
+ "shape3d": {
6930
+ "default": "{\"type\":\"ribbon\",\"angle\":0,\"twist\":50,\"width\":40,\"thickness\":20,\"seed\":0}",
6931
+ "description": "3D shape and its parameters",
6932
+ "ui": {
6933
+ "type": "shape3d",
6934
+ "label": "Shape",
6935
+ "group": "Shape"
6936
+ }
6937
+ },
6938
+ "shape3dType": {
6939
+ "default": "ribbon",
6940
+ "compileTime": true,
6941
+ "description": "Active shape type — triggers recompile when shape is switched"
6942
+ },
6943
+ "center": {
6944
+ "default": {
6945
+ "x": 0.5,
6946
+ "y": 0.5
6947
+ },
6948
+ "description": "Center position of the shape on screen",
6949
+ "ui": {
6950
+ "type": "position",
6951
+ "label": "Center",
6952
+ "group": "Position"
6953
+ }
6954
+ },
6955
+ "zoom": {
6956
+ "default": 50,
6957
+ "description": "Camera zoom level",
6958
+ "ui": {
6959
+ "type": [
6960
+ "range",
6961
+ "map"
6962
+ ],
6963
+ "min": 10,
6964
+ "max": 200,
6965
+ "step": 1,
6966
+ "label": "Zoom",
6967
+ "group": "Scene"
6968
+ }
6969
+ },
6970
+ "glossiness": {
6971
+ "default": 50,
6972
+ "description": "Specular highlight intensity and sharpness",
6973
+ "ui": {
6974
+ "type": [
6975
+ "range",
6976
+ "map"
6977
+ ],
6978
+ "min": 0,
6979
+ "max": 200,
6980
+ "step": 1,
6981
+ "label": "Glossiness",
6982
+ "group": "Lighting"
6983
+ }
6984
+ },
6985
+ "lighting": {
6986
+ "default": 50,
6987
+ "description": "Overall intensity of lighting effects",
6988
+ "ui": {
6989
+ "type": [
6990
+ "range",
6991
+ "map"
6992
+ ],
6993
+ "min": 0,
6994
+ "max": 200,
6995
+ "step": 1,
6996
+ "label": "Lighting",
6997
+ "group": "Lighting"
6998
+ }
6999
+ },
7000
+ "uvMode": {
7001
+ "default": "stretch",
7002
+ "description": "How to handle UV coordinates at shape boundaries",
7003
+ "ui": {
7004
+ "type": "select",
7005
+ "options": [
7006
+ {
7007
+ "label": "Stretch",
7008
+ "value": "stretch"
7009
+ },
7010
+ {
7011
+ "label": "Mirror",
7012
+ "value": "mirror"
7013
+ },
7014
+ {
7015
+ "label": "Wrap",
7016
+ "value": "wrap"
7017
+ }
7018
+ ],
7019
+ "label": "UV Edges",
7020
+ "group": "Scene"
7021
+ }
7022
+ },
7023
+ "speed": {
7024
+ "default": 1,
7025
+ "description": "Animation speed — scales all spin rates",
7026
+ "ui": {
7027
+ "type": "range",
7028
+ "min": -10,
7029
+ "max": 10,
7030
+ "step": 0.1,
7031
+ "label": "Speed",
7032
+ "group": "Animation"
7033
+ }
7034
+ }
7035
+ }
7036
+ },
7037
+ "propsMetadata": {
7038
+ "shape3d": {
7039
+ "ui": {
7040
+ "type": "shape3d",
7041
+ "label": "Shape",
7042
+ "group": "Shape"
7043
+ },
7044
+ "default": "{\"type\":\"ribbon\",\"angle\":0,\"twist\":50,\"width\":40,\"thickness\":20,\"seed\":0}",
7045
+ "description": "3D shape and its parameters"
7046
+ },
7047
+ "center": {
7048
+ "ui": {
7049
+ "type": "position",
7050
+ "label": "Center",
7051
+ "group": "Position"
7052
+ },
7053
+ "default": {
7054
+ "x": 0.5,
7055
+ "y": 0.5
7056
+ },
7057
+ "description": "Center position of the shape on screen"
7058
+ },
7059
+ "zoom": {
7060
+ "ui": {
7061
+ "type": [
7062
+ "range",
7063
+ "map"
7064
+ ],
7065
+ "min": 10,
7066
+ "max": 200,
7067
+ "step": 1,
7068
+ "label": "Zoom",
7069
+ "group": "Scene"
7070
+ },
7071
+ "default": 50,
7072
+ "description": "Camera zoom level"
7073
+ },
7074
+ "glossiness": {
7075
+ "ui": {
7076
+ "type": [
7077
+ "range",
7078
+ "map"
7079
+ ],
7080
+ "min": 0,
7081
+ "max": 200,
7082
+ "step": 1,
7083
+ "label": "Glossiness",
7084
+ "group": "Lighting"
7085
+ },
7086
+ "default": 50,
7087
+ "description": "Specular highlight intensity and sharpness"
7088
+ },
7089
+ "lighting": {
7090
+ "ui": {
7091
+ "type": [
7092
+ "range",
7093
+ "map"
7094
+ ],
7095
+ "min": 0,
7096
+ "max": 200,
7097
+ "step": 1,
7098
+ "label": "Lighting",
7099
+ "group": "Lighting"
7100
+ },
7101
+ "default": 50,
7102
+ "description": "Overall intensity of lighting effects"
7103
+ },
7104
+ "uvMode": {
7105
+ "ui": {
7106
+ "type": "select",
7107
+ "options": [
7108
+ {
7109
+ "label": "Stretch",
7110
+ "value": "stretch"
7111
+ },
7112
+ {
7113
+ "label": "Mirror",
7114
+ "value": "mirror"
7115
+ },
7116
+ {
7117
+ "label": "Wrap",
7118
+ "value": "wrap"
7119
+ }
7120
+ ],
7121
+ "label": "UV Edges",
7122
+ "group": "Scene"
7123
+ },
7124
+ "default": "stretch",
7125
+ "description": "How to handle UV coordinates at shape boundaries"
7126
+ },
7127
+ "speed": {
7128
+ "ui": {
7129
+ "type": "range",
7130
+ "min": -10,
7131
+ "max": 10,
7132
+ "step": 0.1,
7133
+ "label": "Speed",
7134
+ "group": "Animation"
7135
+ },
7136
+ "default": 1,
7137
+ "description": "Animation speed — scales all spin rates"
7138
+ }
7139
+ }
7140
+ },
6916
7141
  {
6917
7142
  "name": "Glass",
6918
7143
  "category": "Shape Effects",
@@ -0,0 +1,33 @@
1
+ import { JSX } from 'solid-js';
2
+ import { BlendMode, PropDriver, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/Form3D';
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<Omit<ComponentProps, 'center' | 'zoom' | 'glossiness' | 'lighting'>> & {
24
+ center?: ComponentProps['center'] | PropDriver;
25
+ zoom?: ComponentProps['zoom'] | PropDriver;
26
+ glossiness?: ComponentProps['glossiness'] | PropDriver;
27
+ lighting?: ComponentProps['lighting'] | PropDriver;
28
+ };
29
+ /**
30
+ * The main Solid wrapper component for Shader shader nodes
31
+ */
32
+ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element;
33
+ //# sourceMappingURL=Form3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form3D.d.ts","sourceRoot":"","sources":["../../src/components/Form3D.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,UAAU,EACf,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAGtB,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;AAOD;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC,CAAC,GAAG;IAC3H,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;IAC/C,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAC3C,UAAU,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACpD,CAAC;AAmCF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA+LlE"}