shaders 2.2.0 → 2.2.2

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 (217) hide show
  1. package/dist/core/{AngularBlur-BJi-Edw-.js → AngularBlur-BTUdXC0g.js} +7 -6
  2. package/dist/core/{Ascii-B1KHvM1u.js → Ascii-Bu8ii7oo.js} +32 -31
  3. package/dist/core/Blob-C0G0efjG.js +170 -0
  4. package/dist/core/{Blur-bz9Ubr0x.js → Blur-BzUO9yxF.js} +14 -13
  5. package/dist/core/Bulge-BCXYAzig.js +104 -0
  6. package/dist/core/{CRTScreen-BnfROw0f.js → CRTScreen-cJ3XHrI9.js} +13 -12
  7. package/dist/core/{ChannelBlur-DhWT-55L.js → ChannelBlur-BEK1qzGn.js} +23 -22
  8. package/dist/core/{Checkerboard-CgWGd9t7.js → Checkerboard-BPkiSF5I.js} +16 -14
  9. package/dist/core/{ChromaFlow-DOVrymVB.js → ChromaFlow-AHO3C4o3.js} +18 -17
  10. package/dist/core/{ChromaticAberration-CyTSXY7j.js → ChromaticAberration-nVg3r1FK.js} +12 -11
  11. package/dist/core/{Circle-0WHV1HrM.js → Circle-C8ltF4BZ.js} +15 -13
  12. package/dist/core/{CursorTrail-3zQ5rtjh.js → CursorTrail-BeJGeovB.js} +17 -16
  13. package/dist/core/DiffuseBlur-BdGvOoBw.js +40 -0
  14. package/dist/core/{Dither-Cnbknfji.js → Dither-CpN3vGSh.js} +13 -12
  15. package/dist/core/DotGrid-BFUzeSQw.js +62 -0
  16. package/dist/core/{Duotone-BI4tJI3k.js → Duotone-_nR_o3-g.js} +8 -7
  17. package/dist/core/FilmGrain-BAKXXtLg.js +29 -0
  18. package/dist/core/FloatingParticles-Fv8JIzKk.js +161 -0
  19. package/dist/core/GlassTiles-5MyBj1ff.js +53 -0
  20. package/dist/core/{Glow-BD0t9E1L.js → Glow-DvJj7BB7.js} +12 -11
  21. package/dist/core/{Godrays-CPIAbymT.js → Godrays-cUzAKVXn.js} +24 -22
  22. package/dist/core/{Grayscale-BtOqK43k.js → Grayscale-oWIF3PV5.js} +3 -2
  23. package/dist/core/Grid-Bov7AA9m.js +51 -0
  24. package/dist/core/GridDistortion-CWYom5Dw.js +148 -0
  25. package/dist/core/Group-CPk-7fiA.js +18 -0
  26. package/dist/core/{Halftone-B_MuXCD8.js → Halftone-F7fsdu7W.js} +11 -10
  27. package/dist/core/{HueShift-CKG9M-d2.js → HueShift-CiS4hdtk.js} +3 -2
  28. package/dist/core/{ImageTexture-B6zFP2fB.js → ImageTexture-B3Q29OHX.js} +24 -22
  29. package/dist/core/Invert-Cyc4JHWc.js +21 -0
  30. package/dist/core/{LinearBlur-JFLMQBY4.js → LinearBlur-BTC54qzk.js} +12 -11
  31. package/dist/core/{LinearGradient-Ztg5Lzwj.js → LinearGradient-LEMeW0KM.js} +18 -16
  32. package/dist/core/Liquify-D2nzMDzq.js +140 -0
  33. package/dist/core/Pixelate-irPzmtQm.js +39 -0
  34. package/dist/core/{PolarCoordinates-qzU8gNXR.js → PolarCoordinates-Ck5ZWrQO.js} +21 -16
  35. package/dist/core/{Posterize-BkBU8tnN.js → Posterize-DICq_t96.js} +9 -8
  36. package/dist/core/{ProgressiveBlur-HAQf188T.js → ProgressiveBlur-BuORe3VH.js} +17 -16
  37. package/dist/core/{RadialGradient-DISqJuTZ.js → RadialGradient-D0cN67jm.js} +17 -15
  38. package/dist/core/RectangularCoordinates-1LIDaeHR.js +93 -0
  39. package/dist/core/{Ripples-CX8Qgnog.js → Ripples-DH71sFJc.js} +14 -12
  40. package/dist/core/{Saturation-DMxPYmIU.js → Saturation-DbSXtSeK.js} +10 -9
  41. package/dist/core/{SimplexNoise-B5ygfckG.js → SimplexNoise-DPGC2OPJ.js} +14 -12
  42. package/dist/core/{SineWave-KPFlP3Wk.js → SineWave-CkWtnzHF.js} +16 -14
  43. package/dist/core/{SolidColor-B8oxlGge.js → SolidColor-DaB-FHNX.js} +8 -6
  44. package/dist/core/{Spiral-CX22hUJ3.js → Spiral-CcyI8azF.js} +19 -17
  45. package/dist/core/Strands-Co4fkc05.js +126 -0
  46. package/dist/core/{Swirl-CIXreSgZ.js → Swirl-BoveqtNV.js} +18 -16
  47. package/dist/core/{TiltShift-J0UUcoh-.js → TiltShift-D53azmRe.js} +14 -13
  48. package/dist/core/{Tritone-E9eHvjJV.js → Tritone-Cg1rX-hL.js} +13 -12
  49. package/dist/core/{Twirl-ClhPpapm.js → Twirl-raO5pe5X.js} +20 -15
  50. package/dist/core/{Vibrance-CqnE9Zco.js → Vibrance-DtekSkcz.js} +8 -7
  51. package/dist/core/WaveDistortion-C65qO_cZ.js +133 -0
  52. package/dist/core/{ZoomBlur-CaGbSDG3.js → ZoomBlur-B97ZjhXe.js} +11 -10
  53. package/dist/core/{colorMixing-C_ESXyqX.js → colorMixing-DPZ-Td4U.js} +3 -3
  54. package/dist/core/edges-B-tVdqcI.js +16 -0
  55. package/dist/core/index.js +1333 -948
  56. package/dist/core/performanceTracker.d.ts +2 -0
  57. package/dist/core/performanceTracker.d.ts.map +1 -1
  58. package/dist/core/renderer.d.ts +12 -0
  59. package/dist/core/renderer.d.ts.map +1 -1
  60. package/dist/core/shaderRegistry.d.ts.map +1 -1
  61. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  62. package/dist/core/shaders/AngularBlur/index.js +3 -3
  63. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  64. package/dist/core/shaders/Ascii/index.js +2 -2
  65. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  66. package/dist/core/shaders/Blob/index.js +5 -5
  67. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  68. package/dist/core/shaders/Blur/index.js +2 -2
  69. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  70. package/dist/core/shaders/Bulge/index.js +4 -4
  71. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  72. package/dist/core/shaders/CRTScreen/index.js +2 -2
  73. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  74. package/dist/core/shaders/ChannelBlur/index.js +2 -2
  75. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  76. package/dist/core/shaders/Checkerboard/index.js +4 -4
  77. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  78. package/dist/core/shaders/ChromaFlow/index.js +3 -3
  79. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  80. package/dist/core/shaders/ChromaticAberration/index.js +3 -3
  81. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  82. package/dist/core/shaders/Circle/index.js +3 -3
  83. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  84. package/dist/core/shaders/CursorTrail/index.js +4 -4
  85. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  86. package/dist/core/shaders/DiffuseBlur/index.js +2 -2
  87. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  88. package/dist/core/shaders/Dither/index.js +3 -3
  89. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  90. package/dist/core/shaders/DotGrid/index.js +3 -3
  91. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  92. package/dist/core/shaders/Duotone/index.js +4 -4
  93. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  94. package/dist/core/shaders/FilmGrain/index.js +2 -2
  95. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  96. package/dist/core/shaders/FloatingParticles/index.js +3 -3
  97. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  98. package/dist/core/shaders/GlassTiles/index.js +2 -2
  99. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  100. package/dist/core/shaders/Glow/index.js +2 -2
  101. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  102. package/dist/core/shaders/Godrays/index.js +3 -3
  103. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  104. package/dist/core/shaders/Grayscale/index.js +2 -2
  105. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  106. package/dist/core/shaders/Grid/index.js +3 -3
  107. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  108. package/dist/core/shaders/GridDistortion/index.js +4 -4
  109. package/dist/core/shaders/Group/index.d.ts.map +1 -1
  110. package/dist/core/shaders/Group/index.js +2 -2
  111. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  112. package/dist/core/shaders/Halftone/index.js +3 -3
  113. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  114. package/dist/core/shaders/HueShift/index.js +2 -2
  115. package/dist/core/shaders/ImageTexture/index.d.ts +1 -1
  116. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  117. package/dist/core/shaders/ImageTexture/index.js +2 -2
  118. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  119. package/dist/core/shaders/Invert/index.js +2 -2
  120. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  121. package/dist/core/shaders/LinearBlur/index.js +3 -3
  122. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  123. package/dist/core/shaders/LinearGradient/index.js +4 -4
  124. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  125. package/dist/core/shaders/Liquify/index.js +4 -4
  126. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  127. package/dist/core/shaders/Pixelate/index.js +2 -2
  128. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  129. package/dist/core/shaders/PolarCoordinates/index.js +4 -4
  130. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  131. package/dist/core/shaders/Posterize/index.js +2 -2
  132. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  133. package/dist/core/shaders/ProgressiveBlur/index.js +3 -3
  134. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  135. package/dist/core/shaders/RadialGradient/index.js +4 -4
  136. package/dist/core/shaders/RectangularCoordinates/index.d.ts +38 -0
  137. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -0
  138. package/dist/core/shaders/RectangularCoordinates/index.js +8 -0
  139. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  140. package/dist/core/shaders/Ripples/index.js +4 -4
  141. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  142. package/dist/core/shaders/Saturation/index.js +2 -2
  143. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  144. package/dist/core/shaders/SimplexNoise/index.js +4 -4
  145. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  146. package/dist/core/shaders/SineWave/index.js +3 -3
  147. package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
  148. package/dist/core/shaders/SolidColor/index.js +3 -3
  149. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  150. package/dist/core/shaders/Spiral/index.js +4 -4
  151. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  152. package/dist/core/shaders/Strands/index.js +4 -4
  153. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  154. package/dist/core/shaders/Swirl/index.js +5 -5
  155. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  156. package/dist/core/shaders/TiltShift/index.js +3 -3
  157. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  158. package/dist/core/shaders/Tritone/index.js +4 -4
  159. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  160. package/dist/core/shaders/Twirl/index.js +4 -4
  161. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  162. package/dist/core/shaders/Vibrance/index.js +2 -2
  163. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  164. package/dist/core/shaders/WaveDistortion/index.js +6 -7
  165. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  166. package/dist/core/shaders/ZoomBlur/index.js +3 -3
  167. package/dist/core/telemetry/collector.d.ts.map +1 -1
  168. package/dist/core/telemetry/index.js +19 -19
  169. package/dist/core/{three.tsl-CgyjOhns.js → three.tsl-BqgDcRt9.js} +21 -20
  170. package/dist/core/{time-myrFQH-u.js → time-5uQ65blS.js} +1 -1
  171. package/dist/core/{transformations-Bs66Qh16.js → transformations-DBjTkQ5b.js} +1 -1
  172. package/dist/core/types.d.ts +85 -0
  173. package/dist/core/types.d.ts.map +1 -1
  174. package/dist/core/utilities/edges.d.ts +13 -2
  175. package/dist/core/utilities/edges.d.ts.map +1 -1
  176. package/dist/core/utilities/uvTransform.d.ts +20 -0
  177. package/dist/core/utilities/uvTransform.d.ts.map +1 -1
  178. package/dist/react/components/RectangularCoordinates.d.ts +31 -0
  179. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -0
  180. package/dist/react/index.cjs +233 -233
  181. package/dist/react/index.d.ts +1 -0
  182. package/dist/react/index.d.ts.map +1 -1
  183. package/dist/react/index.js +16218 -15498
  184. package/dist/react/utils/generatePresetCode.cjs +2 -2
  185. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  186. package/dist/react/utils/generatePresetCode.js +13 -1
  187. package/dist/registry.d.ts +3 -0
  188. package/dist/registry.js +376 -87
  189. package/dist/svelte/components/RectangularCoordinates.svelte.d.ts +19 -0
  190. package/dist/svelte/index.d.ts +1 -0
  191. package/dist/svelte/index.js +15766 -15088
  192. package/dist/svelte/utils/generatePresetCode.js +13 -1
  193. package/dist/vue/components/RectangularCoordinates.vue.d.ts +57 -0
  194. package/dist/vue/components/RectangularCoordinates.vue.d.ts.map +1 -0
  195. package/dist/vue/{generatePresetCode-B6Ks_W3s.js → generatePresetCode-D4V6rBae.js} +13 -1
  196. package/dist/vue/index.d.ts +1 -0
  197. package/dist/vue/index.d.ts.map +1 -1
  198. package/dist/vue/index.js +15240 -14552
  199. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  200. package/dist/vue/utils/generatePresetCode.js +1 -1
  201. package/package.json +6 -1
  202. package/dist/core/Blob-CBASKMfO.js +0 -168
  203. package/dist/core/Bulge-Ceythf-i.js +0 -99
  204. package/dist/core/DiffuseBlur-DLIKRsnf.js +0 -39
  205. package/dist/core/DotGrid-BkItF2C8.js +0 -60
  206. package/dist/core/FilmGrain-BAZORehh.js +0 -27
  207. package/dist/core/FloatingParticles-7wvOBUbD.js +0 -158
  208. package/dist/core/GlassTiles-C0y_PWTa.js +0 -48
  209. package/dist/core/Grid-Ro0Yi5WY.js +0 -49
  210. package/dist/core/GridDistortion-CuxRQdzs.js +0 -137
  211. package/dist/core/Group-DTXP-whY.js +0 -17
  212. package/dist/core/Invert-Cd7GK1vs.js +0 -20
  213. package/dist/core/Liquify-rmJGJAdt.js +0 -126
  214. package/dist/core/Pixelate-BIANS3t9.js +0 -34
  215. package/dist/core/Strands-Bv7RvyRC.js +0 -124
  216. package/dist/core/WaveDistortion-gecgVpvO.js +0 -129
  217. package/dist/core/edges-Cj8yVYgz.js +0 -10
@@ -43373,27 +43373,28 @@ var<${s}> ${e} : ${n};`;
43373
43373
  xO(), oC = f.BRDF_GGX, lC = f.BRDF_Lambert, uC = f.BasicPointShadowFilter, cC = f.BasicShadowFilter, hC = f.Break, dC = f.Const, pC = f.Continue, fC = f.DFGApprox, mC = f.D_GGX, gC = f.Discard, yC = f.EPSILON, xC = f.F_Schlick, bC = f.Fn, _C = f.INFINITY, TC = f.If, vC = f.Loop, SC = f.NodeAccess, NC = f.NodeShaderStage, MC = f.NodeType, wC = f.NodeUpdateType, AC = f.PCFShadowFilter, RC = f.PCFSoftShadowFilter, CC = f.PI, EC = f.PI2, BC = f.TWO_PI, FC = f.HALF_PI, PC = f.PointShadowFilter, LC = f.Return, IC = f.Schlick_to_F0, DC = f.ScriptableNodeResources, UC = f.ShaderNode, VC = f.Stack, OC = f.Switch, GC = f.TBNViewMatrix, zC = f.VSMShadowFilter, kC = f.V_GGX_SmithCorrelated, $C = f.Var, WC = f.VarIntent, qC = f.abs, jC = f.acesFilmicToneMapping, HC = f.acos, XC = f.add, YC = f.addMethodChaining, KC = f.addNodeElement, QC = f.agxToneMapping, ZC = f.all, JC = f.alphaT, e3 = f.and, t3 = f.anisotropy, s3 = f.anisotropyB, i3 = f.anisotropyT, r3 = f.any, n3 = f.append, a3 = f.array, o3 = f.arrayBuffer, l3 = f.asin, u3 = f.assign, c3 = f.atan, h3 = f.atan2, d3 = f.atomicAdd, p3 = f.atomicAnd, f3 = f.atomicFunc, m3 = f.atomicLoad, g3 = f.atomicMax, y3 = f.atomicMin, x3 = f.atomicOr, b3 = f.atomicStore, _3 = f.atomicSub, T3 = f.atomicXor, v3 = f.attenuationColor, S3 = f.attenuationDistance, N3 = f.attribute, M3 = f.attributeArray, w3 = f.backgroundBlurriness, A3 = f.backgroundIntensity, R3 = f.backgroundRotation, C3 = f.batch, E3 = f.bentNormalView, B3 = f.billboarding, F3 = f.bitAnd, P3 = f.bitNot, L3 = f.bitOr, I3 = f.bitXor, D3 = f.bitangentGeometry, U3 = f.bitangentLocal, V3 = f.bitangentView, O3 = f.bitangentWorld, G3 = f.bitcast, z3 = f.blendBurn, k3 = f.blendColor, $3 = f.blendDodge, W3 = f.blendOverlay, q3 = f.blendScreen, j3 = f.blur, H3 = f.bool, X3 = f.buffer, Y3 = f.bufferAttribute, K3 = f.bumpMap, Q3 = f.burn, Z3 = f.builtin, J3 = f.bvec2, e2 = f.bvec3, t2 = f.bvec4, s2 = f.bypass, i2 = f.cache, r2 = f.call, n2 = f.cameraFar, a2 = f.cameraIndex, o2 = f.cameraNear, l2 = f.cameraNormalMatrix, u2 = f.cameraPosition, c2 = f.cameraProjectionMatrix, h2 = f.cameraProjectionMatrixInverse, d2 = f.cameraViewMatrix, p2 = f.cameraViewport, f2 = f.cameraWorldMatrix, m2 = f.cbrt, g2 = f.cdl, y2 = f.ceil, x2 = f.checker, b2 = f.cineonToneMapping, _2 = f.clamp, T2 = f.clearcoat, v2 = f.clearcoatNormalView, S2 = f.clearcoatRoughness, N2 = f.code, M2 = f.color, w2 = f.colorSpaceToWorking, A2 = f.colorToDirection, R2 = f.compute, C2 = f.computeKernel, E2 = f.computeSkinning, B2 = f.context, F2 = f.convert, P2 = f.convertColorSpace, L2 = f.convertToTexture, I2 = f.cos, D2 = f.cross, U2 = f.cubeTexture, V2 = f.cubeTextureBase, O2 = f.cubeToUV, G2 = f.dFdx, z2 = f.dFdy, k2 = f.dashSize, $2 = f.debug, W2 = f.decrement, q2 = f.decrementBefore, j2 = f.defaultBuildStages, H2 = f.defaultShaderStages, X2 = f.defined, Y2 = f.degrees, K2 = f.deltaTime, Q2 = f.densityFog, Z2 = f.densityFogFactor, J2 = f.depth, eE = f.depthPass, tE = f.determinant, sE = f.difference, iE = f.diffuseColor, rE = f.directPointLight, nE = f.directionToColor, aE = f.directionToFaceDirection, oE = f.dispersion, lE = f.distance, uE = f.div, cE = f.dodge, hE = f.dot, dE = f.drawIndex, pE = f.dynamicBufferAttribute, fE = f.element, mE = f.emissive, gE = f.equal, yE = f.equals, xE = f.equirectUV, bE = f.exp, _E = f.exp2, TE = f.expression, vE = f.faceDirection, SE = f.faceForward, NE = f.faceforward, ME = f.float, wE = f.floatBitsToInt, AE = f.floatBitsToUint, RE = f.floor, CE = f.fog, EE = f.fract, BE = f.frameGroup, FE = f.frameId, PE = f.frontFacing, LE = f.fwidth, IE = f.gain, DE = f.gapSize, UE = f.getConstNodeType, VE = f.getCurrentStack, OE = f.getDirection, GE = f.getDistanceAttenuation, zE = f.getGeometryRoughness, kE = f.getNormalFromDepth, $E = f.interleavedGradientNoise, WE = f.getParallaxCorrectNormal, qE = f.getRoughness, jE = f.getScreenPosition, HE = f.getShIrradianceAt, XE = f.getShadowMaterial, YE = f.getShadowRenderObjectFunction, KE = f.getTextureIndex, QE = f.getViewPosition, ZE = f.globalId, JE = f.glsl, eB = f.glslFn, tB = f.grayscale, sB = f.greaterThan, iB = f.greaterThanEqual, rB = f.hash, nB = f.highpModelNormalViewMatrix, aB = f.highpModelViewMatrix, oB = f.hue, lB = f.increment, uB = f.incrementBefore, cB = f.instance, hB = f.instanceIndex, dB = f.instancedArray, pB = f.instancedBufferAttribute, fB = f.instancedDynamicBufferAttribute, mB = f.instancedMesh, gB = f.int, yB = f.intBitsToFloat, xB = f.inverse, bB = f.inverseSqrt, _B = f.inversesqrt, TB = f.invocationLocalIndex, vB = f.invocationSubgroupIndex, SB = f.ior, NB = f.iridescence, MB = f.iridescenceIOR, wB = f.iridescenceThickness, AB = f.ivec2, RB = f.ivec3, CB = f.ivec4, EB = f.js, BB = f.label, FB = f.length, PB = f.lengthSq, LB = f.lessThan, IB = f.lessThanEqual, DB = f.lightPosition, UB = f.lightProjectionUV, VB = f.lightShadowMatrix, OB = f.lightTargetDirection, GB = f.lightTargetPosition, zB = f.lightViewPosition, kB = f.lightingContext, $B = f.lights, WB = f.linearDepth, qB = f.linearToneMapping, jB = f.localId, HB = f.log, XB = f.log2, YB = f.logarithmicDepthToViewZ, KB = f.luminance, QB = f.mat2, ZB = f.mat3, JB = f.mat4, e4 = f.matcapUV, t4 = f.materialAO, s4 = f.materialAlphaTest, i4 = f.materialAnisotropy, r4 = f.materialAnisotropyVector, n4 = f.materialAttenuationColor, a4 = f.materialAttenuationDistance, o4 = f.materialClearcoat, l4 = f.materialClearcoatNormal, u4 = f.materialClearcoatRoughness, c4 = f.materialColor, h4 = f.materialDispersion, d4 = f.materialEmissive, p4 = f.materialEnvIntensity, f4 = f.materialEnvRotation, m4 = f.materialIOR, g4 = f.materialIridescence, y4 = f.materialIridescenceIOR, x4 = f.materialIridescenceThickness, b4 = f.materialLightMap, _4 = f.materialLineDashOffset, T4 = f.materialLineDashSize, v4 = f.materialLineGapSize, S4 = f.materialLineScale, N4 = f.materialLineWidth, M4 = f.materialMetalness, w4 = f.materialNormal, A4 = f.materialOpacity, R4 = f.materialPointSize, C4 = f.materialReference, E4 = f.materialReflectivity, B4 = f.materialRefractionRatio, F4 = f.materialRotation, P4 = f.materialRoughness, L4 = f.materialSheen, I4 = f.materialSheenRoughness, D4 = f.materialShininess, U4 = f.materialSpecular, V4 = f.materialSpecularColor, O4 = f.materialSpecularIntensity, G4 = f.materialSpecularStrength, z4 = f.materialThickness, k4 = f.materialTransmission, $4 = f.max, W4 = f.maxMipLevel, q4 = f.mediumpModelViewMatrix, j4 = f.metalness, H4 = f.min, X4 = f.mix, Y4 = f.mixElement, K4 = f.mod, Q4 = f.modInt, Z4 = f.modelDirection, J4 = f.modelNormalMatrix, eF = f.modelPosition, tF = f.modelRadius, sF = f.modelScale, iF = f.modelViewMatrix, rF = f.modelViewPosition, nF = f.modelViewProjection, aF = f.modelWorldMatrix, oF = f.modelWorldMatrixInverse, lF = f.morphReference, uF = f.mrt, cF = f.mul, hF = f.mx_aastep, dF = f.mx_add, pF = f.mx_atan2, fF = f.mx_cell_noise_float, mF = f.mx_contrast, gF = f.mx_divide, yF = f.mx_fractal_noise_float, xF = f.mx_fractal_noise_vec2, bF = f.mx_fractal_noise_vec3, _F = f.mx_fractal_noise_vec4, TF = f.mx_frame, vF = f.mx_heighttonormal, SF = f.mx_hsvtorgb, NF = f.mx_ifequal, MF = f.mx_ifgreater, wF = f.mx_ifgreatereq, AF = f.mx_invert, RF = f.mx_modulo, CF = f.mx_multiply, EF = f.mx_noise_float, BF = f.mx_noise_vec3, FF = f.mx_noise_vec4, PF = f.mx_place2d, LF = f.mx_power, IF = f.mx_ramp4, DF = f.mx_ramplr, UF = f.mx_ramptb, VF = f.mx_rgbtohsv, OF = f.mx_rotate2d, GF = f.mx_rotate3d, zF = f.mx_safepower, kF = f.mx_separate, $F = f.mx_splitlr, WF = f.mx_splittb, qF = f.mx_srgb_texture_to_lin_rec709, jF = f.mx_subtract, HF = f.mx_timer, XF = f.mx_transform_uv, YF = f.mx_unifiednoise2d, KF = f.mx_unifiednoise3d, QF = f.mx_worley_noise_float, ZF = f.mx_worley_noise_vec2, JF = f.mx_worley_noise_vec3, eP = f.negate, tP = f.neutralToneMapping, sP = f.nodeArray, iP = f.nodeImmutable, rP = f.nodeObject, nP = f.nodeObjectIntent, aP = f.nodeObjects, oP = f.nodeProxy, lP = f.nodeProxyIntent, uP = f.normalFlat, cP = f.normalGeometry, hP = f.normalLocal, dP = f.normalMap, pP = f.normalView, fP = f.normalViewGeometry, mP = f.normalWorld, gP = f.normalWorldGeometry, yP = f.normalize, xP = f.not, bP = f.notEqual, _P = f.numWorkgroups, TP = f.objectDirection, vP = f.objectGroup, SP = f.objectPosition, NP = f.objectRadius, MP = f.objectScale, wP = f.objectViewPosition, AP = f.objectWorldMatrix, RP = f.OnBeforeObjectUpdate, CP = f.OnBeforeMaterialUpdate, EP = f.OnObjectUpdate, BP = f.OnMaterialUpdate, FP = f.oneMinus, PP = f.or, LP = f.orthographicDepthToViewZ, IP = f.oscSawtooth, DP = f.oscSine, UP = f.oscSquare, VP = f.oscTriangle, OP = f.output, GP = f.outputStruct, zP = f.overlay, kP = f.overloadingFn, $P = f.parabola, WP = f.parallaxDirection, qP = f.parallaxUV, jP = f.parameter, HP = f.pass, XP = f.passTexture, YP = f.pcurve, KP = f.perspectiveDepthToViewZ, QP = f.pmremTexture, ZP = f.pointShadow, JP = f.pointUV, eL = f.pointWidth, tL = f.positionGeometry, sL = f.positionLocal, iL = f.positionPrevious, rL = f.positionView, nL = f.positionViewDirection, aL = f.positionWorld, oL = f.positionWorldDirection, lL = f.posterize, uL = f.pow, cL = f.pow2, hL = f.pow3, dL = f.pow4, pL = f.premultiplyAlpha, fL = f.property, mL = f.radians, gL = f.rand, yL = f.range, xL = f.rangeFog, bL = f.rangeFogFactor, _L = f.reciprocal, TL = f.reference, vL = f.referenceBuffer, SL = f.reflect, NL = f.reflectVector, ML = f.reflectView, wL = f.reflector, AL = f.refract, RL = f.refractVector, CL = f.refractView, EL = f.reinhardToneMapping, BL = f.remap, FL = f.remapClamp, PL = f.renderGroup, LL = f.renderOutput, IL = f.rendererReference, DL = f.rotate, UL = f.rotateUV, VL = f.roughness, OL = f.round, GL = f.rtt, zL = f.sRGBTransferEOTF, kL = f.sRGBTransferOETF, $L = f.sample, WL = f.sampler, qL = f.samplerComparison, jL = f.saturate, HL = f.saturation, XL = f.screen, YL = f.screenCoordinate, KL = f.screenDPR, QL = f.screenSize, ZL = f.screenUV, JL = f.scriptable, eI = f.scriptableValue, tI = f.select, sI = f.setCurrentStack, iI = f.setName, rI = f.shaderStages, nI = f.shadow, aI = f.shadowPositionWorld, oI = f.shapeCircle, lI = f.sharedUniformGroup, uI = f.sheen, cI = f.sheenRoughness, hI = f.shiftLeft, dI = f.shiftRight, pI = f.shininess, fI = f.sign, mI = f.sin, gI = f.sinc, yI = f.skinning, xI = f.smoothstep, bI = f.smoothstepElement, _I = f.specularColor, TI = f.specularF90, vI = f.spherizeUV, SI = f.split, NI = f.spritesheetUV, MI = f.sqrt, wI = f.stack, AI = f.step, RI = f.stepElement, CI = f.storage, EI = f.storageBarrier, BI = f.storageObject, FI = f.storageTexture, PI = f.string, LI = f.struct, II = f.sub, DI = f.subgroupAdd, UI = f.subgroupAll, VI = f.subgroupAnd, OI = f.subgroupAny, GI = f.subgroupBallot, zI = f.subgroupBroadcast, kI = f.subgroupBroadcastFirst, $I = f.subBuild, WI = f.subgroupElect, qI = f.subgroupExclusiveAdd, jI = f.subgroupExclusiveMul, HI = f.subgroupInclusiveAdd, XI = f.subgroupInclusiveMul, YI = f.subgroupIndex, KI = f.subgroupMax, QI = f.subgroupMin, ZI = f.subgroupMul, JI = f.subgroupOr, e5 = f.subgroupShuffle, t5 = f.subgroupShuffleDown, s5 = f.subgroupShuffleUp, i5 = f.subgroupShuffleXor, r5 = f.subgroupSize, n5 = f.subgroupXor, a5 = f.tan, o5 = f.tangentGeometry, l5 = f.tangentLocal, u5 = f.tangentView, c5 = f.tangentWorld, h5 = f.texture, d5 = f.texture3D, p5 = f.textureBarrier, f5 = f.textureBicubic, m5 = f.textureBicubicLevel, g5 = f.textureCubeUV, y5 = f.textureLoad, x5 = f.textureSize, b5 = f.textureLevel, _5 = f.textureStore, T5 = f.thickness, v5 = f.time, S5 = f.toneMapping, N5 = f.toneMappingExposure, M5 = f.toonOutlinePass, w5 = f.transformDirection, A5 = f.transformNormal, R5 = f.transformNormalToView, C5 = f.transformedClearcoatNormalView, E5 = f.transformedNormalView, B5 = f.transformedNormalWorld, F5 = f.transmission, P5 = f.transpose, L5 = f.triNoise3D, I5 = f.triplanarTexture, D5 = f.triplanarTextures, U5 = f.trunc, V5 = f.uint, O5 = f.uintBitsToFloat, G5 = f.uniform, z5 = f.uniformArray, k5 = f.uniformCubeTexture, $5 = f.uniformGroup, W5 = f.uniformFlow, q5 = f.uniformTexture, j5 = f.unpremultiplyAlpha, H5 = f.userData, X5 = f.uv, Y5 = f.uvec2, K5 = f.uvec3, Q5 = f.uvec4, Z5 = f.varying, J5 = f.varyingProperty, eD = f.vec2, tD = f.vec3, sD = f.vec4, iD = f.vectorComponents, rD = f.velocity, nD = f.vertexColor, aD = f.vertexIndex, oD = f.vertexStage, lD = f.vibrance, uD = f.viewZToLogarithmicDepth, cD = f.viewZToOrthographicDepth, hD = f.viewZToPerspectiveDepth, dD = f.viewport, pD = f.viewportCoordinate, fD = f.viewportDepthTexture, mD = f.viewportLinearDepth, gD = f.viewportMipTexture, yD = f.viewportResolution, xD = f.viewportSafeUV, bD = f.viewportSharedTexture, _D = f.viewportSize, TD = f.viewportTexture, vD = f.viewportUV, SD = f.wgsl, ND = f.wgslFn, MD = f.workgroupArray, wD = f.workgroupBarrier, AD = f.workgroupId, RD = f.workingToColorSpace, CD = f.xor;
43374
43374
  }) });
43375
43375
  export {
43376
- eD as A,
43377
- mR as B,
43376
+ G5 as A,
43377
+ ch as B,
43378
43378
  tI as C,
43379
43379
  II as D,
43380
43380
  AI as E,
43381
- yO as F,
43382
- Zy as G,
43383
- Yc as H,
43384
- xO as I,
43385
- PD as K,
43386
- St as L,
43387
- sD as M,
43388
- _D as N,
43389
- TO as O,
43390
- N0 as P,
43391
- Xs as R,
43381
+ N0 as F,
43382
+ AV as G,
43383
+ Yt as H,
43384
+ yO as I,
43385
+ bO as J,
43386
+ Zy as K,
43387
+ xO as L,
43388
+ tD as M,
43389
+ sD as N,
43390
+ h5 as O,
43391
+ _D as P,
43392
+ St as R,
43392
43393
  ZL as S,
43393
43394
  MI as T,
43394
- Bt as U,
43395
- Yt as V,
43396
- AV as W,
43395
+ Yc as U,
43396
+ mR as V,
43397
+ Bt as W,
43397
43398
  X4 as _,
43398
43399
  _2 as a,
43399
43400
  PP as b,
@@ -43403,14 +43404,14 @@ export {
43403
43404
  H4 as g,
43404
43405
  $4 as h,
43405
43406
  c3 as i,
43406
- tD as j,
43407
- G5 as k,
43407
+ eD as j,
43408
+ TO as k,
43408
43409
  hE as l,
43409
43410
  vO as m,
43410
43411
  XC as n,
43411
43412
  L2 as o,
43412
43413
  sB as p,
43413
- bO as q,
43414
+ PD as q,
43414
43415
  r3 as r,
43415
43416
  I2 as s,
43416
43417
  qC as t,
@@ -43419,5 +43420,5 @@ export {
43419
43420
  mI as w,
43420
43421
  uL as x,
43421
43422
  EF as y,
43422
- ch as z
43423
+ Xs as z
43423
43424
  };
@@ -1,4 +1,4 @@
1
- import { k as i, m } from "./three.tsl-CgyjOhns.js";
1
+ import { A as i, m } from "./three.tsl-BqgDcRt9.js";
2
2
  m();
3
3
  const u = (t, a, r) => {
4
4
  const e = i(0);
@@ -1,4 +1,4 @@
1
- import { O as Ur, m as Kr } from "./three.tsl-CgyjOhns.js";
1
+ import { k as Ur, m as Kr } from "./three.tsl-BqgDcRt9.js";
2
2
  import { Vector2 as Vr, Vector4 as ea } from "three";
3
3
  function w(e, t) {
4
4
  let r = e.length;
@@ -161,6 +161,25 @@ export interface ResizeCallbackParams {
161
161
  * Function that is called when the canvas resizes
162
162
  */
163
163
  export type ResizeCallback = (params: ResizeCallbackParams) => void;
164
+ /**
165
+ * Parameters for UV transformation function.
166
+ * Used by shaders that can have their UV transforms composed
167
+ * without intermediate render-to-texture boundaries.
168
+ */
169
+ export interface UVTransformParams {
170
+ /**
171
+ * Input UV coordinates (may already be pre-transformed by inner shaders)
172
+ */
173
+ uv: Node;
174
+ /**
175
+ * The component's uniforms
176
+ */
177
+ uniforms: UniformsMap;
178
+ /**
179
+ * Viewport dimensions as a TSL node for aspect ratio calculations
180
+ */
181
+ viewportSize: Node;
182
+ }
164
183
  /**
165
184
  * Parameters for fragment node function
166
185
  */
@@ -212,6 +231,25 @@ export interface FragmentNodeParams {
212
231
  * This is useful for manual render target management in RTT effects
213
232
  */
214
233
  renderer: any;
234
+ /**
235
+ * UV context passed down from parent distortions.
236
+ *
237
+ * When a generator is rendered as the terminus of a UV-composable distortion chain,
238
+ * this contains the pre-composed UV coordinates from all ancestor distortions.
239
+ *
240
+ * Generators that set `acceptsUVContext: true` should use this instead of `screenUV`
241
+ * when provided, enabling infinitely sharp distortion effects by computing pixels
242
+ * at their final distorted positions rather than sampling RTT content.
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * fragmentNode: ({ uvContext }: FragmentNodeParams) => {
247
+ * const uv = uvContext ?? screenUV // Use composed UV if available
248
+ * // ... compute color based on uv
249
+ * }
250
+ * ```
251
+ */
252
+ uvContext?: Node;
215
253
  }
216
254
  /**
217
255
  * The definition of a component within the Shader library.
@@ -225,6 +263,10 @@ export interface ComponentDefinition<T extends ComponentProps = ComponentProps>
225
263
  * The category this shader belongs to for organization in UI
226
264
  */
227
265
  category?: string;
266
+ /**
267
+ * A brief description of what this shader does
268
+ */
269
+ description?: string;
228
270
  /**
229
271
  * Whether this shader requires render-to-texture (RTT) for proper operation.
230
272
  * Defaults to false. Set to true for effects that need to sample from child textures.
@@ -246,5 +288,48 @@ export interface ComponentDefinition<T extends ComponentProps = ComponentProps>
246
288
  * A function that returns the Three TSL fragment node for this component.
247
289
  */
248
290
  fragmentNode: (params: FragmentNodeParams) => Node;
291
+ /**
292
+ * Optional UV transformation function for composable distortion effects.
293
+ *
294
+ * When provided, indicates this shader performs a pure UV transformation that
295
+ * can be mathematically composed with other UV transforms without intermediate
296
+ * render-to-texture (RTT) boundaries.
297
+ *
298
+ * The renderer will detect chains of UV-composable shaders and compose their
299
+ * UV transformations, sampling the source content only once at the end of the chain.
300
+ * This eliminates viewport cropping issues that occur with intermediate RTT passes.
301
+ *
302
+ * When this function is defined:
303
+ * - The shader is considered "UV-composable"
304
+ * - Multiple consecutive UV transforms will be composed mathematically
305
+ * - `fragmentNode` is used as fallback when the chain breaks (non-UV effect encountered)
306
+ *
307
+ * @param params.uv - Input UV coordinates (may be pre-transformed by inner shaders)
308
+ * @param params.uniforms - Component uniforms
309
+ * @param params.viewportSize - Viewport dimensions for aspect ratio calculations
310
+ * @returns Transformed UV coordinates as a vec2 Node
311
+ */
312
+ uvTransformNode?: (params: UVTransformParams) => Node;
313
+ /**
314
+ * Whether this shader accepts UV context from parent distortions.
315
+ *
316
+ * When true, the fragmentNode function should use `params.uvContext ?? screenUV`
317
+ * for UV-based calculations instead of directly using `screenUV`.
318
+ *
319
+ * This enables the "UV Context Propagation" optimization where generators compute
320
+ * pixels at distorted UV positions directly, producing infinitely sharp results
321
+ * without RTT interpolation blur.
322
+ *
323
+ * Set to true for:
324
+ * - Procedural generators (Checkerboard, Gradient, Noise, etc.)
325
+ * - Texture sources (ImageTexture, Video)
326
+ *
327
+ * Leave false/undefined for:
328
+ * - Effects that operate on child content (filters, blurs, etc.)
329
+ * - Effects that require specific UV relationships (masks, etc.)
330
+ *
331
+ * @default false
332
+ */
333
+ acceptsUVContext?: boolean;
249
334
  }
250
335
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAA;AAGpE,YAAY,EAAC,eAAe,EAAC,CAAA;AAE7B,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,GAAG,CAAA;IACZ,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CAAA;AAEpF;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;AAEpH;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAA;IAE9C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,OAAO,EAAE,CAAC,CAAA;IACV,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,EAAE,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE;QACP,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAEF;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,EAAE,EAAE,IAAI,CAAA;IAER;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAA;IAErB;;OAEG;IACH,YAAY,EAAE,IAAI,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAE/B;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAA;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAA;IAEhB;;;OAGG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAA;IAE9C;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAElD;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAEjD;;;OAGG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAE5C;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,CAAA;IAEzB;;;OAGG;IACH,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB,CAAA;IAED;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAA;IAEb;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,IAAI,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IAE1E;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,KAAK,EAAE;SACF,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC,CAAA;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAElD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAErD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC7B"}
@@ -1,14 +1,25 @@
1
1
  import { Node, TextureNode } from 'three/webgpu';
2
2
 
3
+ /**
4
+ * Applies edge handling as a UV transformation (no color sampling).
5
+ * Used during UV composition to respect intermediate distortion edge settings.
6
+ * This allows each distortion in a chain to apply its own edge handling
7
+ * before the next distortion transforms those UVs further.
8
+ *
9
+ * @param uv The UV coordinates to transform
10
+ * @param edgeModeUniform The edge mode (0=stretch, 1=transparent, 2=mirror, 3=wrap)
11
+ * @returns Transformed UV coordinates
12
+ */
13
+ export declare const applyEdgeToUV: (uv: Node, edgeModeUniform: Node) => Node;
3
14
  /**
4
15
  * Applies edge handling to sampled colors based on UV bounds.
5
16
  * Supports multiple modes for handling distorted UVs that fall outside the 0-1 range.
6
17
  *
7
18
  * @param distortedUV The distorted UV coordinates (vec2)
8
19
  * @param sampledColor The color sampled with clamped UVs
9
- * @param childTexture The texture to sample from (needed for mirror/wrap modes)
20
+ * @param childTexture The texture to sample from (needed for mirror/wrap modes). Can be null for non-RTT path.
10
21
  * @param edgeModeUniform The edge handling uniform (0 = stretch, 1 = transparent, 2 = mirror, 3 = wrap)
11
22
  * @returns The final color with edge handling applied
12
23
  */
13
- export declare const applyEdgeHandling: (distortedUV: Node, sampledColor: Node, childTexture: TextureNode, edgeModeUniform: Node) => Node;
24
+ export declare const applyEdgeHandling: (distortedUV: Node, sampledColor: Node, childTexture: TextureNode | null, edgeModeUniform: Node) => Node;
14
25
  //# sourceMappingURL=edges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/utilities/edges.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAa9C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,gBACb,IAAI,gBACH,IAAI,gBACJ,WAAW,mBACR,IAAI,KACtB,IAwCF,CAAA"}
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/utilities/edges.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,cAAc,CAAA;AAa9C;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,OAAQ,IAAI,mBAAmB,IAAI,KAAG,IA6B/D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,gBACb,IAAI,gBACH,IAAI,gBACJ,WAAW,GAAG,IAAI,mBACf,IAAI,KACtB,IA+CF,CAAA"}
@@ -45,4 +45,24 @@ export declare const needsTransformation: (transform: TransformConfig) => boolea
45
45
  * @returns Transformed UV coordinates
46
46
  */
47
47
  export declare const applyUVTransform: (uv: Node, offsetXUniform: Node, offsetYUniform: Node, rotationUniform: Node, scaleUniform: Node, anchorXUniform: Node, anchorYUniform: Node, aspectRatioUniform: Node) => Node;
48
+ /**
49
+ * Applies the INVERSE of 2D transformations to UV coordinates.
50
+ * Used in UV context propagation to apply view transformations without RTT.
51
+ *
52
+ * When a layer has rotation=45, we apply rotation=-45 to the UV coordinates.
53
+ * This makes the content appear rotated in the final view.
54
+ *
55
+ * @param uv The base UV coordinates (may already have distortions applied)
56
+ * @param transformUniforms The transformation uniforms to invert
57
+ * @returns Inverse-transformed UV coordinates
58
+ */
59
+ export declare const applyInverseUVTransform: (uv: Node, transformUniforms: {
60
+ offsetX: Node;
61
+ offsetY: Node;
62
+ rotation: Node;
63
+ scale: Node;
64
+ anchorX: Node;
65
+ anchorY: Node;
66
+ aspectRatio: Node;
67
+ }) => Node;
48
68
  //# sourceMappingURL=uvTransform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../src/utilities/uvTransform.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AAUjC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,cAAe,eAAe,KAAG,OAShE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,OACrB,IAAI,kBACQ,IAAI,kBACJ,IAAI,mBACH,IAAI,gBACP,IAAI,kBACF,IAAI,kBACJ,IAAI,sBACA,IAAI,KACzB,IAwCF,CAAA"}
1
+ {"version":3,"file":"uvTransform.d.ts","sourceRoot":"","sources":["../../src/utilities/uvTransform.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAA;AAUjC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,cAAe,eAAe,KAAG,OAShE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,OACrB,IAAI,kBACQ,IAAI,kBACJ,IAAI,mBACH,IAAI,gBACP,IAAI,kBACF,IAAI,kBACJ,IAAI,sBACA,IAAI,KACzB,IAwCF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,OAC5B,IAAI,qBACW;IACf,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,EAAE,IAAI,CAAA;IACX,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,IAAI,CAAA;CACpB,KACF,IAqCF,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { BlendMode, TransformConfig } from 'shaders/core';
3
+ import { ComponentProps } from 'shaders/core/RectangularCoordinates';
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<ComponentProps>;
26
+ /**
27
+ * The main React wrapper component for Shader shader nodes
28
+ */
29
+ export declare const OmbreComponent: React.FC<ShaderComponentProps>;
30
+ export default OmbreComponent;
31
+ //# sourceMappingURL=RectangularCoordinates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RectangularCoordinates.d.ts","sourceRoot":"","sources":["../../src/components/RectangularCoordinates.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAG/F,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;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAsDtE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwJzD,CAAC;AAEF,eAAe,cAAc,CAAC"}