shaders 3.0.453 → 3.1.455

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 (776) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/core/{AngularBlur-B0m-LKoD.js → AngularBlur-CIw_xeFr.js} +25 -31
  3. package/dist/core/Arc-Dh0gjBrJ.js +183 -0
  4. package/dist/core/{Ascii-BiFuRRQ1.js → Ascii-CUk527uY.js} +34 -46
  5. package/dist/core/{Aurora-B35I8qRz.js → Aurora-CTWNhlNr.js} +14 -15
  6. package/dist/core/{BarShift-C_waFkRO.js → BarShift-BrOamln6.js} +24 -122
  7. package/dist/core/BarnDoors-D_lVAMPJ.js +170 -0
  8. package/dist/core/{Beam-BPBmQMGD.js → Beam-CgpfMTUq.js} +45 -461
  9. package/dist/core/{Bend-Bq1Qlhq4.js → Bend-CRuu6NuH.js} +13 -57
  10. package/dist/core/{Blob-BtInePsq.js → Blob-1mhEIcv5.js} +3 -3
  11. package/dist/core/BlockDissolve-DwWPjla0.js +178 -0
  12. package/dist/core/{BlockNoise-BfDNfyBP.js → BlockNoise-BMt760_p.js} +36 -113
  13. package/dist/core/{BlueNoise-CNLIGPMW.js → BlueNoise-Cfo_HthN.js} +24 -46
  14. package/dist/core/Blur-Bc8evwsz.js +428 -0
  15. package/dist/core/{Boids-D51ZdvH0.js → Boids-CtvT1VsV.js} +105 -427
  16. package/dist/core/{BokehBlur-DO4V8nZ-.js → BokehBlur-CWQm00ut.js} +37 -214
  17. package/dist/core/{BrickPattern-D21Nqxcj.js → BrickPattern-DomddM0C.js} +89 -335
  18. package/dist/core/{BrightnessContrast-QxVeVMih.js → BrightnessContrast-Bs8AV0he.js} +16 -15
  19. package/dist/core/{BrushedMetal-Xq4jMVz1.js → BrushedMetal-BAgNgeo1.js} +342 -1001
  20. package/dist/core/{Bulge-CdCqTfrp.js → Bulge-CdhRTWSH.js} +13 -71
  21. package/dist/core/{CRTScreen-D7WSk5fJ.js → CRTScreen-BxnPxDw9.js} +1 -1
  22. package/dist/core/{CarbonFiber-Dg-XleHg.js → CarbonFiber-mK6eHIpy.js} +281 -935
  23. package/dist/core/{Chalkboard-B_YRavSR.js → Chalkboard-BizZEHlC.js} +2 -2
  24. package/dist/core/{ChannelBlur-BmEILWdn.js → ChannelBlur-Oz40DKPZ.js} +15 -39
  25. package/dist/core/{CheckerWipe-Dbt7TTDK.js → CheckerWipe-yv4dK6n5.js} +83 -211
  26. package/dist/core/Checkerboard-Ynfnt3oJ.js +158 -0
  27. package/dist/core/{Chevron-DsJK3THV.js → Chevron-CEwNP2vt.js} +46 -117
  28. package/dist/core/{ChromaFlow-Bj4rfeWl.js → ChromaFlow-BXw1jQkn.js} +3 -3
  29. package/dist/core/{ChromaticAberration-C2UtSgN3.js → ChromaticAberration-CWhYEGDU.js} +2 -2
  30. package/dist/core/{Chrome-CSrC5yk_.js → Chrome-DoPYr4Kd.js} +97 -351
  31. package/dist/core/Circle-DGvP0Svo.js +267 -0
  32. package/dist/core/{ColorWheel-C_YLOL93.js → ColorWheel-BCReEdLZ.js} +48 -63
  33. package/dist/core/{CompressionArtifacts-BXto-pLr.js → CompressionArtifacts-Cm0iOzys.js} +2 -2
  34. package/dist/core/{ConcentricSpin-1tArUXYX.js → ConcentricSpin-B3GHzoS1.js} +37 -146
  35. package/dist/core/{ConicGradient-Tw-pg593.js → ConicGradient-C3zzgyV4.js} +25 -143
  36. package/dist/core/{ContourLines-CBFm0hjl.js → ContourLines-DDzxvg9k.js} +5 -66
  37. package/dist/core/{CornerPin-BNgPHIHY.js → CornerPin-VFPI_Jzq.js} +9 -54
  38. package/dist/core/Crescent-DL6EeZZp.js +187 -0
  39. package/dist/core/Cross-DQIgZt-C.js +188 -0
  40. package/dist/core/{Crystal-DN2WgBrm.js → Crystal-B9DIgDD7.js} +81 -262
  41. package/dist/core/{CurlNoise-RsATuC8w.js → CurlNoise-D6kSV8PJ.js} +40 -98
  42. package/dist/core/{CursorRipples-DbtJtDDl.js → CursorRipples-C1hLNWzZ.js} +63 -60
  43. package/dist/core/{CursorTrail-yoPFtwk9.js → CursorTrail-CPW8orHG.js} +66 -52
  44. package/dist/core/{DataMosh-DabFQ-B5.js → DataMosh-CjVK_gxL.js} +23 -56
  45. package/dist/core/{DiamondGradient-DbaUt2tC.js → DiamondGradient-BkrLPdAd.js} +43 -186
  46. package/dist/core/{DiamondWipe-Jth0vS7V.js → DiamondWipe-Cscn7Dyy.js} +45 -205
  47. package/dist/core/{DiffuseBlur-BZxj-iAt.js → DiffuseBlur-DUBfHpUN.js} +8 -11
  48. package/dist/core/{DisplacementMap-31H7QPQl.js → DisplacementMap-B-cVoGbC.js} +4 -3
  49. package/dist/core/{Dither-BN-zSZ0l.js → Dither-B4lhnNLA.js} +9 -12
  50. package/dist/core/{DotGrid-BRDFAkBz.js → DotGrid-CJJXTOk6.js} +78 -355
  51. package/dist/core/{DropShadow-_lFvglPh.js → DropShadow-B4msUftn.js} +31 -32
  52. package/dist/core/{Duotone-BhxXqh0S.js → Duotone-DF3dn0kC.js} +11 -8
  53. package/dist/core/Ellipse-WuGsM7Gr.js +168 -0
  54. package/dist/core/{Emboss--yOZdnyf.js → Emboss-D5RYAc-U.js} +14 -35
  55. package/dist/core/{Engraving-B26NgnCE.js → Engraving-DNNHKvIr.js} +12 -12
  56. package/dist/core/{ErosionNoise-_uC5Hx2q.js → ErosionNoise-w1aTuwY4.js} +35 -98
  57. package/dist/core/{Exposure-BM3eE3ol.js → Exposure-BSsbosYN.js} +15 -11
  58. package/dist/core/{FallingLines-BuczyepF.js → FallingLines-C1YT49dj.js} +13 -14
  59. package/dist/core/{FilmGrain-Dyy76ena.js → FilmGrain-BeZQzxdU.js} +21 -15
  60. package/dist/core/{FilmStock-mi-H3Ul9.js → FilmStock-Bgn9OyQY.js} +9 -734
  61. package/dist/core/{Flip-rZzkYscj.js → Flip-DJuox9qR.js} +11 -25
  62. package/dist/core/{FloatingParticles-BbbTJldX.js → FloatingParticles-Ch5OJjCc.js} +128 -447
  63. package/dist/core/{FlowField-u0qYoqV2.js → FlowField-Cime_Fqy.js} +6 -5
  64. package/dist/core/Flower--1qeeCuA.js +187 -0
  65. package/dist/core/{FlowingGradient-_zyM9KQn.js → FlowingGradient-DL1e3OKu.js} +12 -17
  66. package/dist/core/{FlutedGlass-C9-K6UQ7.js → FlutedGlass-CqSVa4kd.js} +5 -4
  67. package/dist/core/Fog-DvOvVKbF.js +2261 -0
  68. package/dist/core/{Form3D-Dmvpcqp1.js → Form3D-CabM27VZ.js} +152 -838
  69. package/dist/core/{FractalNoise-C8uudMNt.js → FractalNoise-Bu8FbMYX.js} +57 -321
  70. package/dist/core/{Frost-DV2zJSAL.js → Frost-BnE3EI6s.js} +77 -170
  71. package/dist/core/{GaborNoise-Bty1hWmn.js → GaborNoise-BZFyQbDr.js} +36 -99
  72. package/dist/core/{Glass-CYmFGP1b.js → Glass-DPa3OWjZ.js} +15 -27
  73. package/dist/core/{GlassTiles-B3vyGos-.js → GlassTiles-B4Y8x78X.js} +3 -2
  74. package/dist/core/{Glitch-DcjdwJep.js → Glitch-nokyLk8Q.js} +1 -1
  75. package/dist/core/Glow-C3VfGUb6.js +198 -0
  76. package/dist/core/{Godrays-lPn_O_W-.js → Godrays-fglKeS0z.js} +37 -72
  77. package/dist/core/{Goo-DxEB8kMF.js → Goo-BPaUKk1S.js} +13 -42
  78. package/dist/core/{GradientMap-7G6EOwy8.js → GradientMap-DQ4IbzIx.js} +23 -17
  79. package/dist/core/{Grayscale-BJz0olll.js → Grayscale-Bpp1Q2KT.js} +9 -11
  80. package/dist/core/Grid-BneV9T3T.js +684 -0
  81. package/dist/core/{GridDistortion-CSBRousF.js → GridDistortion-CAKSKhII.js} +8 -53
  82. package/dist/core/{Group-BSg6a8Ro.js → Group-UvbIuzy-.js} +1 -1
  83. package/dist/core/{HTMLInCanvas-DnQ0ZY38.js → HTMLInCanvas-CMxSuq5H.js} +16 -27
  84. package/dist/core/{Halftone-B2C55h6_.js → Halftone-SiFx0wAg.js} +4 -3
  85. package/dist/core/Heart-DLQnxsbQ.js +144 -0
  86. package/dist/core/{Heatmap-BdExXQBU.js → Heatmap-Bp0wi8r1.js} +14 -31
  87. package/dist/core/{HexGrid-B6UygS6q.js → HexGrid-LGx240mZ.js} +82 -486
  88. package/dist/core/{Hologram-D_eqqb8P.js → Hologram-B-090nzV.js} +14 -48
  89. package/dist/core/{Holographic-Ctrsya3k.js → Holographic-CSIQUm1_.js} +90 -298
  90. package/dist/core/{HueShift-CFXxhPpm.js → HueShift-B7l4vcZP.js} +17 -14
  91. package/dist/core/ImageTexture-D41xKACO.js +58 -0
  92. package/dist/core/InkFlow-Bd4RXQmm.js +1159 -0
  93. package/dist/core/{Invert-Bya7lBpK.js → Invert-CEfJB0WN.js} +9 -11
  94. package/dist/core/IrisWipe-O6dc-Aq2.js +163 -0
  95. package/dist/core/{IsometricCubes-CC-l8cnR.js → IsometricCubes-BQFwe-5s.js} +106 -473
  96. package/dist/core/{Kaleidoscope-DhvQTJdp.js → Kaleidoscope-DQFV4-lX.js} +15 -71
  97. package/dist/core/{KeyFrames-ZTsc7rtN.js → KeyFrames-BjH6gHSf.js} +32 -67
  98. package/dist/core/{LensDistortion-KiZJXFKC.js → LensDistortion-BcodYk7_.js} +3 -3
  99. package/dist/core/{LensFlare-D5fr8RPA.js → LensFlare-B4F0dq7O.js} +106 -348
  100. package/dist/core/{LightEdge-D0NOWDh7.js → LightEdge-l2zPIeMQ.js} +14 -31
  101. package/dist/core/{LightLeak-DdaidQ1D.js → LightLeak-BSy19CB6.js} +49 -333
  102. package/dist/core/{Line-B5DIIWBz.js → Line-CRGYWOyW.js} +2 -2
  103. package/dist/core/{LinearBlur-CyQxSLS2.js → LinearBlur-DGfbbIWb.js} +20 -31
  104. package/dist/core/{LinearGradient-B8tyawJy.js → LinearGradient-DOWwm0bP.js} +59 -110
  105. package/dist/core/LinearWipe-0nTDgTcZ.js +162 -0
  106. package/dist/core/{LiquidMetal-vARkyRL2.js → LiquidMetal-BbyxqZoO.js} +90 -446
  107. package/dist/core/{Liquify-Djnk6ryT.js → Liquify-Bg2tEc64.js} +10 -54
  108. package/dist/core/{MagneticFilings-BfTe8-Jn.js → MagneticFilings-5NVqpsrW.js} +123 -416
  109. package/dist/core/{Marble-3s7VS-tT.js → Marble-CzoJcXvo.js} +14 -15
  110. package/dist/core/{Mirror-Ck4Hzdd8.js → Mirror-B_2eQT6d.js} +11 -67
  111. package/dist/core/{MultiPointGradient-CdzqMTN9.js → MultiPointGradient-NJZfFGVb.js} +27 -140
  112. package/dist/core/{Neon-B8iSfL5s.js → Neon-m8PtEGdE.js} +14 -33
  113. package/dist/core/{NoiseDissolve-Df70NgHI.js → NoiseDissolve-DxvqR71w.js} +21 -129
  114. package/dist/core/{ObjectTracker-CFpotAyg.js → ObjectTracker-DlVNN9LJ.js} +41 -51
  115. package/dist/core/{PagePeel-Bmc4hBhO.js → PagePeel-BZOvdHFV.js} +3 -2
  116. package/dist/core/{Paper-af7JgKOt.js → Paper-Bn3DETI2.js} +2 -2
  117. package/dist/core/Parallelogram-a6zB6mY9.js +187 -0
  118. package/dist/core/{ParticleField-FPUBkJmo.js → ParticleField-CUtlCqxz.js} +172 -385
  119. package/dist/core/{ParticleFlow-DfdDvN-j.js → ParticleFlow-Ck5Ta_Rj.js} +250 -2572
  120. package/dist/core/{Particles-DZaTzOZP.js → Particles-rnTAu4Mr.js} +366 -475
  121. package/dist/core/{PerlinNoise-DPaPG55C.js → PerlinNoise-BUbmE_JA.js} +36 -113
  122. package/dist/core/{Perspective-DBzb7DC9.js → Perspective-S94umCQn.js} +17 -71
  123. package/dist/core/{PixelSort-sqoLBmqR.js → PixelSort-CF0-TpU7.js} +2 -2
  124. package/dist/core/{PixelThrow-arRYRlCO.js → PixelThrow-2WPijuDY.js} +17 -652
  125. package/dist/core/{Pixelate-Ba_iNPwv.js → Pixelate-BLdO8qAT.js} +1 -1
  126. package/dist/core/Plasma-DOH9gxWt.js +355 -0
  127. package/dist/core/{Plastic-C-NBXCG-.js → Plastic-CQNoTl22.js} +86 -271
  128. package/dist/core/{PolarCoordinates-CjV_EFpN.js → PolarCoordinates-DZNOyHmN.js} +15 -72
  129. package/dist/core/Polygon-BM3xGxOC.js +231 -0
  130. package/dist/core/{Posterize-BUt2MAqY.js → Posterize-BJl7Irml.js} +51 -18
  131. package/dist/core/{Prism-BBSdqnRm.js → Prism-CaJyExNA.js} +3 -3
  132. package/dist/core/{ProgressiveBlur-CQhyaOwl.js → ProgressiveBlur-B1Ur87dm.js} +56 -368
  133. package/dist/core/{RadialGradient-BXLBHnCC.js → RadialGradient-C1Fb8TaL.js} +44 -185
  134. package/dist/core/RadialWipe-CA5xWWPN.js +222 -0
  135. package/dist/core/RandomBars-B7ZwitL3.js +238 -0
  136. package/dist/core/{ReactionDiffusion-r1qHYWoB.js → ReactionDiffusion--54drNkY.js} +403 -1270
  137. package/dist/core/{RectangularCoordinates-CFGiELUv.js → RectangularCoordinates-BEOFurXt.js} +14 -70
  138. package/dist/core/{ReflectivePlane-BbKUjtUs.js → ReflectivePlane-wERmyiKx.js} +12 -77
  139. package/dist/core/{Repeater-DZhhgwMr.js → Repeater-Cy8up7cj.js} +2 -2
  140. package/dist/core/{Ring-DFxV0XzX.js → Ring-Cogdtn-0.js} +19 -134
  141. package/dist/core/{RippleWipe-DFh-8SmT.js → RippleWipe-fJwyE4vj.js} +24 -273
  142. package/dist/core/{Ripples-BG24IcNH.js → Ripples-BSHfhVG1.js} +3 -3
  143. package/dist/core/RoundedRect-D3intNNI.js +188 -0
  144. package/dist/core/{Saturation-DKbtxVNf.js → Saturation-D42Bfc5P.js} +14 -12
  145. package/dist/core/{Scratches-C40D6A1_.js → Scratches-Ih3Kx_UW.js} +5 -5
  146. package/dist/core/{Sharpness-DygCiVsY.js → Sharpness-Dyh6312-.js} +11 -11
  147. package/dist/core/{Shatter-eVP3Mt9W.js → Shatter-Qc5aMkWj.js} +3 -4
  148. package/dist/core/{SimplexNoise-HorjLzId.js → SimplexNoise-E7ssgWPN.js} +37 -179
  149. package/dist/core/{SineWave-CTIhqhO-.js → SineWave-CnPtZLSs.js} +6 -5
  150. package/dist/core/{SliceWipe-D3yX3CAm.js → SliceWipe-Byb46V6I.js} +15 -25
  151. package/dist/core/Smoke-5x6IAk2_.js +1265 -0
  152. package/dist/core/SmokeFill-DOQpTlCv.js +3192 -0
  153. package/dist/core/SmokeFlow-B4fdM2M-.js +903 -0
  154. package/dist/core/{Solarize-wvgIpPSb.js → Solarize-BB0bXhP0.js} +15 -15
  155. package/dist/core/{SolidColor-CQ9bQ-k6.js → SolidColor-D-6N9JmI.js} +1 -1
  156. package/dist/core/{Spherize-N33ACzeM.js → Spherize-aWpru70e.js} +2 -2
  157. package/dist/core/{Spiral-NeLWfZ6k.js → Spiral-Dbm2j7mM.js} +5 -4
  158. package/dist/core/Star-XtB9FBhQ.js +187 -0
  159. package/dist/core/{Stone-mVzuC5SK.js → Stone-i7v3RIb9.js} +2 -2
  160. package/dist/core/{Strands-C19HsqO_.js → Strands-BFaZBnNo.js} +6 -5
  161. package/dist/core/{Stretch-CAGlZjVf.js → Stretch-BKg0gjm4.js} +15 -72
  162. package/dist/core/{Stripes-DH9wZV3F.js → Stripes-B_SkTR2m.js} +83 -378
  163. package/dist/core/{StudioBackground-DPsj_N10.js → StudioBackground-CUsUWJ2L.js} +14 -133
  164. package/dist/core/{SunBurst-D5p0QAnh.js → SunBurst-DiqSzz5A.js} +34 -52
  165. package/dist/core/{Surface3D-HSAAGomd.js → Surface3D-DxzfMHn2.js} +15 -21
  166. package/dist/core/{Swirl-C1lH2gAk.js → Swirl-DBxZ6Wud.js} +3 -3
  167. package/dist/core/Teardrop-CnhwMyQx.js +168 -0
  168. package/dist/core/{Text-DPjLa6Eh.js → Text-Cb6QJNWo.js} +51 -70
  169. package/dist/core/{ThinFilm-DhpK-SoR.js → ThinFilm-B7CTONK1.js} +28 -176
  170. package/dist/core/{TiltShift-e57KIilk.js → TiltShift-DqEFOoJG.js} +62 -368
  171. package/dist/core/{TimeTrail-CYofyeeE.js → TimeTrail-G_JamlY8.js} +28 -73
  172. package/dist/core/{Tint-DBM82OkZ.js → Tint-Dj1rSoJ0.js} +14 -21
  173. package/dist/core/{Trapezoid-DaIBhsop.js → Trapezoid-D2PMU9G3.js} +40 -160
  174. package/dist/core/{TriangularGrid-CBOVJOcR.js → TriangularGrid-C3DBCmaj.js} +69 -349
  175. package/dist/core/{Tritone-D6Dur2eo.js → Tritone-DfULv51I.js} +11 -8
  176. package/dist/core/{Truchet-sunCQd_E.js → Truchet-yjZm8xe3.js} +73 -172
  177. package/dist/core/{Twirl-D3-3HSuS.js → Twirl-DfRsql00.js} +11 -67
  178. package/dist/core/{VHS-DtyeGxi8.js → VHS-Z23X9XD6.js} +1 -1
  179. package/dist/core/VenetianBlinds-CCucT73e.js +188 -0
  180. package/dist/core/Vesica-BIGpXjWv.js +168 -0
  181. package/dist/core/{Vibrance-B8gBhQS7.js → Vibrance-CtlvCONz.js} +15 -11
  182. package/dist/core/VideoTexture-DW6bQduh.js +58 -0
  183. package/dist/core/{Vignette-yIXlpfCE.js → Vignette-Dz3pPnPR.js} +24 -21
  184. package/dist/core/Voronoi-5QA-0zme.js +363 -0
  185. package/dist/core/{Water-uLbQQrt-.js → Water-DlvNrnrU.js} +84 -269
  186. package/dist/core/{Watercolor-CcZ0fVEu.js → Watercolor-BWx4xdwk.js} +3 -3
  187. package/dist/core/{WaveDistortion-DasSsVxv.js → WaveDistortion-CRQzZDLP.js} +18 -66
  188. package/dist/core/{WaveletNoise-DpRWc5Qw.js → WaveletNoise-CZS67VBU.js} +36 -99
  189. package/dist/core/{Weave-CLGYIcmf.js → Weave-DpwAU5Rn.js} +77 -254
  190. package/dist/core/WebcamTexture-DauLQjCl.js +130 -0
  191. package/dist/core/{Wool-uy61uieK.js → Wool-CEaWGZB1.js} +2 -2
  192. package/dist/core/WorleyNoise-CjRMr7xP.js +558 -0
  193. package/dist/core/{ZoomBlur-OQP2jw3F.js → ZoomBlur-DgG9JA7a.js} +18 -29
  194. package/dist/core/aa-C8WSqiNB.js +1094 -0
  195. package/dist/core/{agents-BVhq_Z2T.js → agents-C_kohsYu.js} +1 -1
  196. package/dist/core/{bevel-BGAb1fb2.js → bevel-ogqjoZKV.js} +1 -1
  197. package/dist/core/{blur-cLcFzL4x.js → blur-CZuIxzX6.js} +1782 -3
  198. package/dist/core/canvasRaster-BB2bNhS7.js +80 -0
  199. package/dist/core/cells-CM9mfnTr.js +1042 -0
  200. package/dist/core/cellular-qYnxKdPx.js +1593 -0
  201. package/dist/core/constants-DoOzbl5b.js +9 -0
  202. package/dist/core/{sdf-B8rPE1PG.js → device-B0ZwBfOg.js} +107 -6
  203. package/dist/core/{edges-B7Yet3LV.js → edges-CD7gCAto.js} +665 -1
  204. package/dist/core/fields-CC0756V2.js +1311 -0
  205. package/dist/core/geom-90G-d_hc.js +1036 -0
  206. package/dist/core/{glass-CNFJB2On.js → glass-D8xs_kIG.js} +1 -1
  207. package/dist/core/gpu/compute.d.ts +80 -9
  208. package/dist/core/gpu/compute.d.ts.map +1 -1
  209. package/dist/core/gpu/contract.d.ts +22 -1
  210. package/dist/core/gpu/contract.d.ts.map +1 -1
  211. package/dist/core/gpu/index.d.ts.map +1 -1
  212. package/dist/core/gpu/kit/aa.d.ts +111 -0
  213. package/dist/core/gpu/kit/aa.d.ts.map +1 -0
  214. package/dist/core/gpu/kit/blur.d.ts +288 -9
  215. package/dist/core/gpu/kit/blur.d.ts.map +1 -1
  216. package/dist/core/gpu/kit/cells.d.ts +136 -0
  217. package/dist/core/gpu/kit/cells.d.ts.map +1 -0
  218. package/dist/core/gpu/kit/cellular.d.ts +102 -0
  219. package/dist/core/gpu/kit/cellular.d.ts.map +1 -0
  220. package/dist/core/gpu/kit/constants.d.ts +52 -0
  221. package/dist/core/gpu/kit/constants.d.ts.map +1 -0
  222. package/dist/core/gpu/kit/effects/index.d.ts +2 -3
  223. package/dist/core/gpu/kit/effects/index.d.ts.map +1 -1
  224. package/dist/core/gpu/kit/effects/raymarch3d.d.ts +17 -34
  225. package/dist/core/gpu/kit/effects/raymarch3d.d.ts.map +1 -1
  226. package/dist/core/gpu/kit/effects/thinFilm.d.ts +3 -1
  227. package/dist/core/gpu/kit/effects/thinFilm.d.ts.map +1 -1
  228. package/dist/core/gpu/kit/fields.d.ts +143 -0
  229. package/dist/core/gpu/kit/fields.d.ts.map +1 -0
  230. package/dist/core/gpu/kit/geom.d.ts +129 -0
  231. package/dist/core/gpu/kit/geom.d.ts.map +1 -0
  232. package/dist/core/gpu/kit/host/canvasRaster.d.ts +104 -0
  233. package/dist/core/gpu/kit/host/canvasRaster.d.ts.map +1 -0
  234. package/dist/core/gpu/kit/host/mediaLifecycle.d.ts +173 -0
  235. package/dist/core/gpu/kit/host/mediaLifecycle.d.ts.map +1 -0
  236. package/dist/core/gpu/kit/host/pointer.d.ts +155 -0
  237. package/dist/core/gpu/kit/host/pointer.d.ts.map +1 -0
  238. package/dist/core/gpu/kit/index.d.ts +10 -0
  239. package/dist/core/gpu/kit/index.d.ts.map +1 -1
  240. package/dist/core/gpu/kit/lightfields.d.ts +114 -0
  241. package/dist/core/gpu/kit/lightfields.d.ts.map +1 -0
  242. package/dist/core/gpu/kit/lighting.d.ts +115 -0
  243. package/dist/core/gpu/kit/lighting.d.ts.map +1 -0
  244. package/dist/core/gpu/kit/media.d.ts +44 -0
  245. package/dist/core/gpu/kit/media.d.ts.map +1 -1
  246. package/dist/core/gpu/kit/noiseColor.d.ts +19 -4
  247. package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -1
  248. package/dist/core/gpu/kit/reveal.d.ts +75 -0
  249. package/dist/core/gpu/kit/reveal.d.ts.map +1 -0
  250. package/dist/core/gpu/kit/sampling.d.ts +43 -0
  251. package/dist/core/gpu/kit/sampling.d.ts.map +1 -1
  252. package/dist/core/gpu/kit/sdf.d.ts +23 -0
  253. package/dist/core/gpu/kit/sdf.d.ts.map +1 -1
  254. package/dist/core/gpu/kit/sdf3d.d.ts +54 -1
  255. package/dist/core/gpu/kit/sdf3d.d.ts.map +1 -1
  256. package/dist/core/gpu/kit/tone.d.ts +100 -0
  257. package/dist/core/gpu/kit/tone.d.ts.map +1 -0
  258. package/dist/core/gpu/porters.d.ts +11 -1
  259. package/dist/core/gpu/porters.d.ts.map +1 -1
  260. package/dist/core/gpu/scaffolds/agentSystem.d.ts +244 -0
  261. package/dist/core/gpu/scaffolds/agentSystem.d.ts.map +1 -0
  262. package/dist/core/gpu/scaffolds/feedbackSim.d.ts +102 -0
  263. package/dist/core/gpu/scaffolds/feedbackSim.d.ts.map +1 -0
  264. package/dist/core/gpu/scaffolds/fluids.d.ts +170 -0
  265. package/dist/core/gpu/scaffolds/fluids.d.ts.map +1 -0
  266. package/dist/core/gpu/scaffolds/lateBoundChild.d.ts +51 -0
  267. package/dist/core/gpu/scaffolds/lateBoundChild.d.ts.map +1 -0
  268. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts +77 -0
  269. package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts.map +1 -0
  270. package/dist/core/gpu/scaffolds/rttFilter.d.ts +35 -0
  271. package/dist/core/gpu/scaffolds/rttFilter.d.ts.map +1 -0
  272. package/dist/core/gpu/scaffolds/sdfShape.d.ts +98 -0
  273. package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -0
  274. package/dist/core/gpu/scaffolds/shared.d.ts +16 -0
  275. package/dist/core/gpu/scaffolds/shared.d.ts.map +1 -0
  276. package/dist/core/gpu/scaffolds/simShared.d.ts +61 -0
  277. package/dist/core/gpu/scaffolds/simShared.d.ts.map +1 -0
  278. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts +134 -0
  279. package/dist/core/gpu/scaffolds/uvRemapShader.d.ts.map +1 -0
  280. package/dist/core/index.js +230 -217
  281. package/dist/core/lightfields-ffHoLyJn.js +1550 -0
  282. package/dist/core/lighting-D3jc6qOc.js +1270 -0
  283. package/dist/core/{media-Y-WxQcQD.js → media-fQMXfvXd.js} +31 -2
  284. package/dist/core/mediaLifecycle-yHZ8w5aj.js +314 -0
  285. package/dist/core/{noise-B-PI7JUx.js → noise-Bd6IGS0W.js} +1 -1
  286. package/dist/core/{noiseColor-Cgx-FS2o.js → noiseColor-DRDY44sf.js} +2 -2
  287. package/dist/core/noiseColor-DYhX5Js1.js +28 -0
  288. package/dist/core/{noiseStylize-BN5zji1E.js → noiseStylize-CkeVSB9C.js} +2 -2
  289. package/dist/core/pointer-DGDGF-yO.js +88 -0
  290. package/dist/core/porters-DUtQounc.js +12220 -0
  291. package/dist/core/presetRenderer.d.ts.map +1 -1
  292. package/dist/core/propConfigs-k3hs8KYL.js +190 -0
  293. package/dist/core/registry.js +222 -212
  294. package/dist/core/reveal-DhktaT1C.js +1071 -0
  295. package/dist/core/{shapeEffectBounds-Svfd_R5a.js → sdf3d-CP87OlsQ.js} +18752 -18710
  296. package/dist/core/shaderRegistry-DLSuwWtO.js +431 -0
  297. package/dist/core/shaders/AngularBlur/index.d.ts +8 -4
  298. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  299. package/dist/core/shaders/AngularBlur/index.js +7 -5
  300. package/dist/core/shaders/Arc/index.d.ts +0 -65
  301. package/dist/core/shaders/Arc/index.d.ts.map +1 -1
  302. package/dist/core/shaders/Arc/index.js +6 -7
  303. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  304. package/dist/core/shaders/Ascii/index.js +8 -5
  305. package/dist/core/shaders/Aurora/index.d.ts.map +1 -1
  306. package/dist/core/shaders/Aurora/index.js +9 -6
  307. package/dist/core/shaders/BarShift/index.d.ts +1 -7
  308. package/dist/core/shaders/BarShift/index.d.ts.map +1 -1
  309. package/dist/core/shaders/BarShift/index.js +8 -6
  310. package/dist/core/shaders/BarnDoors/index.d.ts.map +1 -1
  311. package/dist/core/shaders/BarnDoors/index.js +8 -5
  312. package/dist/core/shaders/Beam/index.d.ts.map +1 -1
  313. package/dist/core/shaders/Beam/index.js +9 -5
  314. package/dist/core/shaders/Bend/index.d.ts +0 -6
  315. package/dist/core/shaders/Bend/index.d.ts.map +1 -1
  316. package/dist/core/shaders/Bend/index.js +7 -5
  317. package/dist/core/shaders/Blob/index.js +6 -5
  318. package/dist/core/shaders/BlockDissolve/index.d.ts.map +1 -1
  319. package/dist/core/shaders/BlockDissolve/index.js +9 -6
  320. package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
  321. package/dist/core/shaders/BlockNoise/index.js +13 -8
  322. package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
  323. package/dist/core/shaders/BlueNoise/index.js +13 -8
  324. package/dist/core/shaders/Blur/index.d.ts +6 -6
  325. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  326. package/dist/core/shaders/Blur/index.js +7 -6
  327. package/dist/core/shaders/Boids/index.d.ts.map +1 -1
  328. package/dist/core/shaders/Boids/index.js +9 -8
  329. package/dist/core/shaders/BokehBlur/index.d.ts +16 -16
  330. package/dist/core/shaders/BokehBlur/index.d.ts.map +1 -1
  331. package/dist/core/shaders/BokehBlur/index.js +8 -6
  332. package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
  333. package/dist/core/shaders/BrickPattern/index.js +10 -5
  334. package/dist/core/shaders/BrightnessContrast/index.d.ts.map +1 -1
  335. package/dist/core/shaders/BrightnessContrast/index.js +6 -5
  336. package/dist/core/shaders/BrushedMetal/index.d.ts.map +1 -1
  337. package/dist/core/shaders/BrushedMetal/index.js +12 -12
  338. package/dist/core/shaders/Bulge/index.d.ts +2 -16
  339. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  340. package/dist/core/shaders/Bulge/index.js +6 -5
  341. package/dist/core/shaders/CRTScreen/index.js +6 -5
  342. package/dist/core/shaders/CarbonFiber/index.d.ts.map +1 -1
  343. package/dist/core/shaders/CarbonFiber/index.js +12 -12
  344. package/dist/core/shaders/Chalkboard/index.js +6 -5
  345. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  346. package/dist/core/shaders/ChannelBlur/index.js +7 -6
  347. package/dist/core/shaders/CheckerWipe/index.d.ts.map +1 -1
  348. package/dist/core/shaders/CheckerWipe/index.js +8 -5
  349. package/dist/core/shaders/Checkerboard/index.d.ts +0 -2
  350. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  351. package/dist/core/shaders/Checkerboard/index.js +9 -6
  352. package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
  353. package/dist/core/shaders/Chevron/index.js +8 -5
  354. package/dist/core/shaders/ChromaFlow/index.js +6 -6
  355. package/dist/core/shaders/ChromaticAberration/index.js +6 -5
  356. package/dist/core/shaders/Chrome/index.d.ts.map +1 -1
  357. package/dist/core/shaders/Chrome/index.js +12 -12
  358. package/dist/core/shaders/Circle/index.d.ts +0 -50
  359. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  360. package/dist/core/shaders/Circle/index.js +6 -7
  361. package/dist/core/shaders/ColorWheel/index.d.ts.map +1 -1
  362. package/dist/core/shaders/ColorWheel/index.js +8 -5
  363. package/dist/core/shaders/CompressionArtifacts/index.js +6 -5
  364. package/dist/core/shaders/ConcentricSpin/index.d.ts +3 -17
  365. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -1
  366. package/dist/core/shaders/ConcentricSpin/index.js +8 -6
  367. package/dist/core/shaders/ConicGradient/index.d.ts.map +1 -1
  368. package/dist/core/shaders/ConicGradient/index.js +10 -5
  369. package/dist/core/shaders/ContourLines/index.d.ts +1 -1
  370. package/dist/core/shaders/ContourLines/index.d.ts.map +1 -1
  371. package/dist/core/shaders/ContourLines/index.js +7 -5
  372. package/dist/core/shaders/CornerPin/index.d.ts +0 -6
  373. package/dist/core/shaders/CornerPin/index.d.ts.map +1 -1
  374. package/dist/core/shaders/CornerPin/index.js +6 -5
  375. package/dist/core/shaders/Crescent/index.d.ts +0 -71
  376. package/dist/core/shaders/Crescent/index.d.ts.map +1 -1
  377. package/dist/core/shaders/Crescent/index.js +6 -7
  378. package/dist/core/shaders/Cross/index.d.ts +0 -71
  379. package/dist/core/shaders/Cross/index.d.ts.map +1 -1
  380. package/dist/core/shaders/Cross/index.js +6 -7
  381. package/dist/core/shaders/Crystal/index.d.ts.map +1 -1
  382. package/dist/core/shaders/Crystal/index.js +11 -11
  383. package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
  384. package/dist/core/shaders/CurlNoise/index.js +13 -8
  385. package/dist/core/shaders/CursorRipples/index.d.ts.map +1 -1
  386. package/dist/core/shaders/CursorRipples/index.js +7 -5
  387. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  388. package/dist/core/shaders/CursorTrail/index.js +7 -5
  389. package/dist/core/shaders/DataMosh/index.d.ts.map +1 -1
  390. package/dist/core/shaders/DataMosh/index.js +6 -5
  391. package/dist/core/shaders/DiamondGradient/index.d.ts.map +1 -1
  392. package/dist/core/shaders/DiamondGradient/index.js +10 -5
  393. package/dist/core/shaders/DiamondWipe/index.d.ts.map +1 -1
  394. package/dist/core/shaders/DiamondWipe/index.js +8 -5
  395. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  396. package/dist/core/shaders/DiffuseBlur/index.js +6 -5
  397. package/dist/core/shaders/DisplacementMap/index.d.ts.map +1 -1
  398. package/dist/core/shaders/DisplacementMap/index.js +7 -5
  399. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  400. package/dist/core/shaders/Dither/index.js +6 -5
  401. package/dist/core/shaders/DotGrid/index.d.ts +0 -1
  402. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  403. package/dist/core/shaders/DotGrid/index.js +11 -6
  404. package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
  405. package/dist/core/shaders/DropShadow/index.js +8 -5
  406. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  407. package/dist/core/shaders/Duotone/index.js +6 -5
  408. package/dist/core/shaders/Ellipse/index.d.ts +0 -65
  409. package/dist/core/shaders/Ellipse/index.d.ts.map +1 -1
  410. package/dist/core/shaders/Ellipse/index.js +6 -7
  411. package/dist/core/shaders/Emboss/index.d.ts.map +1 -1
  412. package/dist/core/shaders/Emboss/index.js +8 -10
  413. package/dist/core/shaders/Engraving/index.d.ts.map +1 -1
  414. package/dist/core/shaders/Engraving/index.js +8 -6
  415. package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
  416. package/dist/core/shaders/ErosionNoise/index.js +13 -8
  417. package/dist/core/shaders/Exposure/index.d.ts.map +1 -1
  418. package/dist/core/shaders/Exposure/index.js +6 -5
  419. package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
  420. package/dist/core/shaders/FallingLines/index.js +8 -5
  421. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  422. package/dist/core/shaders/FilmGrain/index.js +6 -5
  423. package/dist/core/shaders/FilmStock/index.d.ts +9 -10
  424. package/dist/core/shaders/FilmStock/index.d.ts.map +1 -1
  425. package/dist/core/shaders/FilmStock/index.js +7 -6
  426. package/dist/core/shaders/Flip/index.d.ts.map +1 -1
  427. package/dist/core/shaders/Flip/index.js +6 -5
  428. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  429. package/dist/core/shaders/FloatingParticles/index.js +9 -8
  430. package/dist/core/shaders/FlowField/index.d.ts.map +1 -1
  431. package/dist/core/shaders/FlowField/index.js +8 -6
  432. package/dist/core/shaders/Flower/index.d.ts +0 -71
  433. package/dist/core/shaders/Flower/index.d.ts.map +1 -1
  434. package/dist/core/shaders/Flower/index.js +6 -7
  435. package/dist/core/shaders/FlowingGradient/index.d.ts.map +1 -1
  436. package/dist/core/shaders/FlowingGradient/index.js +8 -6
  437. package/dist/core/shaders/FlutedGlass/index.d.ts.map +1 -1
  438. package/dist/core/shaders/FlutedGlass/index.js +7 -5
  439. package/dist/core/shaders/Fog/index.d.ts +1 -9
  440. package/dist/core/shaders/Fog/index.d.ts.map +1 -1
  441. package/dist/core/shaders/Fog/index.js +8 -5
  442. package/dist/core/shaders/Form3D/index.d.ts.map +1 -1
  443. package/dist/core/shaders/Form3D/index.js +7 -5
  444. package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
  445. package/dist/core/shaders/FractalNoise/index.js +12 -7
  446. package/dist/core/shaders/Frost/index.d.ts.map +1 -1
  447. package/dist/core/shaders/Frost/index.js +11 -11
  448. package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
  449. package/dist/core/shaders/GaborNoise/index.js +13 -8
  450. package/dist/core/shaders/Glass/index.d.ts.map +1 -1
  451. package/dist/core/shaders/Glass/index.js +9 -11
  452. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  453. package/dist/core/shaders/GlassTiles/index.js +7 -5
  454. package/dist/core/shaders/Glitch/index.js +6 -5
  455. package/dist/core/shaders/Glow/index.d.ts +22 -26
  456. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  457. package/dist/core/shaders/Glow/index.js +7 -6
  458. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  459. package/dist/core/shaders/Godrays/index.js +9 -5
  460. package/dist/core/shaders/Goo/index.d.ts.map +1 -1
  461. package/dist/core/shaders/Goo/index.js +9 -10
  462. package/dist/core/shaders/GradientMap/index.d.ts.map +1 -1
  463. package/dist/core/shaders/GradientMap/index.js +7 -5
  464. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  465. package/dist/core/shaders/Grayscale/index.js +6 -5
  466. package/dist/core/shaders/Grid/index.d.ts +0 -1
  467. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  468. package/dist/core/shaders/Grid/index.js +11 -6
  469. package/dist/core/shaders/GridDistortion/index.d.ts +0 -6
  470. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  471. package/dist/core/shaders/GridDistortion/index.js +6 -5
  472. package/dist/core/shaders/Group/index.js +6 -5
  473. package/dist/core/shaders/HTMLInCanvas/index.d.ts.map +1 -1
  474. package/dist/core/shaders/HTMLInCanvas/index.js +7 -5
  475. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  476. package/dist/core/shaders/Halftone/index.js +7 -5
  477. package/dist/core/shaders/Heart/index.d.ts +0 -59
  478. package/dist/core/shaders/Heart/index.d.ts.map +1 -1
  479. package/dist/core/shaders/Heart/index.js +6 -7
  480. package/dist/core/shaders/Heatmap/index.d.ts.map +1 -1
  481. package/dist/core/shaders/Heatmap/index.js +10 -11
  482. package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
  483. package/dist/core/shaders/HexGrid/index.js +10 -5
  484. package/dist/core/shaders/Hologram/index.d.ts.map +1 -1
  485. package/dist/core/shaders/Hologram/index.js +10 -11
  486. package/dist/core/shaders/Holographic/index.d.ts.map +1 -1
  487. package/dist/core/shaders/Holographic/index.js +11 -11
  488. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  489. package/dist/core/shaders/HueShift/index.js +7 -5
  490. package/dist/core/shaders/ImageTexture/index.d.ts +0 -6
  491. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  492. package/dist/core/shaders/ImageTexture/index.js +6 -7
  493. package/dist/core/shaders/InkFlow/index.d.ts +1 -9
  494. package/dist/core/shaders/InkFlow/index.d.ts.map +1 -1
  495. package/dist/core/shaders/InkFlow/index.js +7 -5
  496. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  497. package/dist/core/shaders/Invert/index.js +6 -5
  498. package/dist/core/shaders/IrisWipe/index.d.ts.map +1 -1
  499. package/dist/core/shaders/IrisWipe/index.js +8 -5
  500. package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
  501. package/dist/core/shaders/IsometricCubes/index.js +10 -5
  502. package/dist/core/shaders/Kaleidoscope/index.d.ts +2 -16
  503. package/dist/core/shaders/Kaleidoscope/index.d.ts.map +1 -1
  504. package/dist/core/shaders/Kaleidoscope/index.js +7 -5
  505. package/dist/core/shaders/KeyFrames/index.d.ts.map +1 -1
  506. package/dist/core/shaders/KeyFrames/index.js +7 -5
  507. package/dist/core/shaders/LensDistortion/index.js +6 -6
  508. package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
  509. package/dist/core/shaders/LensFlare/index.js +10 -5
  510. package/dist/core/shaders/LightEdge/index.d.ts.map +1 -1
  511. package/dist/core/shaders/LightEdge/index.js +10 -11
  512. package/dist/core/shaders/LightLeak/index.d.ts.map +1 -1
  513. package/dist/core/shaders/LightLeak/index.js +10 -6
  514. package/dist/core/shaders/Line/index.js +6 -5
  515. package/dist/core/shaders/LinearBlur/index.d.ts +2 -1
  516. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  517. package/dist/core/shaders/LinearBlur/index.js +8 -5
  518. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  519. package/dist/core/shaders/LinearGradient/index.js +8 -5
  520. package/dist/core/shaders/LinearWipe/index.d.ts.map +1 -1
  521. package/dist/core/shaders/LinearWipe/index.js +8 -5
  522. package/dist/core/shaders/LiquidMetal/index.d.ts.map +1 -1
  523. package/dist/core/shaders/LiquidMetal/index.js +12 -12
  524. package/dist/core/shaders/Liquify/index.d.ts +0 -6
  525. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  526. package/dist/core/shaders/Liquify/index.js +6 -5
  527. package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
  528. package/dist/core/shaders/MagneticFilings/index.js +9 -8
  529. package/dist/core/shaders/Marble/index.d.ts.map +1 -1
  530. package/dist/core/shaders/Marble/index.js +9 -6
  531. package/dist/core/shaders/Mirror/index.d.ts +2 -16
  532. package/dist/core/shaders/Mirror/index.d.ts.map +1 -1
  533. package/dist/core/shaders/Mirror/index.js +7 -5
  534. package/dist/core/shaders/MultiPointGradient/index.d.ts.map +1 -1
  535. package/dist/core/shaders/MultiPointGradient/index.js +7 -5
  536. package/dist/core/shaders/Neon/index.d.ts.map +1 -1
  537. package/dist/core/shaders/Neon/index.js +6 -9
  538. package/dist/core/shaders/NoiseDissolve/index.d.ts.map +1 -1
  539. package/dist/core/shaders/NoiseDissolve/index.js +9 -6
  540. package/dist/core/shaders/ObjectTracker/index.d.ts.map +1 -1
  541. package/dist/core/shaders/ObjectTracker/index.js +9 -6
  542. package/dist/core/shaders/PagePeel/index.d.ts.map +1 -1
  543. package/dist/core/shaders/PagePeel/index.js +7 -5
  544. package/dist/core/shaders/Paper/index.js +7 -6
  545. package/dist/core/shaders/Parallelogram/index.d.ts +0 -71
  546. package/dist/core/shaders/Parallelogram/index.d.ts.map +1 -1
  547. package/dist/core/shaders/Parallelogram/index.js +6 -7
  548. package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
  549. package/dist/core/shaders/ParticleField/index.js +9 -8
  550. package/dist/core/shaders/ParticleFlow/index.d.ts +1 -6
  551. package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
  552. package/dist/core/shaders/ParticleFlow/index.js +9 -8
  553. package/dist/core/shaders/Particles/index.d.ts.map +1 -1
  554. package/dist/core/shaders/Particles/index.js +10 -11
  555. package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
  556. package/dist/core/shaders/PerlinNoise/index.js +13 -8
  557. package/dist/core/shaders/Perspective/index.d.ts +0 -12
  558. package/dist/core/shaders/Perspective/index.d.ts.map +1 -1
  559. package/dist/core/shaders/Perspective/index.js +7 -5
  560. package/dist/core/shaders/PixelSort/index.js +6 -5
  561. package/dist/core/shaders/PixelThrow/index.d.ts +8 -9
  562. package/dist/core/shaders/PixelThrow/index.d.ts.map +1 -1
  563. package/dist/core/shaders/PixelThrow/index.js +6 -6
  564. package/dist/core/shaders/Pixelate/index.js +6 -5
  565. package/dist/core/shaders/Plasma/index.d.ts +2 -2
  566. package/dist/core/shaders/Plasma/index.d.ts.map +1 -1
  567. package/dist/core/shaders/Plasma/index.js +12 -6
  568. package/dist/core/shaders/Plastic/index.d.ts.map +1 -1
  569. package/dist/core/shaders/Plastic/index.js +11 -11
  570. package/dist/core/shaders/PolarCoordinates/index.d.ts +2 -16
  571. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  572. package/dist/core/shaders/PolarCoordinates/index.js +7 -5
  573. package/dist/core/shaders/Polygon/index.d.ts +0 -71
  574. package/dist/core/shaders/Polygon/index.d.ts.map +1 -1
  575. package/dist/core/shaders/Polygon/index.js +6 -7
  576. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  577. package/dist/core/shaders/Posterize/index.js +6 -5
  578. package/dist/core/shaders/Prism/index.d.ts +2 -1
  579. package/dist/core/shaders/Prism/index.d.ts.map +1 -1
  580. package/dist/core/shaders/Prism/index.js +6 -5
  581. package/dist/core/shaders/ProgressiveBlur/index.d.ts +16 -16
  582. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  583. package/dist/core/shaders/ProgressiveBlur/index.js +8 -6
  584. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  585. package/dist/core/shaders/RadialGradient/index.js +10 -5
  586. package/dist/core/shaders/RadialWipe/index.d.ts.map +1 -1
  587. package/dist/core/shaders/RadialWipe/index.js +8 -5
  588. package/dist/core/shaders/RandomBars/index.d.ts.map +1 -1
  589. package/dist/core/shaders/RandomBars/index.js +9 -6
  590. package/dist/core/shaders/ReactionDiffusion/index.d.ts.map +1 -1
  591. package/dist/core/shaders/ReactionDiffusion/index.js +8 -5
  592. package/dist/core/shaders/RectangularCoordinates/index.d.ts +2 -16
  593. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  594. package/dist/core/shaders/RectangularCoordinates/index.js +7 -5
  595. package/dist/core/shaders/ReflectivePlane/index.d.ts.map +1 -1
  596. package/dist/core/shaders/ReflectivePlane/index.js +7 -6
  597. package/dist/core/shaders/Repeater/index.js +6 -5
  598. package/dist/core/shaders/Ring/index.d.ts +0 -59
  599. package/dist/core/shaders/Ring/index.d.ts.map +1 -1
  600. package/dist/core/shaders/Ring/index.js +6 -7
  601. package/dist/core/shaders/RippleWipe/index.d.ts.map +1 -1
  602. package/dist/core/shaders/RippleWipe/index.js +8 -5
  603. package/dist/core/shaders/Ripples/index.js +6 -5
  604. package/dist/core/shaders/RoundedRect/index.d.ts +0 -71
  605. package/dist/core/shaders/RoundedRect/index.d.ts.map +1 -1
  606. package/dist/core/shaders/RoundedRect/index.js +6 -7
  607. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  608. package/dist/core/shaders/Saturation/index.js +6 -5
  609. package/dist/core/shaders/Scratches/index.js +10 -8
  610. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  611. package/dist/core/shaders/Sharpness/index.js +6 -5
  612. package/dist/core/shaders/Shatter/index.js +6 -6
  613. package/dist/core/shaders/SimplexNoise/index.d.ts +0 -18
  614. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  615. package/dist/core/shaders/SimplexNoise/index.js +13 -7
  616. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  617. package/dist/core/shaders/SineWave/index.js +7 -5
  618. package/dist/core/shaders/SliceWipe/index.d.ts.map +1 -1
  619. package/dist/core/shaders/SliceWipe/index.js +7 -5
  620. package/dist/core/shaders/Smoke/index.d.ts +1 -9
  621. package/dist/core/shaders/Smoke/index.d.ts.map +1 -1
  622. package/dist/core/shaders/Smoke/index.js +7 -5
  623. package/dist/core/shaders/SmokeFill/index.d.ts +1 -9
  624. package/dist/core/shaders/SmokeFill/index.d.ts.map +1 -1
  625. package/dist/core/shaders/SmokeFill/index.js +9 -10
  626. package/dist/core/shaders/SmokeFlow/index.d.ts +1 -9
  627. package/dist/core/shaders/SmokeFlow/index.d.ts.map +1 -1
  628. package/dist/core/shaders/SmokeFlow/index.js +7 -5
  629. package/dist/core/shaders/Solarize/index.d.ts.map +1 -1
  630. package/dist/core/shaders/Solarize/index.js +6 -5
  631. package/dist/core/shaders/SolidColor/index.js +2 -2
  632. package/dist/core/shaders/Spherize/index.js +6 -5
  633. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  634. package/dist/core/shaders/Spiral/index.js +7 -5
  635. package/dist/core/shaders/Star/index.d.ts +0 -71
  636. package/dist/core/shaders/Star/index.d.ts.map +1 -1
  637. package/dist/core/shaders/Star/index.js +6 -7
  638. package/dist/core/shaders/Stone/index.js +4 -4
  639. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  640. package/dist/core/shaders/Strands/index.js +7 -5
  641. package/dist/core/shaders/Stretch/index.d.ts +2 -16
  642. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  643. package/dist/core/shaders/Stretch/index.js +7 -5
  644. package/dist/core/shaders/Stripes/index.d.ts +0 -1
  645. package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
  646. package/dist/core/shaders/Stripes/index.js +10 -6
  647. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -1
  648. package/dist/core/shaders/StudioBackground/index.js +9 -5
  649. package/dist/core/shaders/SunBurst/index.d.ts.map +1 -1
  650. package/dist/core/shaders/SunBurst/index.js +9 -5
  651. package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
  652. package/dist/core/shaders/Surface3D/index.js +8 -7
  653. package/dist/core/shaders/Swirl/index.js +6 -5
  654. package/dist/core/shaders/Teardrop/index.d.ts +0 -65
  655. package/dist/core/shaders/Teardrop/index.d.ts.map +1 -1
  656. package/dist/core/shaders/Teardrop/index.js +6 -7
  657. package/dist/core/shaders/Text/index.d.ts.map +1 -1
  658. package/dist/core/shaders/Text/index.js +10 -6
  659. package/dist/core/shaders/ThinFilm/index.d.ts.map +1 -1
  660. package/dist/core/shaders/ThinFilm/index.js +8 -9
  661. package/dist/core/shaders/TiltShift/index.d.ts +16 -16
  662. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  663. package/dist/core/shaders/TiltShift/index.js +8 -6
  664. package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
  665. package/dist/core/shaders/TimeTrail/index.js +6 -6
  666. package/dist/core/shaders/Tint/index.d.ts.map +1 -1
  667. package/dist/core/shaders/Tint/index.js +6 -5
  668. package/dist/core/shaders/Trapezoid/index.d.ts +0 -71
  669. package/dist/core/shaders/Trapezoid/index.d.ts.map +1 -1
  670. package/dist/core/shaders/Trapezoid/index.js +6 -7
  671. package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
  672. package/dist/core/shaders/TriangularGrid/index.js +10 -5
  673. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  674. package/dist/core/shaders/Tritone/index.js +6 -5
  675. package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
  676. package/dist/core/shaders/Truchet/index.js +10 -5
  677. package/dist/core/shaders/Twirl/index.d.ts +2 -16
  678. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  679. package/dist/core/shaders/Twirl/index.js +6 -5
  680. package/dist/core/shaders/VHS/index.js +6 -5
  681. package/dist/core/shaders/VenetianBlinds/index.d.ts.map +1 -1
  682. package/dist/core/shaders/VenetianBlinds/index.js +8 -5
  683. package/dist/core/shaders/Vesica/index.d.ts +0 -65
  684. package/dist/core/shaders/Vesica/index.d.ts.map +1 -1
  685. package/dist/core/shaders/Vesica/index.js +6 -7
  686. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  687. package/dist/core/shaders/Vibrance/index.js +6 -5
  688. package/dist/core/shaders/VideoTexture/index.d.ts +0 -25
  689. package/dist/core/shaders/VideoTexture/index.d.ts.map +1 -1
  690. package/dist/core/shaders/VideoTexture/index.js +7 -7
  691. package/dist/core/shaders/Vignette/index.d.ts.map +1 -1
  692. package/dist/core/shaders/Vignette/index.js +6 -5
  693. package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
  694. package/dist/core/shaders/Voronoi/index.js +11 -5
  695. package/dist/core/shaders/Water/index.d.ts.map +1 -1
  696. package/dist/core/shaders/Water/index.js +11 -11
  697. package/dist/core/shaders/Watercolor/index.js +7 -6
  698. package/dist/core/shaders/WaveDistortion/index.d.ts +0 -6
  699. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  700. package/dist/core/shaders/WaveDistortion/index.js +7 -5
  701. package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
  702. package/dist/core/shaders/WaveletNoise/index.js +13 -8
  703. package/dist/core/shaders/Weave/index.d.ts.map +1 -1
  704. package/dist/core/shaders/Weave/index.js +10 -5
  705. package/dist/core/shaders/WebcamTexture/index.d.ts +0 -6
  706. package/dist/core/shaders/WebcamTexture/index.d.ts.map +1 -1
  707. package/dist/core/shaders/WebcamTexture/index.js +8 -7
  708. package/dist/core/shaders/Wool/index.js +4 -4
  709. package/dist/core/shaders/WorleyNoise/index.d.ts +2 -2
  710. package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
  711. package/dist/core/shaders/WorleyNoise/index.js +12 -5
  712. package/dist/core/shaders/ZoomBlur/index.d.ts +2 -1
  713. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  714. package/dist/core/shaders/ZoomBlur/index.js +7 -5
  715. package/dist/core/tone-DPUvX6X0.js +705 -0
  716. package/dist/core/utilities/halfUvProps.d.ts +35 -0
  717. package/dist/core/utilities/halfUvProps.d.ts.map +1 -0
  718. package/dist/core/utilities/measure.d.ts.map +1 -1
  719. package/dist/core/utilities/propConfigs.d.ts +106 -0
  720. package/dist/core/utilities/propConfigs.d.ts.map +1 -0
  721. package/dist/core/utilities/transformations/index.js +1 -1
  722. package/dist/js/bundle.js +176 -176
  723. package/dist/js/createShader.js +1 -1
  724. package/dist/react/Shader.js +1 -1
  725. package/dist/react/bundle.js +176 -176
  726. package/dist/registry.js +99 -90
  727. package/dist/solid/engine/Shader.js +1 -1
  728. package/dist/svelte/index.js +1 -1
  729. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
  730. package/package.json +1 -1
  731. package/dist/core/Arc-DhhcsMqr.js +0 -331
  732. package/dist/core/BarnDoors-Cnyfsla8.js +0 -447
  733. package/dist/core/BlockDissolve-i8V6gmZw.js +0 -365
  734. package/dist/core/Blur-B8NcZJdr.js +0 -701
  735. package/dist/core/Checkerboard-BnWdSZLM.js +0 -709
  736. package/dist/core/Circle-CJ4IbgBH.js +0 -358
  737. package/dist/core/Crescent-BKcpTzwd.js +0 -335
  738. package/dist/core/Cross-CDUSIOgx.js +0 -335
  739. package/dist/core/Ellipse-NdZQjjl7.js +0 -316
  740. package/dist/core/Flower--rN6c2HY.js +0 -335
  741. package/dist/core/Fog-2iNe3zZl.js +0 -5667
  742. package/dist/core/Glow-D_nSsYo1.js +0 -2051
  743. package/dist/core/Grid-D8ewrixy.js +0 -1346
  744. package/dist/core/Heart-0eDZ50ZK.js +0 -297
  745. package/dist/core/ImageTexture-B5oPuXeI.js +0 -183
  746. package/dist/core/InkFlow-C7l_qlaJ.js +0 -4983
  747. package/dist/core/IrisWipe-Dg9iiTjF.js +0 -418
  748. package/dist/core/LinearWipe-D5UkI1cK.js +0 -423
  749. package/dist/core/Parallelogram-D7bW1gMV.js +0 -335
  750. package/dist/core/Plasma-zC1y0At6.js +0 -715
  751. package/dist/core/Polygon-0kVtkdec.js +0 -379
  752. package/dist/core/RadialWipe-DfJ3dL7p.js +0 -528
  753. package/dist/core/RandomBars-B-EaAz9c.js +0 -490
  754. package/dist/core/RoundedRect-B2EDoIqT.js +0 -336
  755. package/dist/core/Smoke-CFr-A3JD.js +0 -5003
  756. package/dist/core/SmokeFill-DglhxF4x.js +0 -7118
  757. package/dist/core/SmokeFlow-CC1tfLRh.js +0 -4610
  758. package/dist/core/Star-DqkPHXlP.js +0 -335
  759. package/dist/core/Teardrop-b8XQR6NO.js +0 -316
  760. package/dist/core/VenetianBlinds-H8OVGxhT.js +0 -459
  761. package/dist/core/Vesica-C8MrL_up.js +0 -316
  762. package/dist/core/VideoTexture--U8aiyP1.js +0 -927
  763. package/dist/core/Voronoi-BW4RE3MQ.js +0 -935
  764. package/dist/core/WebcamTexture--GTVU-Bm.js +0 -220
  765. package/dist/core/WorleyNoise-i7i0azT8.js +0 -1667
  766. package/dist/core/compute-Ax-p6Ubc.js +0 -31
  767. package/dist/core/dataEncoding-CEmpiitu.js +0 -24
  768. package/dist/core/device-BODv_4aH.js +0 -10
  769. package/dist/core/gpu/kit/effects/prism.d.ts +0 -111
  770. package/dist/core/gpu/kit/effects/prism.d.ts.map +0 -1
  771. package/dist/core/naturalSize-BPCi_I-Z.js +0 -24
  772. package/dist/core/noiseColor-BQAO-Rjk.js +0 -103
  773. package/dist/core/porters-D_xmIPz2.js +0 -991
  774. package/dist/core/shaderRegistry-DFRVhoj2.js +0 -431
  775. /package/dist/core/{fonts-DxVn9e-I.js → fonts-ScBvKolx.js} +0 -0
  776. /package/dist/core/{transformations-C7gn_5rF.js → transformations-B-zNWNdd.js} +0 -0
@@ -0,0 +1,77 @@
1
+ import { ComponentProps } from '../../types';
2
+ import { Expr, GpuFragmentParams, GpuShaderDefinition } from '../contract';
3
+
4
+ /**
5
+ * A `'use gpu'` body fn plus the name hint it resolves under. The hint LANDS IN THE EMITTED WGSL,
6
+ * so it is part of every shader's snapshot — keep it equal to the exported fn's variable name.
7
+ */
8
+ export interface FilterBody {
9
+ /** The `tgpu.fn`. Typed `unknown` to match `call`'s signature (no TgpuFn import needed here). */
10
+ fn: unknown;
11
+ hint: string;
12
+ }
13
+ /**
14
+ * A filter's identity (no-op) condition, driving both the `compileTimeWhen` recompose and the
15
+ * bypass. Declare the identity here rather than hand-rolling the `if` in a fragment: the scaffold
16
+ * applies the right bypass for its alpha convention and adds the map-driver guard below.
17
+ *
18
+ * MAP-DRIVER GUARD (why `props` is required): `propValues` carries a prop's BASE CPU value and is
19
+ * deliberately driver-unaware (`composer.ts propValuesFor` reads the handle mirror). A prop with a
20
+ * MAP driver varies per pixel around that base, so bypassing on the base value would make the map
21
+ * dead. The scaffold therefore refuses the bypass when any listed prop is map-driven
22
+ * (`getMapInfo(prop) !== null`).
23
+ *
24
+ * KNOWN GAP (needs a contract change — `planning/PRIMITIVES_PLAN.md` Phase 12): mouse/auto
25
+ * drivers are NOT detectable from a fragment builder. A prop whose base value is the identity but
26
+ * which is mouse/auto-driven still gets bypassed, so the driver appears dead until the base value
27
+ * changes. This predates the scaffold (Saturation/HueShift/Sharpness shipped with it); the fix is
28
+ * to expose driver presence on `GpuFragmentParams`, at which point this one method covers all
29
+ * consumers at once.
30
+ */
31
+ export interface FilterIdentity {
32
+ /** Every prop `when` reads. A map driver on any of them disables the bypass. */
33
+ props: string[];
34
+ /** True when the filter is a provable no-op at these CPU values. */
35
+ when: (propValues: Record<string, unknown>) => boolean;
36
+ }
37
+ /** `GpuFragmentParams` narrowed to the post-guard state: the child is present. */
38
+ export interface FilterParams extends GpuFragmentParams {
39
+ childNode: Expr;
40
+ }
41
+ export interface PointwiseFilterConfig<T extends ComponentProps = ComponentProps> extends Omit<GpuShaderDefinition<T>, 'fragment' | 'requiresRTT' | 'requiresChild' | 'uvRemap'> {
42
+ /**
43
+ * The body fn, or a picker reading compile-time `propValues` when the shader has a body PAIR
44
+ * (Tint's plain/preserve-luminosity variants). Only the picked body emits into the WGSL, so the
45
+ * selecting prop MUST be `compileTime: true`.
46
+ */
47
+ body: FilterBody | ((propValues: Record<string, unknown>) => FilterBody);
48
+ /**
49
+ * The body's arguments AFTER the child colour (which is always first). Gets the whole builder
50
+ * params so a filter can read `ctx` (Vignette's `ctx.uv`/`ctx.aspect`, FilmGrain's viewport)
51
+ * alongside `uniforms`.
52
+ */
53
+ args?: (params: FilterParams) => Expr[];
54
+ /** Builder-level work on the body's RESULT — colour-space mixes, a palette branch, a tail call. */
55
+ compose?: (result: Expr, params: FilterParams) => Expr;
56
+ /** The no-op condition. Omit for a filter with no identity (Invert, Grayscale, Posterize). */
57
+ identity?: FilterIdentity;
58
+ /**
59
+ * Message for the missing-child `console.error`. Omit to fail SILENTLY (still returns `ZERO`) —
60
+ * preserve whichever each shader does today; these strings are user-facing.
61
+ */
62
+ missingChildMessage?: string;
63
+ /**
64
+ * Per-composition side effects that are not part of the returned Expr — registering an
65
+ * `onBeforeRender` to drive an `extraFields` value (FilmGrain's grain clock). Runs after the
66
+ * guard and only on the non-identity path (nothing to drive when the filter is bypassed).
67
+ */
68
+ setup?: (params: FilterParams) => void;
69
+ }
70
+ /** Build a complete pointwise colour-filter definition. See the module header for the recipe. */
71
+ export declare function definePointwiseFilter<T extends ComponentProps = ComponentProps>(config: PointwiseFilterConfig<T>): GpuShaderDefinition<T>;
72
+ /**
73
+ * Shared identity test for both filter scaffolds: the declared condition AND no map driver on any
74
+ * prop it reads (see {@link FilterIdentity}).
75
+ */
76
+ export declare function isFilterIdentity(identity: FilterIdentity | undefined, params: GpuFragmentParams): boolean;
77
+ //# sourceMappingURL=pointwiseFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointwiseFilter.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/pointwiseFilter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAE7E;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,iGAAiG;IACjG,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,cAAc;IAC3B,gFAAgF;IAChF,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,oEAAoE;IACpE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CACzD;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACnD,SAAS,EAAE,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAC5E,SAAQ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC;IAC9F;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,CAAA;IACxE;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EAAE,CAAA;IACvC,mGAAmG;IACnG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;IACtD,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;CACzC;AAED,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC3E,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,GACjC,mBAAmB,CAAC,CAAC,CAAC,CAkBxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAMzG"}
@@ -0,0 +1,35 @@
1
+ import { ComponentProps } from '../../types';
2
+ import { Expr, GpuFragmentParams, GpuShaderDefinition, KitTexture } from '../contract';
3
+ import { FilterIdentity } from './pointwiseFilter';
4
+
5
+ /** `GpuFragmentParams` plus the child's RTT — what an RTT filter's `build` hook works with. */
6
+ export interface RttFilterParams extends GpuFragmentParams {
7
+ childNode: Expr;
8
+ /** The composed child as a texture. PREMULTIPLIED — see the module header. */
9
+ texture: KitTexture;
10
+ /**
11
+ * Sample the child RTT and unpremultiply → STRAIGHT alpha. For a filter whose math must run on
12
+ * straight colour (a luminance threshold, a colour quantiser). A filter doing linear-in-RGB
13
+ * work (a convolution) should sample `texture` directly and stay premultiplied throughout.
14
+ */
15
+ sampleStraight: (uv: Expr) => Expr;
16
+ }
17
+ export interface RttFilterConfig<T extends ComponentProps = ComponentProps> extends Omit<GpuShaderDefinition<T>, 'fragment' | 'requiresRTT' | 'requiresChild'> {
18
+ /** Build the filtered colour from the child RTT. Returns premultiplied unless `resultAlpha`. */
19
+ build: (params: RttFilterParams) => Expr;
20
+ /**
21
+ * The alpha convention of `build`'s return value. `'premultiplied'` (default) → the scaffold
22
+ * appends `blend.unpremultiplyAlpha`. `'straight'` → returned as-is, for a filter that already
23
+ * unpremultiplied its taps via `sampleStraight`.
24
+ */
25
+ resultAlpha?: 'premultiplied' | 'straight';
26
+ /** The no-op condition. Bypasses to a centre sample, NOT to `childNode` — see the header. */
27
+ identity?: FilterIdentity;
28
+ /** Message for the missing-child `console.error`. Omit to fail silently (still returns `ZERO`). */
29
+ missingChildMessage?: string;
30
+ /** Per-composition side effects (an `onBeforeRender` driving an `extraFields` value). */
31
+ setup?: (params: RttFilterParams) => void;
32
+ }
33
+ /** Build a complete RTT filter definition. See the module header for the alpha contract. */
34
+ export declare function defineRttFilter<T extends ComponentProps = ComponentProps>(config: RttFilterConfig<T>): GpuShaderDefinition<T>;
35
+ //# sourceMappingURL=rttFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rttFilter.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/rttFilter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AAEzF,OAAO,EAAmB,KAAK,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAEvE,+FAA+F;AAC/F,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACtD,SAAS,EAAE,IAAI,CAAA;IACf,8EAA8E;IAC9E,OAAO,EAAE,UAAU,CAAA;IACnB;;;;OAIG;IACH,cAAc,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CACtE,SAAQ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;IAClF,gGAAgG;IAChG,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,GAAG,UAAU,CAAA;IAC1C,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,mGAAmG;IACnG,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yFAAyF;IACzF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;CAC5C;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACrE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAC3B,mBAAmB,CAAC,CAAC,CAAC,CAsBxB"}
@@ -0,0 +1,98 @@
1
+ import { GpuShaderDefinition } from '../contract';
2
+ import { BoundingBoxBindingType, BoundingBoxDeclaration, ComponentProps, PropConfig } from '../../types';
3
+ import { shapeStrokeProps } from '../../utilities/propConfigs';
4
+
5
+ /**
6
+ * Any prop config, whatever the prop's value type. Shape props are heterogeneous by nature (a
7
+ * number, a `DimensionalValue`, a colour string), and the factory only ever moves them around, so
8
+ * the value type is deliberately unconstrained here — the shader's own `ComponentProps` interface is
9
+ * where the per-prop types are stated.
10
+ */
11
+ type AnyPropConfig = PropConfig<any>;
12
+ /**
13
+ * How the shape's bounding box is declared.
14
+ *
15
+ * `size` is the declarative form thirteen shapes use: x/y bind `center`, width/height bind the
16
+ * named size props, and rotation binds `rotation` unless `rotatable: false`. `as` defaults to
17
+ * `'half-canvas-height'` (the prop is a half-extent); Circle passes `'canvas-height'` because its
18
+ * `radius` names the full visual size and the shader halves it internally.
19
+ *
20
+ * `custom` is the escape hatch for the two shapes whose box cannot be read off a single prop: Ring
21
+ * (outer edge = midline radius + half-band thickness) and Trapezoid (visual width = the WIDER of
22
+ * its two edges). Those pass a complete `BoundingBoxDeclaration` — `computeBounds` / `writeBounds`
23
+ * are per-shape geometry, not something a factory can infer.
24
+ */
25
+ export type SdfShapeBounds = {
26
+ size: {
27
+ width: string;
28
+ height: string;
29
+ as?: BoundingBoxBindingType;
30
+ };
31
+ custom?: never;
32
+ } | {
33
+ custom: BoundingBoxDeclaration;
34
+ size?: never;
35
+ };
36
+ export interface SdfShapeShaderSpec {
37
+ name: string;
38
+ description: string;
39
+ /** Defaults to `'Shapes'`. */
40
+ category?: string;
41
+ /**
42
+ * The `'use gpu'` mask body fn, defined in the shader file (see the file header for the
43
+ * template and the argument-order contract). Returns a `sdf.ShapeMask`.
44
+ */
45
+ shapeFn: unknown;
46
+ /**
47
+ * The `call` hint for `shapeFn` — must stay equal to the fn's emitted WGSL name (`'starShape'`),
48
+ * because that name appears in the WGSL snapshots.
49
+ */
50
+ shapeFnName: string;
51
+ /**
52
+ * The uniform prop names `shapeFn` takes between `center` and `softness`, in BODY order —
53
+ * including `rotation` for a rotatable shape. This is a separate list from `shapeProps` because
54
+ * the two orders can differ (Trapezoid declares `bottomWidth, topWidth, height` but its body
55
+ * takes `topWidth, bottomWidth, height`).
56
+ */
57
+ bodyArgs: string[];
58
+ /** The `color` prop's description ("Fill color of the star"). */
59
+ colorDescription: string;
60
+ /** The `center` prop's description ("Center position of the star"). */
61
+ centerDescription: string;
62
+ /** Circle labels its center prop 'Center Position'; the rest use the factory default. */
63
+ centerLabel?: string;
64
+ /** The 1–3 props that make this shape itself, in declaration order. */
65
+ shapeProps: Record<string, AnyPropConfig>;
66
+ /** `false` for the rotationally symmetric shapes (Circle, Ring): no rotation prop, no rotation box axis. */
67
+ rotatable?: boolean;
68
+ /** Cross explains the 45° case; everything else uses the default wording. */
69
+ rotationDescription?: string;
70
+ bounds: SdfShapeBounds;
71
+ /** Passed straight to `shapeStrokeProps` (Ring's wording + max, Circle's wording). */
72
+ stroke?: Parameters<typeof shapeStrokeProps>[0];
73
+ /** Circle's `colorSpace` description mentions soft edges. */
74
+ colorSpaceDescription?: string;
75
+ /**
76
+ * Prop configs that REPLACE a factory-built one, keyed by prop name. Spread last, so a replaced
77
+ * prop keeps its position in the key order. Circle uses this for its widened, map-driveable
78
+ * `softness` / `strokeThickness`.
79
+ */
80
+ propOverrides?: Record<string, AnyPropConfig>;
81
+ /**
82
+ * Explicit prop key order, when the shader's current order is not the fleet-canonical one.
83
+ * Must list every prop exactly once — a mismatch throws, because a silently dropped prop would
84
+ * change the uniform struct.
85
+ */
86
+ propOrder?: string[];
87
+ }
88
+ /**
89
+ * Build a complete analytic-2D-shape shader definition from its shape props, its mask body fn and
90
+ * its box declaration.
91
+ *
92
+ * The emitted definition is byte-identical to the hand-written one for all fifteen migrated shapes
93
+ * (Gate A): same props in the same order, same `boundingBoxDeclaration`, and a fragment that emits
94
+ * the same `call` sequence.
95
+ */
96
+ export declare function defineSdfShapeShader<T extends ComponentProps = ComponentProps>(spec: SdfShapeShaderSpec): GpuShaderDefinition<T>;
97
+ export {};
98
+ //# sourceMappingURL=sdfShape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdfShape.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/sdfShape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,OAAO,KAAK,EAA0B,mBAAmB,EAAC,MAAM,aAAa,CAAA;AAG7E,OAAO,KAAK,EACR,sBAAsB,EACtB,sBAAsB,EAEtB,cAAc,EACd,UAAU,EACb,MAAM,aAAa,CAAA;AAEpB,OAAO,EAIH,gBAAgB,EACnB,MAAM,6BAA6B,CAAA;AAEpC;;;;;GAKG;AAEH,KAAK,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;AAEpC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACpB;IAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,sBAAsB,CAAA;KAAC,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAC,GACpF;IAAC,MAAM,EAAE,sBAAsB,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAC,CAAA;AAEpD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAA;IACxB,uEAAuE;IACvE,iBAAiB,EAAE,MAAM,CAAA;IACzB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAEzC,4GAA4G;IAC5G,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,MAAM,EAAE,cAAc,CAAA;IAEtB,sFAAsF;IACtF,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC7C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAuDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC1E,IAAI,EAAE,kBAAkB,GACzB,mBAAmB,CAAC,CAAC,CAAC,CA8CxB"}
@@ -0,0 +1,16 @@
1
+ import { d } from '../kit';
2
+
3
+ /**
4
+ * The legacy sin-fract hash, mapping a float to [-1, 1].
5
+ *
6
+ * `fract(sin(x · 12.9898) · 43758.5453)` is the classic GLSL one-liner; the `(· − 0.5) · 2` tail
7
+ * re-centres it. BarShift (`barHash`) and ConcentricSpin (`csHash`) declared this byte-identically,
8
+ * which is what makes deduping it safe.
9
+ *
10
+ * TRAP: this is NOT `noise.hash11` and must not be swapped for it. The bit-exact integer hashes in
11
+ * `kit/noise.ts` produce a different sequence, so substituting one changes every consumer's look.
12
+ * Hash policy (PRIMITIVES.md, D-6) is that existing shaders keep this one and NEW shaders use
13
+ * `noise.hash*`.
14
+ */
15
+ export declare const legacySinHash11: import('typegpu').TgpuFn<(x: d.F32) => d.F32>;
16
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,QAAQ,CAAA;AAEnC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,+CAG1B,CAAA"}
@@ -0,0 +1,61 @@
1
+ import { d } from '../kit';
2
+
3
+ /**
4
+ * Plain Gaussian brush weight from a PRE-SQUARED distance and radius: `exp(-distSq / radiusSq)`.
5
+ *
6
+ * Peaks at 1 in the centre and never reaches zero — cells outside the nominal radius still receive
7
+ * ~37% and below. This is what the fluid splats shipped with before the edge-shifted form existed;
8
+ * it stays available because a few consumers deliberately want the long tail.
9
+ *
10
+ * `radiusSq` must already be guarded (`max(r*r, eps)`) by the caller — the grid-space consumers
11
+ * clamp to one cell (`max(r*r, 1.0)`), which is a different floor than a UV-space consumer wants.
12
+ */
13
+ export declare const gaussianBrushSq: import('typegpu').TgpuFn<(distSq: d.F32, radiusSq: d.F32) => d.F32>;
14
+ /**
15
+ * Edge-shifted Gaussian brush weight: `(exp(-distSq/radiusSq) - e⁻¹) / (1 - e⁻¹)`, clamped to
16
+ * [0, 1].
17
+ *
18
+ * Still exactly 1 at the centre, but falls to exactly 0 at `distSq == radiusSq` and is clamped flat
19
+ * beyond it — no truncation step, no staircase. PixelThrow's CPU sim has had this since it shipped;
20
+ * D-8 propagates it to the GPU brush sites.
21
+ */
22
+ export declare const gaussianBrushShiftedSq: import('typegpu').TgpuFn<(distSq: d.F32, radiusSq: d.F32) => d.F32>;
23
+ /** Vector form of {@link gaussianBrushSq} — takes the cell and brush centres. */
24
+ export declare const gaussianBrushRaw: import('typegpu').TgpuFn<(cellPos: d.Vec2f, center: d.Vec2f, radiusSq: d.F32) => d.F32>;
25
+ /** Vector form of {@link gaussianBrushShiftedSq} — takes the cell and brush centres. */
26
+ export declare const gaussianBrushShifted: import('typegpu').TgpuFn<(cellPos: d.Vec2f, center: d.Vec2f, radiusSq: d.F32) => d.F32>;
27
+ /**
28
+ * The edge-shifted brush at a given TRUNCATION RADIUS, expressed in sigmas.
29
+ *
30
+ * `radiusSq` is always σ² — the Gaussian's own scale. `cutoffSigmas` is how far out the CALLER stops
31
+ * evaluating, and it sets the edge constant to `exp(-cutoffSigmas²)` so the falloff reaches exactly
32
+ * zero there and nowhere else. Get it wrong and the brush changes width, not just its edge: passing
33
+ * a 3σ consumer the 1σ constant rescales the whole profile.
34
+ *
35
+ * Memoised per cutoff, and `$name`d per cutoff so two differently-truncated brushes in one tree do
36
+ * not collide on a WGSL identifier.
37
+ */
38
+ export declare function gaussianBrushShiftedSqFn(cutoffSigmas?: number): import('typegpu').TgpuFn<(distSq: d.F32, radiusSq: d.F32) => d.F32>;
39
+ /** Vector form of {@link gaussianBrushShiftedSqFn} — takes the cell and brush centres. */
40
+ export declare function gaussianBrushShiftedFn(cutoffSigmas?: number): import('typegpu').TgpuFn<(cellPos: d.Vec2f, center: d.Vec2f, radiusSq: d.F32) => d.F32>;
41
+ /** Which falloff a consumer wants. `edgeShift` is the corrected form and the recommended default. */
42
+ export interface GaussianBrushOptions {
43
+ edgeShift: boolean;
44
+ /**
45
+ * Truncation radius in sigmas — where the caller stops evaluating the brush. Default 1 (the
46
+ * fluid/PixelThrow case: cut at the radius the Gaussian is scaled by). Ignored when
47
+ * `edgeShift` is false, since an unshifted brush has no edge constant.
48
+ */
49
+ cutoffSigmas?: number;
50
+ }
51
+ /**
52
+ * Pick the squared-distance brush fn for an option record — the form the fluid splat kernels use,
53
+ * since they have already computed `dx`/`dy` for the spread/perpendicular maths and would otherwise
54
+ * subtract twice.
55
+ *
56
+ * Structural (C5): `edgeShift` is read at composition time, so it costs nothing on the GPU.
57
+ */
58
+ export declare function gaussianBrushFnSq(opts: GaussianBrushOptions): import('typegpu').TgpuFn<(distSq: d.F32, radiusSq: d.F32) => d.F32>;
59
+ /** Pick the vector-form brush fn for an option record. See {@link gaussianBrushFnSq}. */
60
+ export declare function gaussianBrushFn(opts: GaussianBrushOptions): import('typegpu').TgpuFn<(cellPos: d.Vec2f, center: d.Vec2f, radiusSq: d.F32) => d.F32>;
61
+ //# sourceMappingURL=simShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simShared.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/simShared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAO,CAAC,EAAM,MAAM,QAAQ,CAAA;AAenC;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,qEAG1B,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,qEAGjC,CAAA;AAEF,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,yFAI3B,CAAA;AAEF,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,yFAI/B,CAAA;AAaF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,GAAE,MAA8B,uEAYpF;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,YAAY,GAAE,MAA8B,2FAYlF;AAED,qGAAqG;AACrG,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,OAAO,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,uEAE3D;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,2FAEzD"}
@@ -0,0 +1,134 @@
1
+ import { Expr, GpuShaderDefinition, KitTexture, GpuStorageBuffer } from '../contract';
2
+
3
+ /**
4
+ * A map that also produces coverage. `coverage` is a 0..1 scalar Expr: it multiplies sampled ALPHA
5
+ * on the fragment path and the coverage MASK on the uvRemap path — the two spellings of the same
6
+ * thing. Return this form (rather than a bare `Expr`) when the coordinate and the coverage come out
7
+ * of one shared computation, which is the only reason the form exists.
8
+ */
9
+ export interface UvMapResult {
10
+ uv: Expr;
11
+ coverage?: Expr;
12
+ }
13
+ /** What a `map` may return: just the coordinate, or the coordinate plus coverage. */
14
+ export type UvMapped = Expr | UvMapResult;
15
+ /**
16
+ * The parameters both hooks share. Deliberately the INTERSECTION of `GpuFragmentParams` and the
17
+ * `uvRemap` ctx, so a map factory written against it cannot accidentally reach for something only
18
+ * one hook has (`ctx.uv` differs between them — that is why the coordinate arrives as an argument
19
+ * to `map` rather than being read off the params).
20
+ *
21
+ * `props` + `uniforms` are exactly what `animatedTime(params)` needs, so an animated distortion
22
+ * calls it inside its factory and the accumulated-time Expr lands in both hooks.
23
+ */
24
+ export interface UvRemapHookParams {
25
+ props: Expr;
26
+ uniforms: Record<string, Expr>;
27
+ propValues: Record<string, unknown>;
28
+ computeOutputs?: Record<string, KitTexture | GpuStorageBuffer>;
29
+ }
30
+ /**
31
+ * The one definition that drives both hooks.
32
+ *
33
+ * `map` is a PURE coordinate function: given the incoming UV Expr and the aspect Expr, return the
34
+ * coordinate to look up. It must not sample the child (that is the scaffold's job) and must not
35
+ * depend on which hook is calling it — that independence is the whole point.
36
+ */
37
+ export interface UvMap {
38
+ map: (uv: Expr, aspect: Expr) => UvMapped;
39
+ }
40
+ /**
41
+ * A `UvMap`, or a factory that builds one from the hook params. Nearly every shader wants the
42
+ * factory form, because the map closes over `uniforms` / `propValues` / `computeOutputs`.
43
+ */
44
+ export type UvMapSource = UvMap | ((params: UvRemapHookParams) => UvMap);
45
+ /**
46
+ * How the compile-time edge mode is chosen:
47
+ * - `'prop'` (default) — `(propValues.edges as number) ?? 0`, i.e. the shader declares an `edges`
48
+ * prop via `edgesPropConfig`. What 15 of the 17 distortions do.
49
+ * - a number — a FIXED mode baked at composition. SliceWipe hard-codes transparent (1) because
50
+ * the vacated strips must clip, not stretch; there is no user-facing choice.
51
+ * - `'none'` — no edge handling at all. Only legitimate when the map provably stays inside [0,1],
52
+ * which is true for exactly one shader: Flip maps [0,1] onto [0,1]. The fragment samples straight
53
+ * and `uvRemap` passes the mask through untouched.
54
+ */
55
+ export type UvRemapEdgeSource = 'prop' | 'none' | number;
56
+ export interface UvRemapShaderOptions {
57
+ /** See {@link UvRemapEdgeSource}. Default `'prop'`. */
58
+ edges?: UvRemapEdgeSource;
59
+ /**
60
+ * Reconstruction filter for the fragment path.
61
+ * - `'catmullRom'` (default) — `edges.sampleRemappedExpr`, which picks the right 9-tap filter
62
+ * per edge mode. Correct for anything that can magnify content.
63
+ * - `'bilinear'` — a single tap through `edges.applyEdgeHandlingExpr`. For distortions that are
64
+ * deliberately blocky, already low-pass, or take many taps per pixel.
65
+ */
66
+ resample?: 'catmullRom' | 'bilinear';
67
+ /**
68
+ * Message logged (once, on `console.error`) when the shader is composed with no child. Omit for
69
+ * the silent-`ZERO` behaviour — Perspective, CornerPin, GridDistortion and Liquify are silent
70
+ * today and this scaffold preserves that rather than normalising it, because the guard text is
71
+ * user-visible and normalising it is a separate decision.
72
+ */
73
+ requireChildMessage?: string;
74
+ /**
75
+ * `uvRemap`-ONLY bail-out to the identity remap. Exists for the two compute-driven distortions
76
+ * (GridDistortion, Liquify): their displacement comes from their own compute texture, and when
77
+ * that texture is absent (GPU-free composition, or before the compute hook has run) `uvRemap`
78
+ * must return the incoming `{uv, mask}` verbatim.
79
+ *
80
+ * It is uvRemap-only because the fragment path handles the same condition differently and
81
+ * deliberately: it substitutes a zero-displacement `vec2f(0.0, 0.0)` INSIDE the map and still
82
+ * goes through the sample + edge path, so the RTT pass stays structurally identical whether or
83
+ * not the compute output exists. Do not "fix" the asymmetry — it is two correct answers to two
84
+ * different questions.
85
+ */
86
+ uvRemapIdentityWhen?: (params: UvRemapHookParams) => boolean;
87
+ }
88
+ /**
89
+ * Lerp a map toward the identity by a runtime scalar: `mix(uv, map(uv), amount)`.
90
+ *
91
+ * PolarCoordinates and RectangularCoordinates both expose this as an `intensity` prop — 0 leaves
92
+ * the content alone, 1 is the full coordinate-system change. Note this blends COORDINATES, not
93
+ * colours, so intermediate values are a genuine partial warp rather than a cross-fade.
94
+ */
95
+ export declare function lerpToIdentity(inner: UvMap, amount: (uv: Expr, aspect: Expr) => Expr): UvMap;
96
+ /**
97
+ * Pick between two maps by a HARD 0/1 selector: `mix(a(uv), b(uv), pick)`.
98
+ *
99
+ * This is the combinator that closes Mirror's fragment-vs-uvRemap divergence. Mirror's fragment
100
+ * used to sample the child TWICE — once at the original UV, once at the reflected UV — and mix the
101
+ * two COLOURS by `shouldMirror`; its `uvRemap` mixed the two COORDINATES. Both are correct, but
102
+ * only because `shouldMirror` is `step(0, signedDistance)`, an exact 0 or 1: at 0 the colour mix
103
+ * returns the first sample and the coordinate mix returns the first coordinate, and likewise at 1.
104
+ * For a hard selector the two forms are identical, and the coordinate form costs one sample instead
105
+ * of two.
106
+ *
107
+ * `pick` MUST be exactly 0 or 1. Hand it a smooth selector and the forms diverge for real: mixing
108
+ * coordinates half-way samples a point between the two lookups, which is not the average of the two
109
+ * colours.
110
+ */
111
+ export declare function selectMap(a: (uv: Expr, aspect: Expr) => Expr, b: (uv: Expr, aspect: Expr) => Expr, pick: (uv: Expr, aspect: Expr) => Expr): UvMap;
112
+ /**
113
+ * Build the `fragment` + `uvRemap` pair for an RTT distortion from a single `UvMap`.
114
+ *
115
+ * Spread the result into the definition:
116
+ *
117
+ * export const componentDefinition: GpuShaderDefinition<ComponentProps> = {
118
+ * name: "Twirl",
119
+ * requiresRTT: true,
120
+ * requiresChild: true,
121
+ * props: {…, edges: edgesPropConfig('stretch', '…')},
122
+ * ...uvRemapShader(
123
+ * ({uniforms}) => ({
124
+ * map: (uv, aspect) => call(twirlUV, 'twirlUV', [uniforms.center, uniforms.intensity, uv, aspect]),
125
+ * }),
126
+ * {requireChildMessage: 'You must pass a child component into the Twirl shader.'},
127
+ * ),
128
+ * }
129
+ *
130
+ * The shader keeps its own `'use gpu'` mapping fn — that is the durable, resolve-tested artifact and
131
+ * the scaffold never touches it. What the scaffold owns is the plumbing around it.
132
+ */
133
+ export declare function uvRemapShader(source: UvMapSource, opts?: UvRemapShaderOptions): Pick<GpuShaderDefinition, 'fragment' | 'uvRemap'>;
134
+ //# sourceMappingURL=uvRemapShader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uvRemapShader.d.ts","sourceRoot":"","sources":["../../../src/gpu/scaffolds/uvRemapShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAC,IAAI,EAAqB,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAQ3G;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,CAAA;IACR,QAAQ,CAAC,EAAE,IAAI,CAAA;CAClB;AAED,qFAAqF;AACrF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAA;AAEzC;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAAC,CAAA;CACjE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IAClB,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAA;CAC5C;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,KAAK,KAAK,CAAC,CAAA;AAMxE;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,MAAM,WAAW,oBAAoB;IACjC,uDAAuD;IACvD,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACpC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAA;CAC/D;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,GAAG,KAAK,CAQ5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACrB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EACnC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,EACnC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,GACvC,KAAK,CAEP;AAWD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,oBAAyB,GAChC,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC,CAiDnD"}