shaders 3.2.474 → 4.0.0
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.
- package/LICENSE +21 -142
- package/README.md +192 -19
- package/dist/cli.js +2 -2
- package/dist/core/{AngularBlur-g4-fDx1N.js → AngularBlur-BEBs-lRR.js} +2 -3
- package/dist/core/{Arc-B4VGPOtO.js → Arc-D-WnjM7T.js} +1 -3
- package/dist/core/{Ascii-DxiduEzP.js → Ascii-BGPIwMc3.js} +2 -5
- package/dist/core/{Aurora-FgWLcSkh.js → Aurora-DqJBPdMQ.js} +2 -11
- package/dist/core/{BarShift-BukEd3jr.js → BarShift-BcCOweUh.js} +2 -3
- package/dist/core/{BarnDoors-BC0LM0aD.js → BarnDoors-B9B-AmCV.js} +2 -3
- package/dist/core/{Beam-CxAXVlAf.js → Beam-QG_9OS8I.js} +2 -3
- package/dist/core/{Bend-BfVVIo2C.js → Bend-Cy9VAowL.js} +1 -2
- package/dist/core/{Blob-D_IbcUCc.js → Blob-C3txJeW0.js} +2 -10
- package/dist/core/{BlockDissolve-C9nsgIz9.js → BlockDissolve-C1SFUys7.js} +2 -3
- package/dist/core/{BlockNoise-BgwbD0rx.js → BlockNoise-Cm3y8hce.js} +2 -4
- package/dist/core/{BlueNoise-BdwOaq4G.js → BlueNoise-BCLObOMm.js} +2 -4
- package/dist/core/{Blur-ceuv7ZTm.js → Blur-Dg29SnXd.js} +1 -2
- package/dist/core/{Boids-DEHsYo46.js → Boids-rsGsPN5h.js} +2 -5
- package/dist/core/{BokehBlur-C8xJ0xA8.js → BokehBlur-rFSFEnb0.js} +3 -4
- package/dist/core/{BrickPattern-C-6QFzp6.js → BrickPattern-DqN6JKEN.js} +2 -3
- package/dist/core/{BrightnessContrast-CMUaNvo0.js → BrightnessContrast-J9fCSBiC.js} +1 -3
- package/dist/core/{BrushedMetal-CQsu_96R.js → BrushedMetal-74wSZKjG.js} +3 -8
- package/dist/core/{Bulge-CgO7_0fe.js → Bulge-BIk0oq8j.js} +1 -2
- package/dist/core/{CRTScreen-DNqe2klB.js → CRTScreen-hEH-JNRd.js} +2 -3
- package/dist/core/{CarbonFiber-D0vgwlrV.js → CarbonFiber-CZdUDvRU.js} +4 -8
- package/dist/core/{Chalkboard-CDUJz_Ae.js → Chalkboard-CClJHqvs.js} +2 -3
- package/dist/core/{ChannelBlur-Z8ZvN6W3.js → ChannelBlur-BEuEwQOC.js} +1 -2
- package/dist/core/{CheckerWipe-DXm9kDaS.js → CheckerWipe-KuAWj2qg.js} +2 -3
- package/dist/core/{Checkerboard-DZAABNKo.js → Checkerboard-Rq9ze1W3.js} +2 -3
- package/dist/core/{Chevron-Dn1iHSiS.js → Chevron-C1j6X2Ye.js} +2 -3
- package/dist/core/{ChromaFlow-lnaJ4o1Y.js → ChromaFlow-BgsCUYIl.js} +2 -5
- package/dist/core/{ChromaticAberration-CGOQe4Pp.js → ChromaticAberration-2_4tjQ0u.js} +2 -4
- package/dist/core/{Chrome-DPAmErfN.js → Chrome-Be3z6C5i.js} +5 -11
- package/dist/core/{Circle-DVPhvXdr.js → Circle-e_qQI3tU.js} +1 -3
- package/dist/core/{ColorWheel-DXkVOQl2.js → ColorWheel-s5ep1H7d.js} +2 -3
- package/dist/core/{CompressionArtifacts-CEw9gfTu.js → CompressionArtifacts-OE9U9Qrq.js} +1 -3
- package/dist/core/{ConcentricSpin-GtNEq1T1.js → ConcentricSpin-CLE_5yCJ.js} +1 -2
- package/dist/core/{ConicGradient-DYPNJAOg.js → ConicGradient-Cji2SgVO.js} +2 -4
- package/dist/core/{ContourLines-DEmEepvT.js → ContourLines-wpPK00cF.js} +2 -3
- package/dist/core/{CornerPin-CJJeGyVf.js → CornerPin-gYU0Uf2m.js} +2 -3
- package/dist/core/{Crescent-C7yy9-xf.js → Crescent-viNc7Unp.js} +1 -2
- package/dist/core/{Cross-DyYrdTVw.js → Cross-DyQSsw_k.js} +1 -2
- package/dist/core/{Crystal-DQJd5oAd.js → Crystal-Vjj8azWg.js} +4 -9
- package/dist/core/{CurlNoise-Bjc6hhjR.js → CurlNoise-C7PHjDht.js} +2 -4
- package/dist/core/{CursorRipples-C1PNyYcB.js → CursorRipples-BzPPNkA3.js} +3 -39
- package/dist/core/{CursorTrail-C6v97bId.js → CursorTrail-cBj0AuQA.js} +2 -4
- package/dist/core/{DataMosh-AX4kIi4R.js → DataMosh-5Yr9TyVx.js} +1 -3
- package/dist/core/{DiamondGradient-Bj6mUxOy.js → DiamondGradient-DZM7HwF5.js} +2 -4
- package/dist/core/{DiamondWipe-BNSkpUn9.js → DiamondWipe-CqeT7lCt.js} +2 -3
- package/dist/core/{DiffuseBlur-C7l-5Dw3.js → DiffuseBlur-Y5hSDTZF.js} +2 -3
- package/dist/core/{DisplacementMap-DGpLSlxs.js → DisplacementMap-FobRx5Ie.js} +2 -3
- package/dist/core/{Dither-C9KDpqgP.js → Dither-50rqHpt9.js} +2 -3
- package/dist/core/{DotGrid-CkAtf-j_.js → DotGrid-B6AGLUbR.js} +3 -4
- package/dist/core/{DropShadow-BxI_a7dC.js → DropShadow-CEPpgatB.js} +2 -3
- package/dist/core/{Duotone-CrJ0P0SL.js → Duotone-D76Kp7Pb.js} +2 -3
- package/dist/core/{Ellipse-C2Tie_19.js → Ellipse-BGod1LeG.js} +1 -2
- package/dist/core/{Emboss-BjOlYydL.js → Emboss-DMNFb_ww.js} +3 -6
- package/dist/core/{Engraving-RpxXPqQq.js → Engraving-Dj7bCATQ.js} +2 -3
- package/dist/core/{ErosionNoise-D0qefxhq.js → ErosionNoise-4O68wJQZ.js} +2 -4
- package/dist/core/{Exposure-B7W7AVbY.js → Exposure-h-vapOpj.js} +1 -3
- package/dist/core/{FallingLines-Cxhmtqf4.js → FallingLines-Dzop_89k.js} +2 -3
- package/dist/core/{FilmGrain-CghUJIeK.js → FilmGrain-Bs8PCfdf.js} +1 -3
- package/dist/core/{FilmStock-DmOaROtC.js → FilmStock-DBjVo6rL.js} +1 -4
- package/dist/core/{Flip-BuOdbWjK.js → Flip-CfrS4KfZ.js} +2 -3
- package/dist/core/{FloatingParticles-BfFlt06Y.js → FloatingParticles-D1R2tD2J.js} +2 -5
- package/dist/core/{FlowField-A2njOtGx.js → FlowField-Slirm5AI.js} +2 -3
- package/dist/core/{Flower-CwdJOVR1.js → Flower-Ddlut7QZ.js} +1 -2
- package/dist/core/{FlowingGradient-D3BG2FW9.js → FlowingGradient-CwIgTtbj.js} +2 -7
- package/dist/core/{FlutedGlass-BWlTrLF-.js → FlutedGlass-CMMy2GJ5.js} +2 -4
- package/dist/core/{Fog-CpmIyRtJ.js → Fog-DjjUkcTZ.js} +2 -4
- package/dist/core/{Form3D-D-eUD4_k.js → Form3D-DQDOHWpC.js} +2 -4
- package/dist/core/{FractalNoise-DsESU8cP.js → FractalNoise-BjI3IOIj.js} +2 -4
- package/dist/core/{Frost-B1s1W_Qm.js → Frost-CK12HnL1.js} +4 -9
- package/dist/core/{GaborNoise-D3U1iz9E.js → GaborNoise-DKEIvvRJ.js} +3 -5
- package/dist/core/{Glass-O5o5OxlN.js → Glass-CzcOVD5Y.js} +3 -8
- package/dist/core/{GlassTiles-BxdT6Ee8.js → GlassTiles-gjhc563g.js} +1 -2
- package/dist/core/{Glitch-DQeLaNdU.js → Glitch-C_XAWltC.js} +1 -2
- package/dist/core/{Glow-DksG7wdu.js → Glow-CrYCanBI.js} +1 -3
- package/dist/core/{Godrays-D2Pzd9K9.js → Godrays-BBTMOVLP.js} +2 -3
- package/dist/core/{Goo-BL_ifIPI.js → Goo-Brhjk8aS.js} +3 -8
- package/dist/core/{GradientMap-B-5yUYjX.js → GradientMap-C5325QWw.js} +2 -4
- package/dist/core/{Grayscale-g7jQsxgi.js → Grayscale-dPjs-wvf.js} +1 -2
- package/dist/core/{Grid-DAglpJFP.js → Grid-UjEd3O76.js} +3 -4
- package/dist/core/{GridDistortion-CNlIESbs.js → GridDistortion-vVgYya1U.js} +1 -5
- package/dist/core/{Group-CeOfFv2K.js → Group-KVdmAi5g.js} +1 -1
- package/dist/core/{HTMLInCanvas-BgwCnbYn.js → HTMLInCanvas-CKr2u76R.js} +1 -2
- package/dist/core/{Halftone-DCiP4EDq.js → Halftone-pRV3TRUW.js} +4 -5
- package/dist/core/{Heart-CQhtzwFu.js → Heart-CX7MvvHZ.js} +1 -2
- package/dist/core/{Heatmap-e-lF_uZu.js → Heatmap-Dn6qyd2e.js} +3 -8
- package/dist/core/{HexGrid-BY_BPH8J.js → HexGrid-BIfYhkfV.js} +3 -4
- package/dist/core/{Hologram-BA_LJPm0.js → Hologram-ou27baPQ.js} +4 -8
- package/dist/core/{Holographic-CX8OG-Wa.js → Holographic-CiHdBSMg.js} +3 -7
- package/dist/core/{HueShift-BnwOshrg.js → HueShift-CG7pcXfg.js} +1 -3
- package/dist/core/{ImageTexture-Cd6vH2Z0.js → ImageTexture-BiZuU58C.js} +1 -2
- package/dist/core/{InkFlow-B7F9i3Kd.js → InkFlow-D9_L7opB.js} +9 -12
- package/dist/core/{Invert-6Q5kX8vd.js → Invert-CHEaiQZO.js} +1 -2
- package/dist/core/{IrisWipe-Cl5yYdEi.js → IrisWipe-x22vOQHm.js} +2 -3
- package/dist/core/Irradiance-7yq2K87_.js +389 -0
- package/dist/core/{IsometricCubes-BhK9MhCy.js → IsometricCubes-CkPGWr7M.js} +2 -3
- package/dist/core/{Kaleidoscope-D4X5N_qk.js → Kaleidoscope-CEC5m1Ww.js} +1 -2
- package/dist/core/{KeyFrames-Dv1vFfMa.js → KeyFrames-BMGEZsAZ.js} +2 -3
- package/dist/core/{LensDistortion-BqVp5WBS.js → LensDistortion-DKo8PiO5.js} +2 -3
- package/dist/core/{LensFlare-z0k68uJ1.js → LensFlare-DMS-NUtK.js} +2 -3
- package/dist/core/LightEdge-DxmnCRls.js +315 -0
- package/dist/core/{LightLeak-BgFq4bLG.js → LightLeak-yoEsZtYg.js} +2 -4
- package/dist/core/{Line--Ur3CJp1.js → Line-D17XDUjO.js} +2 -3
- package/dist/core/{LinearBlur-BkHF6lVm.js → LinearBlur-CiyjPTUH.js} +2 -3
- package/dist/core/{LinearGradient-DIdq_fiw.js → LinearGradient-DfjKG70q.js} +2 -4
- package/dist/core/{LinearWipe-DuCB9oV_.js → LinearWipe-D9CtBg6S.js} +2 -3
- package/dist/core/{LiquidMetal-B2Cz80Ka.js → LiquidMetal-8EG6DwV6.js} +3 -8
- package/dist/core/{Liquify-CvPn1ze-.js → Liquify-BySXF1OB.js} +1 -4
- package/dist/core/{MagneticFilings-BOgYrPhz.js → MagneticFilings-DNESH3Zs.js} +2 -5
- package/dist/core/{Marble-c2QGDXxB.js → Marble-C9WvdxrP.js} +2 -7
- package/dist/core/{MeshGradient-DMsza5tg.js → MeshGradient-d9--RXOU.js} +2 -10
- package/dist/core/{Mirror-Ck8qk1Km.js → Mirror-1V2FF2kD.js} +1 -2
- package/dist/core/{MultiPointGradient-DwO6snxn.js → MultiPointGradient-cRA9ytgL.js} +2 -3
- package/dist/core/{Nebula-3a9pYBDC.js → Nebula-BRV-q74y.js} +7 -90
- package/dist/core/{Neon-Cf95sJ7W.js → Neon-4PemK9Rj.js} +3 -6
- package/dist/core/{NoiseDissolve-DgvzEFOD.js → NoiseDissolve-B7LgD46G.js} +2 -3
- package/dist/core/{ObjectTracker-IopW8Jvf.js → ObjectTracker-CdzDxhpy.js} +3 -4
- package/dist/core/{Obsidian-BL_0ordp.js → Obsidian-2J1eX9kT.js} +9 -15
- package/dist/core/{PagePeel-BeAr_n0U.js → PagePeel-D-ziraOm.js} +1 -2
- package/dist/core/{Paper-BDEsyIPI.js → Paper-BxzCLyzB.js} +1 -2
- package/dist/core/{Parallelogram-Duj-0MLr.js → Parallelogram-D4OflTwn.js} +1 -2
- package/dist/core/{ParticleField-gk7JuNx4.js → ParticleField-tWNicEDO.js} +1 -4
- package/dist/core/{ParticleFlow-BzWOl7Hm.js → ParticleFlow-BiEYFyWR.js} +2 -6
- package/dist/core/{Particles-DYAtR6jZ.js → Particles-B7W4yWgo.js} +3 -7
- package/dist/core/{PerlinNoise-BHQ318g4.js → PerlinNoise-C-irUxp9.js} +3 -5
- package/dist/core/{Perspective-xBfd9BSE.js → Perspective-DlnAW-pe.js} +2 -3
- package/dist/core/{PixelSort-Bx9sUnGm.js → PixelSort-BBOTYuOE.js} +1 -4
- package/dist/core/{PixelThrow-0nJiGsmZ.js → PixelThrow-DCJb9Lxd.js} +2 -4
- package/dist/core/{Pixelate-CvCzoA0h.js → Pixelate-CZdwB--K.js} +1 -2
- package/dist/core/{Plasma-Be1yxNcP.js → Plasma-CTOQJeqy.js} +2 -4
- package/dist/core/{Plastic-Bom1oFFR.js → Plastic-DvyH9x-4.js} +3 -8
- package/dist/core/{PolarCoordinates-BGwTZ6NO.js → PolarCoordinates-XhdDAOD0.js} +1 -2
- package/dist/core/{Polygon-Byw5C7Qy.js → Polygon-CLohB-Ly.js} +2 -4
- package/dist/core/{Posterize-BHOstvyj.js → Posterize-BAQfnvmK.js} +1 -2
- package/dist/core/{Prism-pNsLhW8w.js → Prism-DJVCVAXX.js} +4 -8
- package/dist/core/{ProgressiveBlur-CR1IbvKQ.js → ProgressiveBlur-Dirva1on.js} +2 -3
- package/dist/core/{RadialGradient-BFOrMAK1.js → RadialGradient-DuSKR8Ds.js} +2 -4
- package/dist/core/{RadialWipe-BYnlbrNm.js → RadialWipe-n8tON7x2.js} +2 -3
- package/dist/core/{RandomBars-B7erRRHx.js → RandomBars-BYouiIgQ.js} +2 -3
- package/dist/core/{ReactionDiffusion-BnY40jHs.js → ReactionDiffusion-CHDd3y2q.js} +2 -5
- package/dist/core/{RectangularCoordinates-D9-3PQAz.js → RectangularCoordinates-CYFfCawa.js} +1 -2
- package/dist/core/{ReflectivePlane-BI-LIR2c.js → ReflectivePlane-DFTl5U9q.js} +2 -3
- package/dist/core/Repeater-CnbzXuAe.js +473 -0
- package/dist/core/{Ring-CvvtJYAf.js → Ring-CGkHVSVd.js} +1 -2
- package/dist/core/{RippleWipe-kAzZWsjR.js → RippleWipe-DLjPzY6u.js} +2 -3
- package/dist/core/{Ripples-BFLep1r1.js → Ripples-C2tITU62.js} +2 -3
- package/dist/core/{RoundedRect-DirNijIY.js → RoundedRect-sfNTUaCY.js} +1 -2
- package/dist/core/{Saturation-CfkRhJpe.js → Saturation-BRkifYWj.js} +1 -3
- package/dist/core/{Scratches-Dchfw1_5.js → Scratches-D87O5C2K.js} +2 -4
- package/dist/core/{Sharpness-DZzAnlsl.js → Sharpness-BGv613Zw.js} +1 -3
- package/dist/core/Shatter-DuyCFU1f.js +328 -0
- package/dist/core/{SimplexNoise-CmV42gYT.js → SimplexNoise-CQJvmqd-.js} +2 -4
- package/dist/core/{SineWave-TqnpIKO4.js → SineWave-BfOgSGMP.js} +2 -3
- package/dist/core/{SliceWipe-Dz8vj6bi.js → SliceWipe-CD_D99sl.js} +1 -2
- package/dist/core/{Smoke-B1TnZnG6.js → Smoke-BDQYKRP1.js} +2 -4
- package/dist/core/{SmokeFill-C8gSZ22X.js → SmokeFill-CPnzQtQv.js} +3 -8
- package/dist/core/{SmokeFlow-dd5uLztm.js → SmokeFlow-BkPMjZq8.js} +2 -4
- package/dist/core/{Solarize-CIQa9pKw.js → Solarize-DSiS32QS.js} +1 -3
- package/dist/core/{SolidColor-DuoQVKGk.js → SolidColor-DEKpgy1c.js} +2 -3
- package/dist/core/Sparkle-BZur6gPW.js +178 -0
- package/dist/core/{Spherize-FWwWEUyE.js → Spherize-D9Yg4n6O.js} +2 -3
- package/dist/core/{Spiral-DI1eG0E3.js → Spiral-BCacfEpT.js} +2 -3
- package/dist/core/{Star-DT-hnlIJ.js → Star-Dnw1ihk7.js} +1 -2
- package/dist/core/{Stone-oW35zD22.js → Stone-Cje-_vAg.js} +1 -3
- package/dist/core/{Strands-asB3fUr9.js → Strands-CFRxS1G_.js} +2 -4
- package/dist/core/{Stretch-Cm_B4WGY.js → Stretch-DXVhfIqO.js} +1 -2
- package/dist/core/{Stripes-BnJiniJY.js → Stripes-CCADWwyq.js} +2 -3
- package/dist/core/{StudioBackground-DwSO5KNV.js → StudioBackground-BlzYNAsu.js} +2 -6
- package/dist/core/{SunBurst-BL-BryZO.js → SunBurst-CmWbI18r.js} +2 -3
- package/dist/core/{Surface3D-DSvh7Zof.js → Surface3D-Dmh98-0V.js} +2 -6
- package/dist/core/{Swirl-BVPy039a.js → Swirl-CzI1qSVc.js} +2 -4
- package/dist/core/{Teardrop-CR1UqYaF.js → Teardrop-D24uulL0.js} +1 -2
- package/dist/core/{Text-fP5temat.js → Text-CrZKvBw6.js} +2 -6
- package/dist/core/{ThinFilm-CTQeVw7E.js → ThinFilm-D7R2dt1O.js} +11 -14
- package/dist/core/{TiltShift-BvYpYELk.js → TiltShift-AMMDZBvf.js} +2 -3
- package/dist/core/{TimeTrail-DqdYuHn7.js → TimeTrail-BCYDP2ep.js} +4 -8
- package/dist/core/{Tint-BXJMHYvg.js → Tint-DHb5wBN5.js} +2 -3
- package/dist/core/{Trapezoid--AgyKOWQ.js → Trapezoid-CL5Fxvq7.js} +1 -2
- package/dist/core/{TriangularGrid-CmDApxz9.js → TriangularGrid-Bp-SJS-H.js} +2 -3
- package/dist/core/{Tritone-DCd_IRp7.js → Tritone-C0nx7OdC.js} +2 -3
- package/dist/core/{Truchet-g1_jcoZ4.js → Truchet-DCetyDaq.js} +2 -3
- package/dist/core/{Twirl-JY-PXDS2.js → Twirl-D_mv9KEi.js} +1 -2
- package/dist/core/{VHS-ZWR6D4Da.js → VHS-Cp9aDjti.js} +2 -3
- package/dist/core/{VenetianBlinds-B7laTyPO.js → VenetianBlinds-DUyvaT5w.js} +2 -3
- package/dist/core/{Vesica-BTNW2p5u.js → Vesica-BpzrTPTA.js} +1 -2
- package/dist/core/{Vibrance-DmhtRT2D.js → Vibrance-DW3J-pvW.js} +1 -3
- package/dist/core/{VideoTexture-DK3EaAHY.js → VideoTexture-zoKsSrex.js} +1 -2
- package/dist/core/{Vignette-hyFfUS20.js → Vignette-KKbP3qdZ.js} +2 -5
- package/dist/core/{Voronoi-DhexPwNM.js → Voronoi-Bp2-U6lm.js} +2 -5
- package/dist/core/Voxels-B3e3LHH5.js +469 -0
- package/dist/core/{Water-BsBnXYYB.js → Water-CoYwvqKx.js} +7 -12
- package/dist/core/{Watercolor-C1HipGGO.js → Watercolor-DUNjSIN1.js} +2 -4
- package/dist/core/{WaveDistortion-VXyHFcJ3.js → WaveDistortion-Dp8ws0z1.js} +1 -2
- package/dist/core/{Waveform-CSP_4nZF.js → Waveform-DDBLB6zu.js} +2 -9
- package/dist/core/{WaveletNoise-CQqAufyv.js → WaveletNoise-CpBkzfRT.js} +2 -4
- package/dist/core/{Weave-DwX8T4_Q.js → Weave-cWkvSEAy.js} +2 -3
- package/dist/core/{WebcamTexture-B4SLwIP1.js → WebcamTexture-D484SXSE.js} +1 -2
- package/dist/core/{Wool-qg-z_TFC.js → Wool-C9L7O9fD.js} +1 -3
- package/dist/core/{WorleyNoise-CjVw20Fl.js → WorleyNoise-B5j5lDQZ.js} +2 -3
- package/dist/core/{ZoomBlur-Lm_pVpMf.js → ZoomBlur-bPC1dBu2.js} +2 -3
- package/dist/core/customShaders.d.ts +71 -0
- package/dist/core/customShaders.d.ts.map +1 -0
- package/dist/core/docs-manifest.json +29177 -0
- package/dist/core/gpu/composer.d.ts +2 -0
- package/dist/core/gpu/composer.d.ts.map +1 -1
- package/dist/core/gpu/contract.d.ts +17 -2
- package/dist/core/gpu/contract.d.ts.map +1 -1
- package/dist/core/gpu/frame.d.ts +5 -2
- package/dist/core/gpu/frame.d.ts.map +1 -1
- package/dist/core/gpu/index.d.ts.map +1 -1
- package/dist/core/gpu/kit/aa.d.ts +1 -1
- package/dist/core/gpu/kit/agents.d.ts +1 -1
- package/dist/core/gpu/kit/blur.d.ts +4 -4
- package/dist/core/gpu/kit/cells.d.ts +3 -3
- package/dist/core/gpu/kit/cellular.d.ts +1 -1
- package/dist/core/gpu/kit/colorOps.d.ts +6 -6
- package/dist/core/gpu/kit/effects/glass.d.ts +2 -2
- package/dist/core/gpu/kit/effects/thinFilm.d.ts +4 -4
- package/dist/core/gpu/kit/fields.d.ts.map +1 -1
- package/dist/core/gpu/kit/host/pointer.d.ts +1 -1
- package/dist/core/gpu/kit/lensParts.d.ts +3 -3
- package/dist/core/gpu/kit/lightfields.d.ts +3 -3
- package/dist/core/gpu/kit/materialParts.d.ts +1 -1
- package/dist/core/gpu/kit/materialParts.d.ts.map +1 -1
- package/dist/core/gpu/kit/media.d.ts +1 -1
- package/dist/core/gpu/kit/media.d.ts.map +1 -1
- package/dist/core/gpu/kit/motionBlur.d.ts +2 -2
- package/dist/core/gpu/kit/noiseColor.d.ts +5 -5
- package/dist/core/gpu/kit/noiseColor.d.ts.map +1 -1
- package/dist/core/gpu/kit/noisePaints.d.ts +1 -1
- package/dist/core/gpu/kit/sdf.d.ts +2 -2
- package/dist/core/gpu/kit/stylizePaints.d.ts +1 -1
- package/dist/core/gpu/kit/stylizePaints.d.ts.map +1 -1
- package/dist/core/gpu/kit/tone.d.ts +1 -1
- package/dist/core/gpu/kit/waves.d.ts +6 -0
- package/dist/core/gpu/kit/waves.d.ts.map +1 -1
- package/dist/core/gpu/passManager.d.ts +1 -1
- package/dist/core/gpu/passManager.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/fluids.d.ts +7 -7
- package/dist/core/gpu/scaffolds/fluids.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/gridKernels.d.ts +8 -8
- package/dist/core/gpu/scaffolds/gridKernels.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts +5 -5
- package/dist/core/gpu/scaffolds/pointwiseFilter.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/radiance.d.ts +5 -5
- package/dist/core/gpu/scaffolds/radiance.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/rttFilter.d.ts +2 -2
- package/dist/core/gpu/scaffolds/rttFilter.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/sdfShape.d.ts +2 -2
- package/dist/core/gpu/scaffolds/sdfShape.d.ts.map +1 -1
- package/dist/core/gpu/scaffolds/uvRemapShader.d.ts +4 -4
- package/dist/core/gpu/support.d.ts +12 -0
- package/dist/core/gpu/support.d.ts.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +238 -255
- package/dist/core/llms.txt +1558 -0
- package/dist/core/{noiseColor-DuWjYRmO.js → noiseColor-D_bPhJ4m.js} +2 -2
- package/dist/core/presetRenderer.d.ts +4 -0
- package/dist/core/presetRenderer.d.ts.map +1 -1
- package/dist/core/registry.js +204 -248
- package/dist/core/shaderRegistry-BaozBFyh.js +445 -0
- package/dist/core/shaderRegistry.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.d.ts +1 -1
- package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/AngularBlur/index.js +4 -10
- package/dist/core/shaders/Arc/index.js +4 -6
- package/dist/core/shaders/Ascii/index.d.ts +1 -1
- package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
- package/dist/core/shaders/Ascii/index.js +4 -11
- package/dist/core/shaders/Aurora/index.js +4 -21
- package/dist/core/shaders/BarShift/index.js +4 -8
- package/dist/core/shaders/BarnDoors/index.js +4 -7
- package/dist/core/shaders/Beam/index.js +4 -11
- package/dist/core/shaders/Bend/index.js +4 -8
- package/dist/core/shaders/Blob/index.js +4 -18
- package/dist/core/shaders/BlockDissolve/index.js +4 -7
- package/dist/core/shaders/BlockNoise/index.d.ts +1 -1
- package/dist/core/shaders/BlockNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/BlockNoise/index.js +5 -14
- package/dist/core/shaders/BlueNoise/index.d.ts +1 -1
- package/dist/core/shaders/BlueNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/BlueNoise/index.js +5 -14
- package/dist/core/shaders/Blur/index.d.ts +1 -1
- package/dist/core/shaders/Blur/index.d.ts.map +1 -1
- package/dist/core/shaders/Blur/index.js +4 -10
- package/dist/core/shaders/Boids/index.js +4 -9
- package/dist/core/shaders/BokehBlur/index.d.ts +1 -1
- package/dist/core/shaders/BokehBlur/index.js +4 -10
- package/dist/core/shaders/BrickPattern/index.d.ts +1 -1
- package/dist/core/shaders/BrickPattern/index.d.ts.map +1 -1
- package/dist/core/shaders/BrickPattern/index.js +4 -13
- package/dist/core/shaders/BrightnessContrast/index.js +4 -7
- package/dist/core/shaders/BrushedMetal/index.js +4 -11
- package/dist/core/shaders/Bulge/index.js +4 -8
- package/dist/core/shaders/CRTScreen/index.d.ts +2 -2
- package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
- package/dist/core/shaders/CRTScreen/index.js +4 -10
- package/dist/core/shaders/CarbonFiber/index.d.ts +1 -1
- package/dist/core/shaders/CarbonFiber/index.js +4 -11
- package/dist/core/shaders/Chalkboard/index.d.ts +1 -1
- package/dist/core/shaders/Chalkboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Chalkboard/index.js +4 -9
- package/dist/core/shaders/ChannelBlur/index.d.ts +1 -1
- package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ChannelBlur/index.js +4 -10
- package/dist/core/shaders/CheckerWipe/index.js +4 -7
- package/dist/core/shaders/Checkerboard/index.d.ts +1 -1
- package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
- package/dist/core/shaders/Checkerboard/index.js +4 -13
- package/dist/core/shaders/Chevron/index.d.ts +1 -1
- package/dist/core/shaders/Chevron/index.d.ts.map +1 -1
- package/dist/core/shaders/Chevron/index.js +4 -13
- package/dist/core/shaders/ChromaFlow/index.js +4 -8
- package/dist/core/shaders/ChromaticAberration/index.js +4 -11
- package/dist/core/shaders/Chrome/index.d.ts +1 -1
- package/dist/core/shaders/Chrome/index.js +4 -10
- package/dist/core/shaders/Circle/index.js +4 -6
- package/dist/core/shaders/ColorWheel/index.js +4 -11
- package/dist/core/shaders/CompressionArtifacts/index.d.ts +2 -2
- package/dist/core/shaders/CompressionArtifacts/index.d.ts.map +1 -1
- package/dist/core/shaders/CompressionArtifacts/index.js +4 -7
- package/dist/core/shaders/ConcentricSpin/index.js +4 -8
- package/dist/core/shaders/ConicGradient/index.js +4 -11
- package/dist/core/shaders/ContourLines/index.js +4 -6
- package/dist/core/shaders/CornerPin/index.js +4 -8
- package/dist/core/shaders/Crescent/index.js +4 -5
- package/dist/core/shaders/Cross/index.js +4 -5
- package/dist/core/shaders/Crystal/index.js +4 -11
- package/dist/core/shaders/CurlNoise/index.d.ts +1 -1
- package/dist/core/shaders/CurlNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/CurlNoise/index.js +5 -14
- package/dist/core/shaders/CursorRipples/index.js +4 -7
- package/dist/core/shaders/CursorTrail/index.js +4 -7
- package/dist/core/shaders/DataMosh/index.js +4 -7
- package/dist/core/shaders/DiamondGradient/index.js +4 -11
- package/dist/core/shaders/DiamondWipe/index.js +4 -7
- package/dist/core/shaders/DiffuseBlur/index.d.ts +1 -1
- package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/DiffuseBlur/index.js +4 -10
- package/dist/core/shaders/DisplacementMap/index.js +4 -8
- package/dist/core/shaders/Dither/index.d.ts +1 -1
- package/dist/core/shaders/Dither/index.d.ts.map +1 -1
- package/dist/core/shaders/Dither/index.js +4 -13
- package/dist/core/shaders/DotGrid/index.d.ts +2 -2
- package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/DotGrid/index.js +4 -13
- package/dist/core/shaders/DropShadow/index.d.ts +1 -1
- package/dist/core/shaders/DropShadow/index.d.ts.map +1 -1
- package/dist/core/shaders/DropShadow/index.js +4 -10
- package/dist/core/shaders/Duotone/index.js +4 -6
- package/dist/core/shaders/Ellipse/index.js +4 -5
- package/dist/core/shaders/Emboss/index.js +4 -9
- package/dist/core/shaders/Engraving/index.js +4 -9
- package/dist/core/shaders/ErosionNoise/index.d.ts +1 -1
- package/dist/core/shaders/ErosionNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/ErosionNoise/index.js +5 -14
- package/dist/core/shaders/Exposure/index.js +4 -7
- package/dist/core/shaders/FallingLines/index.d.ts +1 -1
- package/dist/core/shaders/FallingLines/index.d.ts.map +1 -1
- package/dist/core/shaders/FallingLines/index.js +4 -13
- package/dist/core/shaders/FilmGrain/index.js +4 -7
- package/dist/core/shaders/FilmStock/index.js +4 -13
- package/dist/core/shaders/Flip/index.js +4 -8
- package/dist/core/shaders/FloatingParticles/index.d.ts +2 -2
- package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
- package/dist/core/shaders/FloatingParticles/index.js +4 -9
- package/dist/core/shaders/FlowField/index.js +4 -8
- package/dist/core/shaders/Flower/index.js +4 -5
- package/dist/core/shaders/FlowingGradient/index.js +4 -15
- package/dist/core/shaders/FlutedGlass/index.js +4 -11
- package/dist/core/shaders/Fog/index.js +4 -7
- package/dist/core/shaders/Form3D/index.js +4 -7
- package/dist/core/shaders/FractalNoise/index.d.ts +1 -1
- package/dist/core/shaders/FractalNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/FractalNoise/index.js +4 -13
- package/dist/core/shaders/Frost/index.d.ts +1 -1
- package/dist/core/shaders/Frost/index.js +4 -11
- package/dist/core/shaders/GaborNoise/index.d.ts +2 -2
- package/dist/core/shaders/GaborNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/GaborNoise/index.js +5 -14
- package/dist/core/shaders/Glass/index.js +4 -11
- package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
- package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
- package/dist/core/shaders/GlassTiles/index.js +4 -8
- package/dist/core/shaders/Glitch/index.d.ts +1 -1
- package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
- package/dist/core/shaders/Glitch/index.js +4 -10
- package/dist/core/shaders/Glow/index.d.ts +1 -1
- package/dist/core/shaders/Glow/index.d.ts.map +1 -1
- package/dist/core/shaders/Glow/index.js +4 -11
- package/dist/core/shaders/Godrays/index.js +4 -12
- package/dist/core/shaders/Goo/index.js +4 -11
- package/dist/core/shaders/GradientMap/index.js +4 -7
- package/dist/core/shaders/Grayscale/index.js +4 -6
- package/dist/core/shaders/Grid/index.d.ts +2 -2
- package/dist/core/shaders/Grid/index.d.ts.map +1 -1
- package/dist/core/shaders/Grid/index.js +4 -13
- package/dist/core/shaders/GridDistortion/index.js +4 -11
- package/dist/core/shaders/Group/index.js +4 -6
- package/dist/core/shaders/HTMLInCanvas/index.js +4 -7
- package/dist/core/shaders/Halftone/index.d.ts +3 -3
- package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
- package/dist/core/shaders/Halftone/index.js +4 -13
- package/dist/core/shaders/Heart/index.js +4 -5
- package/dist/core/shaders/Heatmap/index.js +4 -11
- package/dist/core/shaders/HexGrid/index.d.ts +2 -2
- package/dist/core/shaders/HexGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/HexGrid/index.js +4 -13
- package/dist/core/shaders/Hologram/index.d.ts +1 -1
- package/dist/core/shaders/Hologram/index.js +4 -10
- package/dist/core/shaders/Holographic/index.js +4 -10
- package/dist/core/shaders/HueShift/index.js +4 -7
- package/dist/core/shaders/ImageTexture/index.js +4 -6
- package/dist/core/shaders/InkFlow/index.d.ts +7 -7
- package/dist/core/shaders/InkFlow/index.js +4 -8
- package/dist/core/shaders/Invert/index.js +4 -6
- package/dist/core/shaders/IrisWipe/index.js +4 -7
- package/dist/core/shaders/Irradiance/index.d.ts +1 -1
- package/dist/core/shaders/Irradiance/index.d.ts.map +1 -1
- package/dist/core/shaders/Irradiance/index.js +4 -13
- package/dist/core/shaders/IsometricCubes/index.d.ts +1 -1
- package/dist/core/shaders/IsometricCubes/index.d.ts.map +1 -1
- package/dist/core/shaders/IsometricCubes/index.js +4 -13
- package/dist/core/shaders/Kaleidoscope/index.js +4 -8
- package/dist/core/shaders/KeyFrames/index.js +4 -10
- package/dist/core/shaders/LensDistortion/index.js +4 -6
- package/dist/core/shaders/LensFlare/index.d.ts +1 -1
- package/dist/core/shaders/LensFlare/index.d.ts.map +1 -1
- package/dist/core/shaders/LensFlare/index.js +4 -12
- package/dist/core/shaders/LightEdge/index.js +4 -10
- package/dist/core/shaders/LightLeak/index.js +4 -12
- package/dist/core/shaders/Line/index.js +4 -10
- package/dist/core/shaders/LinearBlur/index.d.ts +1 -1
- package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/LinearBlur/index.js +4 -10
- package/dist/core/shaders/LinearGradient/index.js +4 -11
- package/dist/core/shaders/LinearWipe/index.js +4 -7
- package/dist/core/shaders/LiquidMetal/index.js +4 -11
- package/dist/core/shaders/Liquify/index.js +4 -10
- package/dist/core/shaders/MagneticFilings/index.js +4 -9
- package/dist/core/shaders/Marble/index.d.ts +1 -1
- package/dist/core/shaders/Marble/index.d.ts.map +1 -1
- package/dist/core/shaders/Marble/index.js +4 -15
- package/dist/core/shaders/MeshGradient/index.js +4 -17
- package/dist/core/shaders/Mirror/index.js +4 -8
- package/dist/core/shaders/MultiPointGradient/index.js +4 -11
- package/dist/core/shaders/Nebula/index.d.ts +3 -3
- package/dist/core/shaders/Nebula/index.js +4 -13
- package/dist/core/shaders/Neon/index.js +4 -9
- package/dist/core/shaders/NoiseDissolve/index.js +4 -7
- package/dist/core/shaders/ObjectTracker/index.d.ts +1 -1
- package/dist/core/shaders/ObjectTracker/index.js +4 -10
- package/dist/core/shaders/Obsidian/index.d.ts +5 -5
- package/dist/core/shaders/Obsidian/index.js +4 -15
- package/dist/core/shaders/PagePeel/index.js +4 -10
- package/dist/core/shaders/Paper/index.d.ts +1 -1
- package/dist/core/shaders/Paper/index.d.ts.map +1 -1
- package/dist/core/shaders/Paper/index.js +4 -8
- package/dist/core/shaders/Parallelogram/index.js +4 -5
- package/dist/core/shaders/ParticleField/index.js +4 -9
- package/dist/core/shaders/ParticleFlow/index.js +4 -10
- package/dist/core/shaders/Particles/index.js +4 -9
- package/dist/core/shaders/PerlinNoise/index.d.ts +2 -2
- package/dist/core/shaders/PerlinNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/PerlinNoise/index.js +5 -14
- package/dist/core/shaders/Perspective/index.js +4 -8
- package/dist/core/shaders/PixelSort/index.js +4 -8
- package/dist/core/shaders/PixelThrow/index.js +4 -8
- package/dist/core/shaders/Pixelate/index.d.ts +1 -1
- package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
- package/dist/core/shaders/Pixelate/index.js +4 -10
- package/dist/core/shaders/Plasma/index.js +4 -11
- package/dist/core/shaders/Plastic/index.js +4 -11
- package/dist/core/shaders/PolarCoordinates/index.js +4 -8
- package/dist/core/shaders/Polygon/index.js +4 -6
- package/dist/core/shaders/Posterize/index.js +4 -6
- package/dist/core/shaders/Prism/index.d.ts +2 -2
- package/dist/core/shaders/Prism/index.js +4 -12
- package/dist/core/shaders/ProgressiveBlur/index.d.ts +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ProgressiveBlur/index.js +4 -10
- package/dist/core/shaders/RadialGradient/index.js +4 -11
- package/dist/core/shaders/RadialWipe/index.js +4 -7
- package/dist/core/shaders/RandomBars/index.js +4 -7
- package/dist/core/shaders/ReactionDiffusion/index.js +4 -8
- package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
- package/dist/core/shaders/ReflectivePlane/index.js +4 -10
- package/dist/core/shaders/Repeater/index.js +4 -5
- package/dist/core/shaders/Ring/index.js +4 -5
- package/dist/core/shaders/RippleWipe/index.js +4 -7
- package/dist/core/shaders/Ripples/index.d.ts +1 -1
- package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
- package/dist/core/shaders/Ripples/index.js +4 -13
- package/dist/core/shaders/RoundedRect/index.js +4 -5
- package/dist/core/shaders/Saturation/index.js +4 -7
- package/dist/core/shaders/Scratches/index.d.ts +1 -1
- package/dist/core/shaders/Scratches/index.d.ts.map +1 -1
- package/dist/core/shaders/Scratches/index.js +5 -14
- package/dist/core/shaders/Sharpness/index.d.ts +1 -1
- package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
- package/dist/core/shaders/Sharpness/index.js +4 -11
- package/dist/core/shaders/Shatter/index.js +4 -6
- package/dist/core/shaders/SimplexNoise/index.d.ts +1 -1
- package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/SimplexNoise/index.js +5 -14
- package/dist/core/shaders/SineWave/index.js +4 -10
- package/dist/core/shaders/SliceWipe/index.js +4 -8
- package/dist/core/shaders/Smoke/index.js +4 -7
- package/dist/core/shaders/SmokeFill/index.js +4 -10
- package/dist/core/shaders/SmokeFlow/index.js +4 -7
- package/dist/core/shaders/Solarize/index.js +4 -7
- package/dist/core/shaders/SolidColor/index.js +4 -11
- package/dist/core/shaders/Sparkle/index.d.ts +57 -0
- package/dist/core/shaders/Sparkle/index.d.ts.map +1 -0
- package/dist/core/shaders/Sparkle/index.js +5 -0
- package/dist/core/shaders/Spherize/index.d.ts +1 -1
- package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
- package/dist/core/shaders/Spherize/index.js +4 -10
- package/dist/core/shaders/Spiral/index.js +4 -11
- package/dist/core/shaders/Star/index.js +4 -5
- package/dist/core/shaders/Stone/index.d.ts +1 -1
- package/dist/core/shaders/Stone/index.d.ts.map +1 -1
- package/dist/core/shaders/Stone/index.js +4 -14
- package/dist/core/shaders/Strands/index.d.ts +1 -1
- package/dist/core/shaders/Strands/index.d.ts.map +1 -1
- package/dist/core/shaders/Strands/index.js +4 -13
- package/dist/core/shaders/Stretch/index.js +4 -8
- package/dist/core/shaders/Stripes/index.d.ts +1 -1
- package/dist/core/shaders/Stripes/index.d.ts.map +1 -1
- package/dist/core/shaders/Stripes/index.js +4 -13
- package/dist/core/shaders/StudioBackground/index.js +4 -14
- package/dist/core/shaders/SunBurst/index.js +4 -12
- package/dist/core/shaders/Surface3D/index.js +4 -8
- package/dist/core/shaders/Swirl/index.js +4 -11
- package/dist/core/shaders/Teardrop/index.js +4 -5
- package/dist/core/shaders/Text/index.js +4 -12
- package/dist/core/shaders/ThinFilm/index.d.ts +8 -8
- package/dist/core/shaders/ThinFilm/index.js +4 -9
- package/dist/core/shaders/TiltShift/index.d.ts +1 -1
- package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
- package/dist/core/shaders/TiltShift/index.js +4 -10
- package/dist/core/shaders/TimeTrail/index.d.ts +2 -2
- package/dist/core/shaders/TimeTrail/index.js +4 -8
- package/dist/core/shaders/Tint/index.js +4 -6
- package/dist/core/shaders/Trapezoid/index.js +4 -5
- package/dist/core/shaders/TriangularGrid/index.d.ts +1 -1
- package/dist/core/shaders/TriangularGrid/index.d.ts.map +1 -1
- package/dist/core/shaders/TriangularGrid/index.js +4 -13
- package/dist/core/shaders/Tritone/index.js +4 -6
- package/dist/core/shaders/Truchet/index.d.ts +1 -1
- package/dist/core/shaders/Truchet/index.d.ts.map +1 -1
- package/dist/core/shaders/Truchet/index.js +4 -13
- package/dist/core/shaders/Twirl/index.js +4 -8
- package/dist/core/shaders/VHS/index.d.ts +2 -2
- package/dist/core/shaders/VHS/index.d.ts.map +1 -1
- package/dist/core/shaders/VHS/index.js +4 -10
- package/dist/core/shaders/VenetianBlinds/index.js +4 -7
- package/dist/core/shaders/Vesica/index.js +4 -5
- package/dist/core/shaders/Vibrance/index.js +4 -7
- package/dist/core/shaders/VideoTexture/index.js +4 -6
- package/dist/core/shaders/Vignette/index.js +4 -8
- package/dist/core/shaders/Voronoi/index.d.ts +1 -1
- package/dist/core/shaders/Voronoi/index.d.ts.map +1 -1
- package/dist/core/shaders/Voronoi/index.js +4 -13
- package/dist/core/shaders/Voxels/index.d.ts +5 -5
- package/dist/core/shaders/Voxels/index.js +4 -14
- package/dist/core/shaders/Water/index.d.ts +3 -3
- package/dist/core/shaders/Water/index.js +4 -11
- package/dist/core/shaders/Watercolor/index.d.ts +1 -1
- package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
- package/dist/core/shaders/Watercolor/index.js +4 -10
- package/dist/core/shaders/WaveDistortion/index.js +4 -8
- package/dist/core/shaders/Waveform/index.js +4 -16
- package/dist/core/shaders/WaveletNoise/index.d.ts +1 -1
- package/dist/core/shaders/WaveletNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/WaveletNoise/index.js +5 -14
- package/dist/core/shaders/Weave/index.d.ts +1 -1
- package/dist/core/shaders/Weave/index.d.ts.map +1 -1
- package/dist/core/shaders/Weave/index.js +4 -13
- package/dist/core/shaders/WebcamTexture/index.js +4 -6
- package/dist/core/shaders/Wool/index.d.ts +1 -1
- package/dist/core/shaders/Wool/index.d.ts.map +1 -1
- package/dist/core/shaders/Wool/index.js +4 -14
- package/dist/core/shaders/WorleyNoise/index.d.ts +1 -1
- package/dist/core/shaders/WorleyNoise/index.d.ts.map +1 -1
- package/dist/core/shaders/WorleyNoise/index.js +4 -13
- package/dist/core/shaders/ZoomBlur/index.d.ts +1 -1
- package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
- package/dist/core/shaders/ZoomBlur/index.js +4 -10
- package/dist/core/std/effects/blurs.d.ts +656 -138
- package/dist/core/std/effects/blurs.d.ts.map +1 -1
- package/dist/core/std/effects/color.d.ts +209 -32
- package/dist/core/std/effects/color.d.ts.map +1 -1
- package/dist/core/std/effects/edgeGlow.d.ts +86 -17
- package/dist/core/std/effects/edgeGlow.d.ts.map +1 -1
- package/dist/core/std/effects/fracture.d.ts +72 -8
- package/dist/core/std/effects/fracture.d.ts.map +1 -1
- package/dist/core/std/effects/index.d.ts +15 -0
- package/dist/core/std/effects/index.d.ts.map +1 -0
- package/dist/core/std/effects/instances.d.ts +87 -8
- package/dist/core/std/effects/instances.d.ts.map +1 -1
- package/dist/core/std/effects/lens.d.ts +48 -12
- package/dist/core/std/effects/lens.d.ts.map +1 -1
- package/dist/core/std/effects/overlay.d.ts +63 -22
- package/dist/core/std/effects/overlay.d.ts.map +1 -1
- package/dist/core/std/effects/pointerFields.d.ts +45 -20
- package/dist/core/std/effects/pointerFields.d.ts.map +1 -1
- package/dist/core/std/effects/reveal.d.ts +118 -40
- package/dist/core/std/effects/reveal.d.ts.map +1 -1
- package/dist/core/std/effects/stylize.d.ts +139 -70
- package/dist/core/std/effects/stylize.d.ts.map +1 -1
- package/dist/core/std/filter.d.ts +72 -12
- package/dist/core/std/filter.d.ts.map +1 -1
- package/dist/core/std/frames.d.ts +91 -24
- package/dist/core/std/frames.d.ts.map +1 -1
- package/dist/core/std/index.d.ts +46 -8
- package/dist/core/std/index.d.ts.map +1 -1
- package/dist/core/std/index.js +4 -0
- package/dist/core/std/invoke.d.ts +107 -12
- package/dist/core/std/invoke.d.ts.map +1 -1
- package/dist/core/std/lists.d.ts +40 -10
- package/dist/core/std/lists.d.ts.map +1 -1
- package/dist/core/std/lower.d.ts +73 -1
- package/dist/core/std/lower.d.ts.map +1 -1
- package/dist/core/std/mask.d.ts +60 -17
- package/dist/core/std/mask.d.ts.map +1 -1
- package/dist/core/std/math.d.ts +484 -9
- package/dist/core/std/math.d.ts.map +1 -1
- package/dist/core/std/motion.d.ts +130 -10
- package/dist/core/std/motion.d.ts.map +1 -1
- package/dist/core/std/paint/compose.d.ts +57 -16
- package/dist/core/std/paint/compose.d.ts.map +1 -1
- package/dist/core/std/paint/fields.d.ts +378 -95
- package/dist/core/std/paint/fields.d.ts.map +1 -1
- package/dist/core/std/paint/figures.d.ts +32 -17
- package/dist/core/std/paint/figures.d.ts.map +1 -1
- package/dist/core/std/paint/gradients.d.ts +58 -25
- package/dist/core/std/paint/gradients.d.ts.map +1 -1
- package/dist/core/std/paint/light.d.ts +501 -77
- package/dist/core/std/paint/light.d.ts.map +1 -1
- package/dist/core/std/paint/materials.d.ts +678 -151
- package/dist/core/std/paint/materials.d.ts.map +1 -1
- package/dist/core/std/paint/media.d.ts +47 -32
- package/dist/core/std/paint/media.d.ts.map +1 -1
- package/dist/core/std/paint/noise.d.ts +436 -87
- package/dist/core/std/paint/noise.d.ts.map +1 -1
- package/dist/core/std/paint/patterns.d.ts +474 -92
- package/dist/core/std/paint/patterns.d.ts.map +1 -1
- package/dist/core/std/paint/radiance.d.ts +75 -29
- package/dist/core/std/paint/radiance.d.ts.map +1 -1
- package/dist/core/std/paint/volume.d.ts +68 -27
- package/dist/core/std/paint/volume.d.ts.map +1 -1
- package/dist/core/std/paint/voxels.d.ts +46 -26
- package/dist/core/std/paint/voxels.d.ts.map +1 -1
- package/dist/core/std/shape.d.ts +195 -1
- package/dist/core/std/shape.d.ts.map +1 -1
- package/dist/core/std/signal.d.ts +55 -15
- package/dist/core/std/signal.d.ts.map +1 -1
- package/dist/core/std/sim/agentForces.d.ts +441 -99
- package/dist/core/std/sim/agentForces.d.ts.map +1 -1
- package/dist/core/std/sim/agentFrame.d.ts +94 -20
- package/dist/core/std/sim/agentFrame.d.ts.map +1 -1
- package/dist/core/std/sim/agentRender.d.ts +187 -60
- package/dist/core/std/sim/agentRender.d.ts.map +1 -1
- package/dist/core/std/sim/agents.d.ts +99 -28
- package/dist/core/std/sim/agents.d.ts.map +1 -1
- package/dist/core/std/sim/feedback.d.ts +40 -19
- package/dist/core/std/sim/feedback.d.ts.map +1 -1
- package/dist/core/std/sim/fluids.d.ts +127 -63
- package/dist/core/std/sim/fluids.d.ts.map +1 -1
- package/dist/core/std/sim/grids.d.ts +200 -48
- package/dist/core/std/sim/grids.d.ts.map +1 -1
- package/dist/core/std/sim/index.d.ts +14 -0
- package/dist/core/std/sim/index.d.ts.map +1 -0
- package/dist/core/std/sim/shapeFields.d.ts +56 -0
- package/dist/core/std/sim/shapeFields.d.ts.map +1 -1
- package/dist/core/std/sim.d.ts +112 -10
- package/dist/core/std/sim.d.ts.map +1 -1
- package/dist/core/std/slots.d.ts +72 -6
- package/dist/core/std/slots.d.ts.map +1 -1
- package/dist/core/std/types.d.ts +97 -60
- package/dist/core/std/types.d.ts.map +1 -1
- package/dist/core/std/values.d.ts +33 -14
- package/dist/core/std/values.d.ts.map +1 -1
- package/dist/core/std/warps.d.ts +221 -76
- package/dist/core/std/warps.d.ts.map +1 -1
- package/dist/core/std/wgsl.d.ts +115 -0
- package/dist/core/std/wgsl.d.ts.map +1 -0
- package/dist/core/std-ClftfWpF.js +218889 -0
- package/dist/core/{support-GJphyuEe.js → support-D3W86vgR.js} +11 -1
- package/dist/core/telemetry/index.js +1 -1
- package/dist/core/utilities/colorStops.d.ts +2 -2
- package/dist/core/utilities/listProps.d.ts +2 -2
- package/dist/core/utilities/listProps.d.ts.map +1 -1
- package/dist/core/utilities/noiseColor.d.ts +3 -3
- package/dist/core/utilities/transformations/index.js +1 -1
- package/dist/js/bundle.js +182 -180
- package/dist/js/createShader.d.ts.map +1 -1
- package/dist/js/createShader.js +4 -3
- package/dist/js/types.d.ts +5 -0
- package/dist/js/types.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/js/utils/generatePresetCode.js +35 -22
- package/dist/react/CustomShader.js +178 -0
- package/dist/react/Preview.js +1 -0
- package/dist/react/Shader.js +1 -1
- package/dist/react/Sparkle.js +226 -0
- package/dist/react/bundle.js +178 -176
- package/dist/react/components/Sparkle.d.ts +41 -0
- package/dist/react/components/Sparkle.d.ts.map +1 -0
- package/dist/react/engine/CustomShader.d.ts +37 -0
- package/dist/react/engine/CustomShader.d.ts.map +1 -0
- package/dist/react/engine/Preview.d.ts.map +1 -1
- package/dist/react/index.d.ts +5 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +4 -2
- package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/react/utils/generatePresetCode.js +35 -22
- package/dist/registry.js +410 -158
- package/dist/solid/components/Sparkle.d.ts +38 -0
- package/dist/solid/components/Sparkle.d.ts.map +1 -0
- package/dist/solid/components/Sparkle.js +232 -0
- package/dist/solid/engine/CustomShader.d.ts +35 -0
- package/dist/solid/engine/CustomShader.d.ts.map +1 -0
- package/dist/solid/engine/CustomShader.js +160 -0
- package/dist/solid/engine/Preview.d.ts.map +1 -1
- package/dist/solid/engine/Preview.js +319 -317
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/solid/index.d.ts +5 -0
- package/dist/solid/index.d.ts.map +1 -1
- package/dist/solid/index.js +95 -86
- package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/solid/utils/generatePresetCode.js +35 -22
- package/dist/svelte/components/Sparkle.svelte.d.ts +28 -0
- package/dist/svelte/engine/CustomShader.svelte.d.ts +40 -0
- package/dist/svelte/index.d.ts +4 -0
- package/dist/svelte/index.js +1237 -877
- package/dist/svelte/source/components/Sparkle.svelte +352 -0
- package/dist/svelte/source/engine/CustomShader.svelte +216 -0
- package/dist/svelte/source/engine/Preview.svelte +5 -3
- package/dist/svelte/source/index.js +4 -0
- package/dist/svelte/utils/generatePresetCode.js +35 -22
- package/dist/vue/CustomShader.js +3 -0
- package/dist/vue/CustomShader.vue_vue_type_script_setup_true_lang.js +173 -0
- package/dist/vue/Preview.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/vue/Sparkle.js +3 -0
- package/dist/vue/Sparkle.vue_vue_type_script_setup_true_lang.js +233 -0
- package/dist/vue/components/Sparkle.vue.d.ts +63 -0
- package/dist/vue/components/Sparkle.vue.d.ts.map +1 -0
- package/dist/vue/index.d.ts +4 -0
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js +4 -2
- package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
- package/dist/vue/utils/generatePresetCode.js +35 -22
- package/package.json +27 -2
- package/dist/core/Irradiance-B36wYze9.js +0 -4191
- package/dist/core/LightEdge-AFfkNhDP.js +0 -2339
- package/dist/core/Repeater-C5LILb_Y.js +0 -762
- package/dist/core/Shatter-Dz3sH2ON.js +0 -1479
- package/dist/core/Voxels-Ca-6rRrz.js +0 -8547
- package/dist/core/agents-CBSp2UK_.js +0 -15709
- package/dist/core/agents-DXoEcto0.js +0 -5357
- package/dist/core/blur-7yjVyMvI.js +0 -8015
- package/dist/core/blurs-d4B9aUyx.js +0 -1751
- package/dist/core/canvasRaster-DDBkrdY8.js +0 -80
- package/dist/core/color-Do6tU0ry.js +0 -3619
- package/dist/core/compose-Dkf3v-xS.js +0 -46
- package/dist/core/device-m0ud8-Fn.js +0 -10
- package/dist/core/feedback-Dro_hxd4.js +0 -46
- package/dist/core/fields-DgADOKsP.js +0 -475
- package/dist/core/figures-B3lUGP8u.js +0 -48
- package/dist/core/filter-BrhpSs3Z.js +0 -23
- package/dist/core/fluids-umEWgdvj.js +0 -226
- package/dist/core/fonts-BUXTd9qb.js +0 -59
- package/dist/core/frames-BLqt7oaW.js +0 -78
- package/dist/core/glass-ABppDbYG.js +0 -2532
- package/dist/core/gradientPaints-5HpJVNfb.js +0 -6564
- package/dist/core/gradients-CIxKrfME.js +0 -159
- package/dist/core/grids-Cv99xcJg.js +0 -151
- package/dist/core/lens-DJQNJKCW.js +0 -352
- package/dist/core/light-D3BIVkxy.js +0 -271
- package/dist/core/lightfields-DvrUaH_6.js +0 -2255
- package/dist/core/lower-Bd2jez_2.js +0 -49452
- package/dist/core/mask-CeSwL79Q.js +0 -28
- package/dist/core/materials-4Oqvm_9m.js +0 -2944
- package/dist/core/math-D864seEs.js +0 -56
- package/dist/core/media-DXUY3ltG.js +0 -832
- package/dist/core/mediaLifecycle-BTPb5i1-.js +0 -320
- package/dist/core/motionBlur-g_WSi2iq.js +0 -6766
- package/dist/core/noise-d7rmP9yc.js +0 -546
- package/dist/core/noisePaints-CfHcXL02.js +0 -3619
- package/dist/core/noiseStylize-CUrW_HiC.js +0 -65
- package/dist/core/overlay-D5w0585O.js +0 -4712
- package/dist/core/patterns-Bg8lSdqH.js +0 -9723
- package/dist/core/pointerFields-CRecZwuZ.js +0 -2339
- package/dist/core/porters-OTkIMOyl.js +0 -30201
- package/dist/core/reveal-CfaAg-rg.js +0 -1688
- package/dist/core/sdf3d-2AWC_wdn.js +0 -21082
- package/dist/core/shaderRegistry-BUvL8ZZS.js +0 -443
- package/dist/core/shape-CAkSlCi8.js +0 -20
- package/dist/core/shapePaints-Bg2UwCZo.js +0 -3354
- package/dist/core/signal-emJuvOI3.js +0 -34
- package/dist/core/slots-BqIef2iV.js +0 -32
- package/dist/core/stylize-DiuoSq16.js +0 -4541
- package/dist/core/tone-BKhfiOBn.js +0 -763
- package/dist/core/warpMaps-Y8xSo-QJ.js +0 -10773
- package/dist/core/warps-P5O3NWLe.js +0 -276
- /package/dist/core/{transformations-CzFmhZww.js → transformations-P50Uo_Ju.js} +0 -0
|
@@ -5,129 +5,375 @@ import { ArgSpec } from '../invoke';
|
|
|
5
5
|
import { GatherEffect } from '../types';
|
|
6
6
|
import { PropRef } from '../values';
|
|
7
7
|
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* The first stage of a stacked effect: reads the child as a texture and returns the starting
|
|
10
|
+
* color at this pixel.
|
|
11
|
+
*
|
|
12
|
+
* Pass one to `gatherStack` as its first argument. The overlay stages then edit its result in order.
|
|
13
|
+
* @see gatherStack, OverlayStage, childTap
|
|
14
|
+
*/
|
|
9
15
|
export type SampleStage = (params: RttFilterParams) => Expr;
|
|
10
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* One editing stage of a stacked effect: takes the color so far and returns the edited color.
|
|
18
|
+
*
|
|
19
|
+
* Stages run in the order you list them in `gatherStack`.
|
|
20
|
+
* @see gatherStack, SampleStage
|
|
21
|
+
*/
|
|
11
22
|
export type OverlayStage = (color: Expr, params: RttFilterParams) => Expr;
|
|
12
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Assemble an effect from one sampling stage and an ordered list of overlay stages.
|
|
25
|
+
*
|
|
26
|
+
* The child renders to a texture, the sampling stage reads it, and each overlay edits the result
|
|
27
|
+
* in turn. Put the result in a filter's `effect:` field. Pass `{resultAlpha: 'straight'}` only
|
|
28
|
+
* when the stack already returns straight (not premultiplied) alpha, as `crispTap` and
|
|
29
|
+
* `refractedTaps` do.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* effect: gatherStack(rgbSplit({amount: p('colorShift')}), [scanlines({frequency: p('lines'), intensity: 0.3}), opaque()])
|
|
34
|
+
* ```
|
|
35
|
+
* @tip An empty overlay list is fine: `gatherStack(stage, [])` wraps a lone sampling stage.
|
|
36
|
+
* @see SampleStage, OverlayStage, GatherFrame
|
|
37
|
+
*/
|
|
13
38
|
export declare function gatherStack(sample: SampleStage, overlays: OverlayStage[], opts?: {
|
|
14
39
|
resultAlpha?: 'premultiplied' | 'straight';
|
|
15
40
|
}): GatherEffect;
|
|
16
41
|
/**
|
|
17
|
-
* A
|
|
18
|
-
*
|
|
42
|
+
* A geometry that several stages of one effect share: a warped coordinate, a surface normal, a
|
|
43
|
+
* coverage mask.
|
|
44
|
+
*
|
|
45
|
+
* Make one with a frame word (`sphereFrame`, `glitchFrame`, `fluteFrame`, `peelFrame`), keep it
|
|
46
|
+
* in a module constant, and hand that same frame to every stage. It is computed once per pixel
|
|
47
|
+
* however many stages read it.
|
|
48
|
+
* @see sphereFrame, glitchFrame, fluteFrame, peelFrame
|
|
19
49
|
*/
|
|
20
50
|
export type GatherFrame = (params: RttFilterParams) => Expr;
|
|
21
51
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
52
|
+
* The child with its red and blue pulled a little to either side, like a misaligned CRT.
|
|
53
|
+
*
|
|
54
|
+
* `amount` is the shift; 1 moves red and blue each by 0.002 of the canvas width, 0–10 is the
|
|
55
|
+
* usual range. Returns a three-channel color, so finish the stack with `opaque`.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* effect: gatherStack(rgbSplit({amount: p('colorShift')}), [opaque()])
|
|
60
|
+
* ```
|
|
61
|
+
* @see glitchRgbSplit, scanlines, phosphorMask, opaque
|
|
24
62
|
*/
|
|
25
63
|
export declare function rgbSplit(opts: {
|
|
26
64
|
amount: ArgSpec;
|
|
27
65
|
}): SampleStage;
|
|
28
|
-
/**
|
|
29
|
-
*
|
|
66
|
+
/**
|
|
67
|
+
* The wobbling, jittering coordinates of a worn VHS tape, to feed into `chromaSmearTaps`.
|
|
68
|
+
*
|
|
69
|
+
* `wobble` (0–5) is the tape damage: waves, creases and head-switching noise that burst on and
|
|
70
|
+
* off over time. `jitter` (0–1) is fine per-scanline noise. `speed` scales the global clock,
|
|
71
|
+
* so the definition needs no `animatedTime`.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* chromaSmearTaps({warp: tapeWarp({wobble: p('wobble'), jitter: p('scanlineNoise'), speed: p('speed')}), smear: p('smear')})
|
|
76
|
+
* ```
|
|
77
|
+
* @see chromaSmearTaps, beatPulse
|
|
78
|
+
*/
|
|
30
79
|
export declare function tapeWarp(opts: {
|
|
31
80
|
wobble: ArgSpec;
|
|
32
81
|
jitter: ArgSpec;
|
|
33
82
|
speed: ArgSpec;
|
|
34
83
|
}): (params: RttFilterParams) => Expr;
|
|
35
84
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
85
|
+
* The child sampled like a VHS deck: brightness stays sharp while color bleeds sideways.
|
|
86
|
+
*
|
|
87
|
+
* `warp` is the coordinate set from `tapeWarp`. `smear` sets how far color trails; positive
|
|
88
|
+
* trails it to the right, negative to the left, −2 to 2 is the usual range. Alpha comes from the
|
|
89
|
+
* sharp tap.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* effect: gatherStack(chromaSmearTaps({warp: tapeWarp({wobble: p('wobble'), jitter: p('noise'), speed: p('speed')}), smear: p('smear')}), [beatPulse({wobble: p('wobble'), speed: p('speed')})])
|
|
94
|
+
* ```
|
|
95
|
+
* @see tapeWarp, beatPulse, rgbSplit
|
|
38
96
|
*/
|
|
39
97
|
export declare function chromaSmearTaps(opts: {
|
|
40
98
|
warp: (params: RttFilterParams) => Expr;
|
|
41
99
|
smear: ArgSpec;
|
|
42
100
|
}): SampleStage;
|
|
43
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* The brightest color in a small ring around a point: the layer grown outward, so a spot
|
|
103
|
+
* just outside a bright area still reads as bright.
|
|
104
|
+
*
|
|
105
|
+
* `read` samples the layer at a uv and returns straight color (pass `params.sampleStraight`).
|
|
106
|
+
* `center` is the uv to look around; `radius` is the ring's radius per axis in uv, as a
|
|
107
|
+
* `vec2` (divide a pixel radius by the viewport size). `taps` points sit evenly round the
|
|
108
|
+
* ring starting at `angle` degrees, plus the centre itself. Returns the brightest of them as
|
|
109
|
+
* `color` (straight) and its brightness as `luma` (Rec.709 luminance times alpha).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const {color, luma} = brightestNear(params.sampleStraight, pointUV, {radius: div(p, viewport), taps: 4, angle: 45})
|
|
114
|
+
* ```
|
|
115
|
+
* @tip Thin bright details smaller than the gap between taps can slip through; more taps
|
|
116
|
+
* close the gaps at one sample each.
|
|
117
|
+
* @see gatherStack
|
|
118
|
+
*/
|
|
119
|
+
export declare function brightestNear(read: (uv: Expr) => Expr, center: Expr, opts: {
|
|
120
|
+
radius: Expr;
|
|
121
|
+
taps: number;
|
|
122
|
+
angle?: number;
|
|
123
|
+
}): {
|
|
124
|
+
color: Expr;
|
|
125
|
+
luma: Expr;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Brightness and contrast, pivoting around mid-grey.
|
|
129
|
+
*
|
|
130
|
+
* 1 leaves both unchanged; 0.5–2 is the usual range. Works on the three-channel color of a
|
|
131
|
+
* stack begun with `rgbSplit`.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts
|
|
135
|
+
* adjust({brightness: p('brightness'), contrast: p('contrast')})
|
|
136
|
+
* ```
|
|
137
|
+
* @see rgbSplit, scanlines, opaque
|
|
138
|
+
*/
|
|
44
139
|
export declare function adjust(opts: {
|
|
45
140
|
brightness: ArgSpec;
|
|
46
141
|
contrast: ArgSpec;
|
|
47
142
|
}): OverlayStage;
|
|
48
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Horizontal scanlines darkening the child in a smooth wave.
|
|
145
|
+
*
|
|
146
|
+
* `frequency` is the number of lines from top to bottom (100–800). `intensity` (0–1) is how
|
|
147
|
+
* dark the troughs get. Works on the three-channel color of a stack begun with `rgbSplit`.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```ts
|
|
151
|
+
* scanlines({frequency: p('scanlineFrequency'), intensity: p('scanlineIntensity')})
|
|
152
|
+
* ```
|
|
153
|
+
* @see distortedScanlines, phosphorMask, vignetteOverlay
|
|
154
|
+
*/
|
|
49
155
|
export declare function scanlines(opts: {
|
|
50
156
|
frequency: ArgSpec;
|
|
51
157
|
intensity: ArgSpec;
|
|
52
158
|
}): OverlayStage;
|
|
53
|
-
/**
|
|
159
|
+
/**
|
|
160
|
+
* A faint red, green and blue phosphor stripe pattern across the child.
|
|
161
|
+
*
|
|
162
|
+
* `pitch` sets how many stripes fit across the canvas, about half of `pitch`; 8–128 is the usual
|
|
163
|
+
* range. Works on the three-channel color of a stack begun with `rgbSplit`.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```ts
|
|
167
|
+
* phosphorMask({pitch: p('pixelSize')})
|
|
168
|
+
* ```
|
|
169
|
+
* @see scanlines, rgbSplit
|
|
170
|
+
*/
|
|
54
171
|
export declare function phosphorMask(opts: {
|
|
55
172
|
pitch: ArgSpec;
|
|
56
173
|
}): OverlayStage;
|
|
57
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Darkens the child toward its corners.
|
|
176
|
+
*
|
|
177
|
+
* `radius` (0–1) is how far the darkening reaches inward, 0 for the edges only and 1 for all the
|
|
178
|
+
* way to the centre. `intensity` (0–1) blends it in. Round on any canvas shape. Works on the
|
|
179
|
+
* three-channel color of a stack begun with `rgbSplit`.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```ts
|
|
183
|
+
* vignetteOverlay({radius: p('vignetteRadius'), intensity: p('vignetteIntensity')})
|
|
184
|
+
* ```
|
|
185
|
+
* @see scanlines, opaque
|
|
186
|
+
*/
|
|
58
187
|
export declare function vignetteOverlay(opts: {
|
|
59
188
|
radius: ArgSpec;
|
|
60
189
|
intensity: ArgSpec;
|
|
61
190
|
}): OverlayStage;
|
|
62
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* Closes a three-channel stack as a solid color with alpha 1.
|
|
193
|
+
*
|
|
194
|
+
* Put it last after `rgbSplit`, `adjust`, `scanlines`, `phosphorMask` or `vignetteOverlay`,
|
|
195
|
+
* which work on color only and drop the child's alpha.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```ts
|
|
199
|
+
* effect: gatherStack(rgbSplit({amount: 1}), [scanlines({frequency: 200, intensity: 0.3}), opaque()])
|
|
200
|
+
* ```
|
|
201
|
+
* @see rgbSplit, gatherStack
|
|
202
|
+
*/
|
|
63
203
|
export declare function opaque(): OverlayStage;
|
|
64
|
-
/**
|
|
204
|
+
/**
|
|
205
|
+
* A faint brightness throb, like the mains hum of an old television.
|
|
206
|
+
*
|
|
207
|
+
* `wobble` scales the throb (0 turns it off). `speed` scales the global clock. Works on the
|
|
208
|
+
* four-channel color of a stack begun with `chromaSmearTaps`.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* beatPulse({wobble: p('wobble'), speed: p('speed')})
|
|
213
|
+
* ```
|
|
214
|
+
* @see chromaSmearTaps, tapeWarp
|
|
215
|
+
*/
|
|
65
216
|
export declare function beatPulse(opts: {
|
|
66
217
|
wobble: ArgSpec;
|
|
67
218
|
speed: ArgSpec;
|
|
68
219
|
}): OverlayStage;
|
|
69
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* The path a motion blur smears along: its kind plus the prop that anchors it.
|
|
222
|
+
*
|
|
223
|
+
* Make one with `blurPath.linear`, `blurPath.orbit` or `blurPath.zoom` and pass it to `motionBlur`.
|
|
224
|
+
* @see blurPath, motionBlur
|
|
225
|
+
*/
|
|
70
226
|
export interface BlurPathSpec {
|
|
71
227
|
readonly kind: motionBlurKit.MotionBlurPathKind;
|
|
72
228
|
readonly focus: PropRef;
|
|
73
229
|
}
|
|
74
|
-
/**
|
|
230
|
+
/**
|
|
231
|
+
* The three paths `motionBlur` can smear along.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* effect: motionBlur({path: blurPath.zoom(p('center')), amount: p('intensity')})
|
|
236
|
+
* ```
|
|
237
|
+
* @see motionBlur
|
|
238
|
+
*/
|
|
75
239
|
export declare const blurPath: {
|
|
76
|
-
/**
|
|
240
|
+
/**
|
|
241
|
+
* A straight streak along an angle prop, in degrees (0 points right, 90 points down).
|
|
242
|
+
* @example
|
|
243
|
+
* ```ts
|
|
244
|
+
* effect: motionBlur({path: blurPath.linear(p('angle')), amount: p('intensity')})
|
|
245
|
+
* ```
|
|
246
|
+
* @see motionBlur
|
|
247
|
+
*/
|
|
77
248
|
linear: (angle: PropRef) => BlurPathSpec;
|
|
78
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* An arc streak rotating around a center prop (a position in uv).
|
|
251
|
+
* @example
|
|
252
|
+
* ```ts
|
|
253
|
+
* effect: motionBlur({path: blurPath.orbit(p('center')), amount: p('intensity')})
|
|
254
|
+
* ```
|
|
255
|
+
* @see motionBlur
|
|
256
|
+
*/
|
|
79
257
|
orbit: (center: PropRef) => BlurPathSpec;
|
|
80
|
-
/**
|
|
258
|
+
/**
|
|
259
|
+
* A radial streak rushing outward from a center prop (a position in uv).
|
|
260
|
+
* @example
|
|
261
|
+
* ```ts
|
|
262
|
+
* effect: motionBlur({path: blurPath.zoom(p('center')), amount: p('intensity')})
|
|
263
|
+
* ```
|
|
264
|
+
* @see motionBlur
|
|
265
|
+
*/
|
|
81
266
|
zoom: (center: PropRef) => BlurPathSpec;
|
|
82
267
|
};
|
|
83
268
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
269
|
+
* Smears the child along a path: a straight streak, an arc around a point, or a zoom out of a point.
|
|
270
|
+
*
|
|
271
|
+
* `amount` is a 0–100 intensity. A linear streak spans about twice `amount` in pixels; at 100 an
|
|
272
|
+
* orbit sweeps about 29 degrees and a zoom pulls in from twice the distance to its center.
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```ts
|
|
276
|
+
* effect: motionBlur({path: blurPath.linear(p('angle')), amount: p('intensity')})
|
|
277
|
+
* ```
|
|
278
|
+
* @tip Samples past the canvas edge repeat the border color. Wrap the layer in a larger group if the smear must fade out instead.
|
|
279
|
+
* @see blurPath, gaussianBlur, scatter
|
|
86
280
|
*/
|
|
87
281
|
export declare function motionBlur(opts: {
|
|
88
282
|
path: BlurPathSpec;
|
|
89
283
|
amount: ArgSpec;
|
|
90
284
|
}): GatherEffect;
|
|
91
285
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
286
|
+
* Scatters every pixel of the child by a random offset: a grainy diffusion, not a smooth blur.
|
|
287
|
+
*
|
|
288
|
+
* `amount` is the largest offset in pixels. `edges` is a prop with `transform: transformEdges`
|
|
289
|
+
* and `compileTime: true` ('stretch' | 'transparent' | 'mirror' | 'wrap') that says what to read
|
|
290
|
+
* where an offset lands outside the canvas.
|
|
291
|
+
*
|
|
292
|
+
* @example
|
|
293
|
+
* ```ts
|
|
294
|
+
* effect: scatter({amount: p('intensity'), edges: p('edges')})
|
|
295
|
+
* ```
|
|
296
|
+
* @see gaussianBlur, motionBlur
|
|
95
297
|
*/
|
|
96
298
|
export declare function scatter(opts: {
|
|
97
299
|
amount: ArgSpec;
|
|
98
300
|
edges: PropRef;
|
|
99
301
|
}): GatherEffect;
|
|
100
302
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
303
|
+
* Sharpens the child by boosting the contrast between each pixel and its neighbours.
|
|
304
|
+
*
|
|
305
|
+
* `amount` 0 leaves the child unchanged; 0–5 is the usual range. Alpha is untouched.
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* ```ts
|
|
309
|
+
* effect: sharpen(p('sharpness'))
|
|
310
|
+
* ```
|
|
311
|
+
* @tip Declare `identityWhen: isZero('sharpness')` and `recompile: crosses(0)` on the prop so 0 costs nothing.
|
|
312
|
+
* @see gaussianBlur, scatter
|
|
103
313
|
*/
|
|
104
314
|
export declare function sharpen(amount: ArgSpec): GatherEffect;
|
|
105
315
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
316
|
+
* Turns the child into a grid of flat cells, each showing one color.
|
|
317
|
+
*
|
|
318
|
+
* `scale` is the number of cells along the canvas's longer edge (1–200; more cells means smaller
|
|
319
|
+
* pixels). `gap` (0–1) is the transparent space between cells as a fraction of a cell.
|
|
320
|
+
* `roundness` (0–1) rounds each cell from a square to a circle.
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* ```ts
|
|
324
|
+
* effect: pixelate({scale: p('scale'), gap: p('gap'), roundness: p('roundness')})
|
|
325
|
+
* ```
|
|
326
|
+
* @see scatter, sharpen
|
|
109
327
|
*/
|
|
110
328
|
export declare function pixelate(opts: {
|
|
111
329
|
scale: ArgSpec;
|
|
112
330
|
gap: ArgSpec;
|
|
113
331
|
roundness: ArgSpec;
|
|
114
332
|
}): GatherEffect;
|
|
115
|
-
/**
|
|
333
|
+
/**
|
|
334
|
+
* The geometry of a sphere bulging out of the canvas: where each pixel reads the child from,
|
|
335
|
+
* where the sphere ends, and which way its surface faces.
|
|
336
|
+
*
|
|
337
|
+
* `center` is a position in uv. `radius` 1 is half the canvas height. `depth` is how far it bulges
|
|
338
|
+
* toward the viewer, 0 for flat and up to about 3. Feed the frame to `crispTap` and `rimLit`.
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```ts
|
|
342
|
+
* const sphere = sphereFrame({center: p('center'), radius: p('radius'), depth: p('depth')})
|
|
343
|
+
* ```
|
|
344
|
+
* @see crispTap, rimLit, GatherFrame
|
|
345
|
+
*/
|
|
116
346
|
export declare function sphereFrame(opts: {
|
|
117
347
|
center: ArgSpec;
|
|
118
348
|
radius: ArgSpec;
|
|
119
349
|
depth: ArgSpec;
|
|
120
350
|
}): GatherFrame;
|
|
121
351
|
/**
|
|
122
|
-
* One
|
|
123
|
-
*
|
|
124
|
-
* (text, a logo)
|
|
352
|
+
* One clean sample of the child at a frame's warped coordinate.
|
|
353
|
+
*
|
|
354
|
+
* Use it under a warp that magnifies: hard edges in the child (text, a logo) stay smooth instead
|
|
355
|
+
* of breaking into facets. Returns straight alpha, so close the stack with
|
|
356
|
+
* `{resultAlpha: 'straight'}`.
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* ```ts
|
|
360
|
+
* effect: gatherStack(crispTap(sphere), [rimLit(sphere, {position: p('light'), intensity: 0.5, softness: 0.5, color: p('lightColor')})], {resultAlpha: 'straight'})
|
|
361
|
+
* ```
|
|
362
|
+
* @see sphereFrame, rimLit, childTap
|
|
125
363
|
*/
|
|
126
364
|
export declare function crispTap(frame: GatherFrame): SampleStage;
|
|
127
365
|
/**
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
366
|
+
* A tinted rim of light around the edge of a bulged surface, added on top of the child's color.
|
|
367
|
+
*
|
|
368
|
+
* `position` is where the light sits, in uv. `intensity` (0–1) is its strength, 0 for off.
|
|
369
|
+
* `softness` (0–1) runs from a hard edge to a soft glow. `color` is a color prop. Outside the
|
|
370
|
+
* frame's surface the result is transparent.
|
|
371
|
+
*
|
|
372
|
+
* @example
|
|
373
|
+
* ```ts
|
|
374
|
+
* rimLit(sphere, {position: p('lightPosition'), intensity: p('lightIntensity'), softness: p('lightSoftness'), color: p('lightColor')})
|
|
375
|
+
* ```
|
|
376
|
+
* @see sphereFrame, crispTap, fluteHighlight
|
|
131
377
|
*/
|
|
132
378
|
export declare function rimLit(frame: GatherFrame, opts: {
|
|
133
379
|
position: ArgSpec;
|
|
@@ -136,9 +382,19 @@ export declare function rimLit(frame: GatherFrame, opts: {
|
|
|
136
382
|
color: PropRef;
|
|
137
383
|
}): OverlayStage;
|
|
138
384
|
/**
|
|
139
|
-
* The shared
|
|
140
|
-
*
|
|
141
|
-
*
|
|
385
|
+
* The shared geometry of a digital glitch: when bursts fire, which horizontal bands jitter, and
|
|
386
|
+
* which blocks shift or flip.
|
|
387
|
+
*
|
|
388
|
+
* `intensity` (0–1) sets both the strength and how often bursts happen. `speed` scales the global
|
|
389
|
+
* clock, so no `animatedTime` is needed. `blockDensity` is the base number of bands (2–50).
|
|
390
|
+
* `mirrorAmount` (0–1) is the chance a block shows flipped content. Keep the frame in a module
|
|
391
|
+
* constant and pass it to `glitchRgbSplit`, `colorBarFills` and `distortedScanlines`.
|
|
392
|
+
*
|
|
393
|
+
* @example
|
|
394
|
+
* ```ts
|
|
395
|
+
* const glitch = glitchFrame({intensity: p('intensity'), speed: p('speed'), blockDensity: p('blockDensity'), mirrorAmount: p('mirrorAmount')})
|
|
396
|
+
* ```
|
|
397
|
+
* @see glitchRgbSplit, colorBarFills, distortedScanlines, GatherFrame
|
|
142
398
|
*/
|
|
143
399
|
export declare function glitchFrame(opts: {
|
|
144
400
|
intensity: ArgSpec;
|
|
@@ -147,21 +403,60 @@ export declare function glitchFrame(opts: {
|
|
|
147
403
|
mirrorAmount: ArgSpec;
|
|
148
404
|
}): GatherFrame;
|
|
149
405
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
406
|
+
* The child sampled through a glitch frame, with red and blue pulled apart inside the active bands.
|
|
407
|
+
*
|
|
408
|
+
* `shift` is the split distance, 0–20. A transparent child stays transparent through the glitch.
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```ts
|
|
412
|
+
* effect: gatherStack(glitchRgbSplit(glitch, {shift: p('rgbShift')}), [colorBarFills(glitch, {intensity: 0.2})])
|
|
413
|
+
* ```
|
|
414
|
+
* @see glitchFrame, colorBarFills, rgbSplit
|
|
152
415
|
*/
|
|
153
416
|
export declare function glitchRgbSplit(frame: GatherFrame, opts: {
|
|
154
417
|
shift: ArgSpec;
|
|
155
418
|
}): SampleStage;
|
|
156
|
-
/**
|
|
419
|
+
/**
|
|
420
|
+
* Neon color bars filling the blocks a glitch frame currently has active.
|
|
421
|
+
*
|
|
422
|
+
* `intensity` (0–1) is how strongly the bars show. They respect the child's alpha.
|
|
423
|
+
*
|
|
424
|
+
* @example
|
|
425
|
+
* ```ts
|
|
426
|
+
* colorBarFills(glitch, {intensity: p('colorBarIntensity')})
|
|
427
|
+
* ```
|
|
428
|
+
* @see glitchFrame, glitchRgbSplit, distortedScanlines
|
|
429
|
+
*/
|
|
157
430
|
export declare function colorBarFills(frame: GatherFrame, opts: {
|
|
158
431
|
intensity: ArgSpec;
|
|
159
432
|
}): OverlayStage;
|
|
160
|
-
/**
|
|
433
|
+
/**
|
|
434
|
+
* CRT-style scanlines that appear only where a glitch frame is currently distorting.
|
|
435
|
+
*
|
|
436
|
+
* `intensity` (0–1) is how visible they are.
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* ```ts
|
|
440
|
+
* distortedScanlines(glitch, {intensity: p('scanlineIntensity')})
|
|
441
|
+
* ```
|
|
442
|
+
* @see glitchFrame, scanlines
|
|
443
|
+
*/
|
|
161
444
|
export declare function distortedScanlines(frame: GatherFrame, opts: {
|
|
162
445
|
intensity: ArgSpec;
|
|
163
446
|
}): OverlayStage;
|
|
164
|
-
/**
|
|
447
|
+
/**
|
|
448
|
+
* The two halves a heavy blur adds to a definition: a pass that blurs the child ahead of time,
|
|
449
|
+
* and the fragment that reads it.
|
|
450
|
+
*
|
|
451
|
+
* Spread the whole object into a definition that declares `species: 'custom'`,
|
|
452
|
+
* `requiresRTT: true` and `requiresChild: true`.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```ts
|
|
456
|
+
* ...gaussianBlur({intensity: p('intensity')})
|
|
457
|
+
* ```
|
|
458
|
+
* @see gaussianBlur, channelBlur, progressiveBlur, tiltShift, bloom
|
|
459
|
+
*/
|
|
165
460
|
export interface ComputeBackedEffect {
|
|
166
461
|
compute: GpuComputeNode;
|
|
167
462
|
gpu: {
|
|
@@ -169,18 +464,33 @@ export interface ComputeBackedEffect {
|
|
|
169
464
|
};
|
|
170
465
|
}
|
|
171
466
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* intensity
|
|
175
|
-
*
|
|
467
|
+
* A soft, even blur of the child.
|
|
468
|
+
*
|
|
469
|
+
* `intensity` is a prop from 0 to about 200; 100 is a blur radius of about 36 pixels. Bind the
|
|
470
|
+
* prop to a map to vary the blur across the canvas. Only color blurs; the child's alpha stays
|
|
471
|
+
* sharp, so soft edges need a group or mask around the layer.
|
|
472
|
+
*
|
|
473
|
+
* @example
|
|
474
|
+
* ```ts
|
|
475
|
+
* ...gaussianBlur({intensity: p('intensity')})
|
|
476
|
+
* ```
|
|
477
|
+
* @tip The blur runs at a fixed working resolution, so its cost does not grow with the canvas.
|
|
478
|
+
* @see channelBlur, progressiveBlur, tiltShift, bloom, motionBlur
|
|
176
479
|
*/
|
|
177
480
|
export declare function gaussianBlur(opts: {
|
|
178
481
|
intensity: PropRef;
|
|
179
482
|
}): ComputeBackedEffect;
|
|
180
483
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
484
|
+
* Blurs red, green and blue by separate amounts, for a soft chromatic fringe.
|
|
485
|
+
*
|
|
486
|
+
* Each of `red`, `green` and `blue` is a prop from 0 to 100; 100 is a radius of about 10 pixels.
|
|
487
|
+
* A channel at 0 stays exactly sharp.
|
|
488
|
+
*
|
|
489
|
+
* @example
|
|
490
|
+
* ```ts
|
|
491
|
+
* ...channelBlur({red: p('redIntensity'), green: p('greenIntensity'), blue: p('blueIntensity')})
|
|
492
|
+
* ```
|
|
493
|
+
* @see gaussianBlur, rgbSplit
|
|
184
494
|
*/
|
|
185
495
|
export declare function channelBlur(opts: {
|
|
186
496
|
red: PropRef;
|
|
@@ -188,9 +498,18 @@ export declare function channelBlur(opts: {
|
|
|
188
498
|
blue: PropRef;
|
|
189
499
|
}): ComputeBackedEffect;
|
|
190
500
|
/**
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
501
|
+
* A blur that ramps from sharp to full strength in one direction across the child.
|
|
502
|
+
*
|
|
503
|
+
* The ramp starts at `center` (a position in uv) and runs along `angle` (degrees, 0 points
|
|
504
|
+
* right), reaching full blur `falloff` (0–1, in uv) past the center. `intensity` (0–100) is the
|
|
505
|
+
* blur at the far end; 100 is a radius of about 36 pixels. Bind `intensity` to a map to vary the
|
|
506
|
+
* ceiling per pixel. Alpha stays sharp.
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
* ```ts
|
|
510
|
+
* ...progressiveBlur({intensity: p('intensity'), angle: p('angle'), center: p('center'), falloff: p('falloff')})
|
|
511
|
+
* ```
|
|
512
|
+
* @see tiltShift, gaussianBlur
|
|
194
513
|
*/
|
|
195
514
|
export declare function progressiveBlur(opts: {
|
|
196
515
|
intensity: PropRef;
|
|
@@ -199,10 +518,17 @@ export declare function progressiveBlur(opts: {
|
|
|
199
518
|
falloff: PropRef;
|
|
200
519
|
}): ComputeBackedEffect;
|
|
201
520
|
/**
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
521
|
+
* Keeps a band of the child in focus and blurs everything beyond it, like a tilt-shift lens.
|
|
522
|
+
*
|
|
523
|
+
* The band runs through `center` (a position in uv) at `angle` (degrees, 0 is horizontal) and
|
|
524
|
+
* is `width` wide (0–1, in uv). Beyond it the blur ramps to full strength over `falloff` (0–1).
|
|
525
|
+
* `intensity` (0–100) is the blur at the far edges. Pixels inside the band stay pixel-sharp.
|
|
526
|
+
*
|
|
527
|
+
* @example
|
|
528
|
+
* ```ts
|
|
529
|
+
* ...tiltShift({intensity: p('intensity'), width: p('width'), falloff: p('falloff'), angle: p('angle'), center: p('center')})
|
|
530
|
+
* ```
|
|
531
|
+
* @see progressiveBlur, gaussianBlur, bokehDefocus
|
|
206
532
|
*/
|
|
207
533
|
export declare function tiltShift(opts: {
|
|
208
534
|
intensity: PropRef;
|
|
@@ -212,32 +538,82 @@ export declare function tiltShift(opts: {
|
|
|
212
538
|
center: PropRef;
|
|
213
539
|
}): ComputeBackedEffect;
|
|
214
540
|
/**
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
541
|
+
* A glow: the child's bright parts spread into a soft halo that adds back on top.
|
|
542
|
+
*
|
|
543
|
+
* Pixels brighter than `threshold` (0–1) glow. `size` is the halo's spread in pixels (clean up
|
|
544
|
+
* to about 72). `intensity` (0–50) is how bright the halo is. The halo reaches past the child's
|
|
545
|
+
* alpha, so a glowing shape lights up transparent space around it. At size 0 nothing runs; give
|
|
546
|
+
* the size prop `recompile: crosses(0)`.
|
|
547
|
+
*
|
|
548
|
+
* @example
|
|
549
|
+
* ```ts
|
|
550
|
+
* ...bloom({intensity: p('intensity'), threshold: p('threshold'), size: p('size')})
|
|
551
|
+
* ```
|
|
552
|
+
* @see screenedBloom, gaussianBlur, bokehDefocus
|
|
219
553
|
*/
|
|
220
554
|
export declare function bloom(opts: {
|
|
221
555
|
intensity: PropRef;
|
|
222
556
|
threshold: PropRef;
|
|
223
557
|
size: PropRef;
|
|
224
558
|
}): ComputeBackedEffect;
|
|
225
|
-
/**
|
|
559
|
+
/**
|
|
560
|
+
* The child's own color at this pixel, unchanged.
|
|
561
|
+
*
|
|
562
|
+
* The sampling stage for an effect that only adds something around the child, like a shadow.
|
|
563
|
+
*
|
|
564
|
+
* @example
|
|
565
|
+
* ```ts
|
|
566
|
+
* effect: gatherStack(childTap(), [shadowComposite({coverage, color: p('color'), intensity: p('intensity'), cutout: p('cutout')})])
|
|
567
|
+
* ```
|
|
568
|
+
* @see shadowComposite, crispTap
|
|
569
|
+
*/
|
|
226
570
|
export declare function childTap(): SampleStage;
|
|
227
|
-
/**
|
|
571
|
+
/**
|
|
572
|
+
* The coordinate a shadow reads the child's silhouette from: `distance` away in the compass
|
|
573
|
+
* direction `angle`.
|
|
574
|
+
*
|
|
575
|
+
* `angle` is in degrees, 0 up, 90 right, 180 down. `distance` (0–1) is a fraction of the canvas
|
|
576
|
+
* height and covers the same number of pixels in either axis. Pass the result as the `at` of
|
|
577
|
+
* `silhouetteCoverage`.
|
|
578
|
+
*
|
|
579
|
+
* @example
|
|
580
|
+
* ```ts
|
|
581
|
+
* silhouetteCoverage({at: shadowOffset({angle: p('angle'), distance: p('distance')}), blur: p('blur')})
|
|
582
|
+
* ```
|
|
583
|
+
* @see silhouetteCoverage, shadowComposite
|
|
584
|
+
*/
|
|
228
585
|
export declare function shadowOffset(opts: {
|
|
229
586
|
angle: ArgSpec;
|
|
230
587
|
distance: ArgSpec;
|
|
231
588
|
}): (params: RttFilterParams) => Expr;
|
|
232
|
-
/**
|
|
589
|
+
/**
|
|
590
|
+
* A soft copy of the child's alpha silhouette: a number per pixel from 0 to 1.
|
|
591
|
+
*
|
|
592
|
+
* `at` is where to read the silhouette from, usually `shadowOffset`. `blur` is the softness as a
|
|
593
|
+
* radius in pixels (0–20). Feed it to `shadowComposite` as the `coverage`.
|
|
594
|
+
*
|
|
595
|
+
* @example
|
|
596
|
+
* ```ts
|
|
597
|
+
* silhouetteCoverage({at: shadowOffset({angle: 135, distance: 0.1}), blur: p('blur')})
|
|
598
|
+
* ```
|
|
599
|
+
* @see shadowOffset, shadowComposite
|
|
600
|
+
*/
|
|
233
601
|
export declare function silhouetteCoverage(opts: {
|
|
234
602
|
at: (params: RttFilterParams) => Expr;
|
|
235
603
|
blur: ArgSpec;
|
|
236
604
|
}): (params: RttFilterParams) => Expr;
|
|
237
605
|
/**
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
606
|
+
* A tinted shadow behind the child.
|
|
607
|
+
*
|
|
608
|
+
* `coverage` is the soft silhouette from `silhouetteCoverage`, tinted with `color` (a color
|
|
609
|
+
* prop) at `intensity` (0–1) and placed under the child. `cutout` is a boolean prop with
|
|
610
|
+
* `compileTime: true`; when true only the shadow shows, with the child's shape punched out of it.
|
|
611
|
+
*
|
|
612
|
+
* @example
|
|
613
|
+
* ```ts
|
|
614
|
+
* effect: gatherStack(childTap(), [shadowComposite({coverage: silhouetteCoverage({at: shadowOffset({angle: p('angle'), distance: p('distance')}), blur: p('blur')}), color: p('color'), intensity: p('intensity'), cutout: p('cutout')})])
|
|
615
|
+
* ```
|
|
616
|
+
* @see childTap, shadowOffset, silhouetteCoverage
|
|
241
617
|
*/
|
|
242
618
|
export declare function shadowComposite(opts: {
|
|
243
619
|
coverage: (params: RttFilterParams) => Expr;
|
|
@@ -246,10 +622,23 @@ export declare function shadowComposite(opts: {
|
|
|
246
622
|
cutout: PropRef;
|
|
247
623
|
}): OverlayStage;
|
|
248
624
|
/**
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
625
|
+
* The geometry of fluted (reeded) glass over the child: where each pixel reads through the
|
|
626
|
+
* glass, how far its colors split, and the slope of the flute at that point.
|
|
627
|
+
*
|
|
628
|
+
* `shape` is a `compileTime` prop whose transform maps 'bars', 'rounded' and 'waves' to 0, 1
|
|
629
|
+
* and 2. `angle` is in degrees, 0 for vertical flutes. `frequency` is the number of flutes
|
|
630
|
+
* across the longer edge (1–20). `softness` (0–1) eases each flute from flat-with-sharp-seams to
|
|
631
|
+
* a gentle curve. `waveAmplitude` and `waveFrequency` shape the waves variant only.
|
|
632
|
+
* `refraction` (0–4) is how hard each flute bends the child. `aberration` (0–1) is the color
|
|
633
|
+
* split at the seams. The pattern drifts on the layer's clock, so declare
|
|
634
|
+
* `animatedTime: {speed: 'speed'}`. Keep the frame in a module constant and pass it to
|
|
635
|
+
* `refractedTaps` and `fluteHighlight`.
|
|
636
|
+
*
|
|
637
|
+
* @example
|
|
638
|
+
* ```ts
|
|
639
|
+
* const flute = fluteFrame({shape: p('shape'), angle: p('angle'), frequency: p('frequency'), softness: p('softness'), waveAmplitude: p('waveAmplitude'), waveFrequency: p('waveFrequency'), refraction: p('refraction'), aberration: p('aberration')})
|
|
640
|
+
* ```
|
|
641
|
+
* @see refractedTaps, fluteHighlight, GatherFrame
|
|
253
642
|
*/
|
|
254
643
|
export declare function fluteFrame(opts: {
|
|
255
644
|
shape: PropRef;
|
|
@@ -262,18 +651,35 @@ export declare function fluteFrame(opts: {
|
|
|
262
651
|
aberration: ArgSpec;
|
|
263
652
|
}): GatherFrame;
|
|
264
653
|
/**
|
|
265
|
-
* The
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
654
|
+
* The child seen through a flute frame, with edge handling and a color split when `aberration`
|
|
655
|
+
* is above 0.
|
|
656
|
+
*
|
|
657
|
+
* `edges` is a prop with `transform: transformEdges` and `compileTime: true`. `aberration` is
|
|
658
|
+
* the same prop the frame uses; give it a recompile rule that fires when it crosses 0. Returns
|
|
659
|
+
* straight alpha, so close the stack with `{resultAlpha: 'straight'}`.
|
|
660
|
+
*
|
|
661
|
+
* @example
|
|
662
|
+
* ```ts
|
|
663
|
+
* effect: gatherStack(refractedTaps(flute, {aberration: p('aberration'), edges: p('edges')}), [fluteHighlight(flute, {lightAngle: 30, highlight: 0.2, softness: 0.3, color: p('highlightColor')})], {resultAlpha: 'straight'})
|
|
664
|
+
* ```
|
|
665
|
+
* @see fluteFrame, fluteHighlight, crispTap
|
|
269
666
|
*/
|
|
270
667
|
export declare function refractedTaps(frame: GatherFrame, opts: {
|
|
271
668
|
aberration: PropRef;
|
|
272
669
|
edges: PropRef;
|
|
273
670
|
}): SampleStage;
|
|
274
671
|
/**
|
|
275
|
-
*
|
|
276
|
-
*
|
|
672
|
+
* A specular highlight running along each flute, added on top of the child's color.
|
|
673
|
+
*
|
|
674
|
+
* `lightAngle` is the light's direction in degrees, 0 head-on and 90 grazing (−90 to 90).
|
|
675
|
+
* `highlight` (0–2) is its strength. `softness` (0–1) spreads the peak from pin-tight to a
|
|
676
|
+
* broad sheen. `color` is a color prop. Transparent parts of the child pick up no highlight.
|
|
677
|
+
*
|
|
678
|
+
* @example
|
|
679
|
+
* ```ts
|
|
680
|
+
* fluteHighlight(flute, {lightAngle: p('lightAngle'), highlight: p('highlight'), softness: p('highlightSoftness'), color: p('highlightColor')})
|
|
681
|
+
* ```
|
|
682
|
+
* @see fluteFrame, refractedTaps, rimLit
|
|
277
683
|
*/
|
|
278
684
|
export declare function fluteHighlight(frame: GatherFrame, opts: {
|
|
279
685
|
lightAngle: ArgSpec;
|
|
@@ -281,41 +687,106 @@ export declare function fluteHighlight(frame: GatherFrame, opts: {
|
|
|
281
687
|
softness: ArgSpec;
|
|
282
688
|
color: PropRef;
|
|
283
689
|
}): OverlayStage;
|
|
284
|
-
/**
|
|
690
|
+
/**
|
|
691
|
+
* One shading term of a page peel: a number per pixel read against the peel frame.
|
|
692
|
+
*
|
|
693
|
+
* `curlShading`, `curlSheen`, `overhangShadow` and `revealShadow` each make one; `peelCompose`
|
|
694
|
+
* takes all four.
|
|
695
|
+
* @see peelCompose, peelFrame
|
|
696
|
+
*/
|
|
285
697
|
export type PeelShade = (params: RttFilterParams) => Expr;
|
|
286
698
|
/**
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
699
|
+
* The geometry of a page curling up from one corner: where the curl reads the child from, how
|
|
700
|
+
* far it has turned, and how far each pixel is from the crease.
|
|
701
|
+
*
|
|
702
|
+
* `corner` is a `compileTime` string prop ('top-left' | 'top-right' | 'bottom-left' |
|
|
703
|
+
* 'bottom-right') with no transform. `amount` (0–1) is how far the peel has progressed, 0 flat
|
|
704
|
+
* and 1 fully peeled. `radius` is the tightness of the curl as a fraction of the page diagonal
|
|
705
|
+
* (0.02–0.4). Keep the frame in a module constant and pass it to the peel shading words and
|
|
706
|
+
* `peelCompose`.
|
|
707
|
+
*
|
|
708
|
+
* @example
|
|
709
|
+
* ```ts
|
|
710
|
+
* const peel = peelFrame({corner: p('corner'), amount: p('amount'), radius: p('radius')})
|
|
711
|
+
* ```
|
|
712
|
+
* @tip Leave the `corner` prop without a `transform`: it must stay a string for the frame to read.
|
|
713
|
+
* @see peelCompose, curlShading, curlSheen, overhangShadow, revealShadow
|
|
290
714
|
*/
|
|
291
715
|
export declare function peelFrame(opts: {
|
|
292
716
|
corner: PropRef;
|
|
293
717
|
amount: ArgSpec;
|
|
294
718
|
radius: ArgSpec;
|
|
295
719
|
}): GatherFrame;
|
|
296
|
-
/**
|
|
720
|
+
/**
|
|
721
|
+
* The darkening in the crook of a curl, easing to full brightness at the lip.
|
|
722
|
+
*
|
|
723
|
+
* `shading` (0–1) is how deep the darkening goes.
|
|
724
|
+
*
|
|
725
|
+
* @example
|
|
726
|
+
* ```ts
|
|
727
|
+
* curlShading(peel, {shading: p('shading')})
|
|
728
|
+
* ```
|
|
729
|
+
* @see peelFrame, peelCompose, curlSheen
|
|
730
|
+
*/
|
|
297
731
|
export declare function curlShading(frame: GatherFrame, opts: {
|
|
298
732
|
shading: ArgSpec;
|
|
299
733
|
}): PeelShade;
|
|
300
|
-
/**
|
|
734
|
+
/**
|
|
735
|
+
* The band of light running up a curl.
|
|
736
|
+
*
|
|
737
|
+
* `highlight` (0–1) is its strength. `softness` (0–1) runs from a tight gloss to a broad satin.
|
|
738
|
+
*
|
|
739
|
+
* @example
|
|
740
|
+
* ```ts
|
|
741
|
+
* curlSheen(peel, {highlight: p('highlight'), softness: p('highlightSoftness')})
|
|
742
|
+
* ```
|
|
743
|
+
* @see peelFrame, peelCompose, curlShading
|
|
744
|
+
*/
|
|
301
745
|
export declare function curlSheen(frame: GatherFrame, opts: {
|
|
302
746
|
highlight: ArgSpec;
|
|
303
747
|
softness: ArgSpec;
|
|
304
748
|
}): PeelShade;
|
|
305
|
-
/**
|
|
749
|
+
/**
|
|
750
|
+
* The shadow a lifted curl casts on the flat page just past the crease.
|
|
751
|
+
*
|
|
752
|
+
* `amount` is the same peel amount the frame uses. `shadow` (0–1) is the shadow's strength.
|
|
753
|
+
*
|
|
754
|
+
* @example
|
|
755
|
+
* ```ts
|
|
756
|
+
* overhangShadow(peel, {amount: p('amount'), shadow: p('shadow')})
|
|
757
|
+
* ```
|
|
758
|
+
* @see peelFrame, peelCompose, revealShadow
|
|
759
|
+
*/
|
|
306
760
|
export declare function overhangShadow(frame: GatherFrame, opts: {
|
|
307
761
|
amount: ArgSpec;
|
|
308
762
|
shadow: ArgSpec;
|
|
309
763
|
}): PeelShade;
|
|
310
|
-
/**
|
|
764
|
+
/**
|
|
765
|
+
* The shadow on the surface a peel reveals, just inside the crease.
|
|
766
|
+
*
|
|
767
|
+
* `amount` is the same peel amount the frame uses. `shadow` (0–1) is the shadow's strength.
|
|
768
|
+
*
|
|
769
|
+
* @example
|
|
770
|
+
* ```ts
|
|
771
|
+
* revealShadow(peel, {amount: p('amount'), shadow: p('shadow')})
|
|
772
|
+
* ```
|
|
773
|
+
* @see peelFrame, peelCompose, overhangShadow
|
|
774
|
+
*/
|
|
311
775
|
export declare function revealShadow(frame: GatherFrame, opts: {
|
|
312
776
|
amount: ArgSpec;
|
|
313
777
|
shadow: ArgSpec;
|
|
314
778
|
}): PeelShade;
|
|
315
779
|
/**
|
|
316
|
-
*
|
|
317
|
-
*
|
|
318
|
-
*
|
|
780
|
+
* A finished page peel: the cast shadows, the flat page and the lit curl, layered back to front.
|
|
781
|
+
*
|
|
782
|
+
* The sampling stage of a peel. Pass the four shading terms built on the same frame. Wrap it in
|
|
783
|
+
* `gatherStack` with no overlays.
|
|
784
|
+
*
|
|
785
|
+
* @example
|
|
786
|
+
* ```ts
|
|
787
|
+
* effect: gatherStack(peelCompose(peel, {shade: curlShading(peel, {shading: 0.55}), sheen: curlSheen(peel, {highlight: 0.4, softness: 0.2}), overhang: overhangShadow(peel, {amount: p('amount'), shadow: 1}), reveal: revealShadow(peel, {amount: p('amount'), shadow: 1})}), [])
|
|
788
|
+
* ```
|
|
789
|
+
* @see peelFrame, curlShading, curlSheen, overhangShadow, revealShadow
|
|
319
790
|
*/
|
|
320
791
|
export declare function peelCompose(frame: GatherFrame, parts: {
|
|
321
792
|
shade: PeelShade;
|
|
@@ -323,24 +794,11 @@ export declare function peelCompose(frame: GatherFrame, parts: {
|
|
|
323
794
|
overhang: PeelShade;
|
|
324
795
|
reveal: PeelShade;
|
|
325
796
|
}): SampleStage;
|
|
326
|
-
/**
|
|
327
|
-
* Reflected sample coordinate: mirror across the horizontal line at `lineY`. Y is down (top=0),
|
|
328
|
-
* so a point at uv.y > lineY reflects to `2·lineY - uv.y`. Pure function.
|
|
329
|
-
*/
|
|
797
|
+
/** @internal */
|
|
330
798
|
export declare const mirrorRowUV: import('typegpu').TgpuFn<(uv: d.Vec2f, lineY: d.F32) => d.Vec2f>;
|
|
331
|
-
/**
|
|
332
|
-
* Planar-reflection composite (pre-unpremultiply). Above the line returns the original content
|
|
333
|
-
* untouched; below it, the (edge-handled) reflection sample composited "over" the original via
|
|
334
|
-
* premultiplied alpha, faded by `visibility` (full up to distance−fadeWidth, smoothly to 0 by
|
|
335
|
-
* `distance`; `falloff` is the fade-zone width as a fraction of distance). Pure function.
|
|
336
|
-
*/
|
|
799
|
+
/** @internal */
|
|
337
800
|
export declare const planarReflectionCompose: import('typegpu').TgpuFn<(original: d.Vec4f, refl: d.Vec4f, uvY: d.F32, lineY: d.F32, distance: d.F32, falloff: d.F32) => d.Vec4f>;
|
|
338
|
-
/**
|
|
339
|
-
* GPU-free construction of the depth-ramp blur-map fill graph. Per compute pixel, the desired
|
|
340
|
-
* blur radius ramps with the row's depth below the line:
|
|
341
|
-
* `blur × smoothstep(0, blurDistance, height − v) × DEPTH_RAMP_RADIUS_PX` (source pixels).
|
|
342
|
-
* Row-based (depends only on cy/computeHeight); 2D dispatch, STORAGE textureStore.
|
|
343
|
-
*/
|
|
801
|
+
/** @internal */
|
|
344
802
|
export declare function buildDepthRampFillGraph(computeWidth: number, computeHeight: number): {
|
|
345
803
|
layout: import('typegpu').TgpuBindGroupLayout<{
|
|
346
804
|
blurMap: {
|
|
@@ -361,12 +819,34 @@ export declare function buildDepthRampFillGraph(computeWidth: number, computeHei
|
|
|
361
819
|
blurDistance: d.F32;
|
|
362
820
|
}>;
|
|
363
821
|
};
|
|
364
|
-
/**
|
|
822
|
+
/**
|
|
823
|
+
* The coordinate mirrored across a horizontal line, for reading a reflection below it.
|
|
824
|
+
*
|
|
825
|
+
* `line` is a prop, 0–1 down the canvas in uv. Returns a function of the fragment params that
|
|
826
|
+
* gives the mirrored uv. Above the line the coordinate is still mirrored; `planarReflection`
|
|
827
|
+
* only shows the reflection below it.
|
|
828
|
+
*
|
|
829
|
+
* @example
|
|
830
|
+
* ```ts
|
|
831
|
+
* const reflectedUV = mirrorAcrossRow(p('height'))
|
|
832
|
+
* ```
|
|
833
|
+
* @see planarReflection, depthRampBlur
|
|
834
|
+
*/
|
|
365
835
|
export declare function mirrorAcrossRow(line: PropRef): (params: GpuFragmentParams) => Expr;
|
|
366
836
|
/**
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
*
|
|
837
|
+
* The blur half of a mirror floor: blurs the child more the further a row sits below the line.
|
|
838
|
+
*
|
|
839
|
+
* `line` is the same 0–1 line prop as `mirrorAcrossRow`. `blur` is the blur far below the line,
|
|
840
|
+
* 0–5 where 1 is a radius of about 12 pixels. `blurDistance` (in uv, 0.01–1) is how far below
|
|
841
|
+
* the line the blur takes to reach full strength. `halfKernel` is the number of taps each side
|
|
842
|
+
* per pass; 30 is a good value. Spread it into a definition with `species: 'custom'` and read
|
|
843
|
+
* the result in the fragment as `computeOutputs.blurredTexture`.
|
|
844
|
+
*
|
|
845
|
+
* @example
|
|
846
|
+
* ```ts
|
|
847
|
+
* ...depthRampBlur({line: p('height'), blur: p('blur'), blurDistance: p('blurDistance'), halfKernel: 30})
|
|
848
|
+
* ```
|
|
849
|
+
* @see planarReflection, mirrorAcrossRow, progressiveBlur
|
|
370
850
|
*/
|
|
371
851
|
export declare function depthRampBlur(opts: {
|
|
372
852
|
line: PropRef;
|
|
@@ -376,26 +856,47 @@ export declare function depthRampBlur(opts: {
|
|
|
376
856
|
}): {
|
|
377
857
|
compute: GpuComputeNode;
|
|
378
858
|
};
|
|
379
|
-
/**
|
|
380
|
-
*
|
|
859
|
+
/**
|
|
860
|
+
* A mirror floor: the child as it is above a line, and its reflection fading out below it.
|
|
861
|
+
*
|
|
862
|
+
* `line` (0–1 in uv), `distance` (how far below the line the reflection stays visible, in uv)
|
|
863
|
+
* and `falloff` (the width of the fade as a fraction of `distance`) are props. `edges` is a prop
|
|
864
|
+
* with `transform: transformEdges` and `compileTime: true`. `original` is the child's color at
|
|
865
|
+
* this pixel, `reflection` samples the child (or its blurred copy) at a coordinate, and
|
|
866
|
+
* `reflectedUV` is usually `mirrorAcrossRow(line)`. Returns a fragment function whose result is
|
|
867
|
+
* premultiplied; unpremultiply it before returning from `gpu.fragment`.
|
|
868
|
+
*
|
|
869
|
+
* @example
|
|
870
|
+
* ```ts
|
|
871
|
+
* planarReflection({line: p('height'), distance: p('distance'), falloff: p('falloff'), edges: p('edges')}, source.sample(ctx.uv), (uv) => blurred.sample(uv), mirrorAcrossRow(p('height')))(params)
|
|
872
|
+
* ```
|
|
873
|
+
* @see mirrorAcrossRow, depthRampBlur
|
|
874
|
+
*/
|
|
381
875
|
export declare function planarReflection(opts: {
|
|
382
876
|
line: PropRef;
|
|
383
877
|
distance: PropRef;
|
|
384
878
|
falloff: PropRef;
|
|
385
879
|
edges: PropRef;
|
|
386
880
|
}, original: Expr, reflection: (uv: Expr) => Expr, reflectedUV: (params: GpuFragmentParams) => Expr): (params: GpuFragmentParams) => Expr;
|
|
387
|
-
/**
|
|
388
|
-
* Screen a tinted glow (blurred bright highlights) over a base colour.
|
|
389
|
-
* `tintStrength = (rgb tint, strength)`. The glow's coverage extends the alpha into transparent
|
|
390
|
-
* areas (Glow's aura precedent) so the halo isn't clipped to the child's α.
|
|
391
|
-
*/
|
|
881
|
+
/** @internal */
|
|
392
882
|
export declare const tintedScreenGlow: import('typegpu').TgpuFn<(base: d.Vec4f, glow: d.Vec4f, tintStrength: d.Vec4f) => d.Vec4f>;
|
|
393
883
|
/**
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
884
|
+
* A tinted glow of the child's bright parts, screened over a color you have already graded:
|
|
885
|
+
* film halation, phosphor bloom.
|
|
886
|
+
*
|
|
887
|
+
* `strength` is a prop; at 0 the glow pass does not run, so give it `recompile: crosses(0)`.
|
|
888
|
+
* `radius` is a prop for the glow's spread in pixels. `tint` is an rgb triple (0–1) and
|
|
889
|
+
* `threshold` (0–1) the brightness a pixel must pass to glow. `output` and `extractName` are
|
|
890
|
+
* names unique to your definition. Returns `compute`, to set as the definition's `compute:`, and
|
|
891
|
+
* `screen(base, at, params)`, which screens the glow at coordinate `at` over `base` in the
|
|
892
|
+
* fragment. The glow reaches past the child's alpha.
|
|
893
|
+
*
|
|
894
|
+
* @example
|
|
895
|
+
* ```ts
|
|
896
|
+
* const halation = screenedBloom({strength: p('halation'), radius: p('halationRadius'), tint: [1, 0.38, 0.16], threshold: 0.62, output: 'halationTexture', extractName: 'myHalationExtract'})
|
|
897
|
+
* ```
|
|
898
|
+
* @tip Build it once at module level so the `compute:` field and the fragment read the same part.
|
|
899
|
+
* @see bloom, frameSway
|
|
399
900
|
*/
|
|
400
901
|
export declare function screenedBloom(slots: {
|
|
401
902
|
strength: PropRef;
|
|
@@ -408,28 +909,45 @@ export declare function screenedBloom(slots: {
|
|
|
408
909
|
compute: GpuComputeNode;
|
|
409
910
|
screen: (base: Expr, at: Expr, params: GpuFragmentParams) => Expr;
|
|
410
911
|
};
|
|
411
|
-
/**
|
|
412
|
-
* Frame sway — a tiny animated translation + rotation about the frame centre, like an unsteady
|
|
413
|
-
* projector gate. `amount` scales both amplitude and (via the gated clock) presence; `t` is the
|
|
414
|
-
* per-frame sway-time accumulator. Returns the UV to sample the content at (a clamp sampler
|
|
415
|
-
* handles the sliver pushed off-frame). amount=0 → returns `uv` unchanged.
|
|
416
|
-
*/
|
|
912
|
+
/** @internal */
|
|
417
913
|
export declare const swayUV: import('typegpu').TgpuFn<(uv: d.Vec2f, amount: d.F32, t: d.F32) => d.Vec2f>;
|
|
418
914
|
/**
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
*
|
|
915
|
+
* A slight drifting shift and rotation of where the child is read from, like film in an
|
|
916
|
+
* unsteady projector gate.
|
|
917
|
+
*
|
|
918
|
+
* `amount` is a prop from 0 to 1. `field` names an entry you declare in the definition's
|
|
919
|
+
* `extraFields` as `{schema: schema.f32, initial: 0}`; the sway's clock lives there. Returns a
|
|
920
|
+
* function of the fragment params that gives the uv to sample the child at. When `amount` drops
|
|
921
|
+
* to 0 the motion freezes in place rather than snapping back.
|
|
922
|
+
*
|
|
923
|
+
* @example
|
|
924
|
+
* ```ts
|
|
925
|
+
* const weave = frameSway({amount: p('weave'), field: 'weaveTime'})
|
|
926
|
+
* ```
|
|
927
|
+
* @tip Build it once at module level and call it inside `gpu.fragment`; it registers its own per-frame clock.
|
|
928
|
+
* @see screenedBloom
|
|
422
929
|
*/
|
|
423
930
|
export declare function frameSway(slots: {
|
|
424
931
|
amount: PropRef;
|
|
425
932
|
field: string;
|
|
426
933
|
}): (params: GpuFragmentParams) => Expr;
|
|
427
934
|
/**
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
*
|
|
432
|
-
*
|
|
935
|
+
* A photographic lens blur where bright highlights bloom into aperture-shaped discs.
|
|
936
|
+
*
|
|
937
|
+
* `radius` (0–100) is the defocus; 100 is a disc about 80 pixels across. `gain` (0–10) is how
|
|
938
|
+
* strongly highlights bloom and `threshold` (0–1) the brightness they must pass. `shape` is a
|
|
939
|
+
* string prop: 'blades' | 'circle' | 'star' | 'heart' | 'flower' | 'cross' | 'ring'. `blades`
|
|
940
|
+
* (0–9) counts blades or points for the blades, star and flower shapes; 0–2 is a round iris.
|
|
941
|
+
* `rotation` is in degrees and `fringe` (0–1) adds color fringing at the disc edges. Both color
|
|
942
|
+
* and coverage blur, so silhouettes soften like a real lens. Changing the aperture never
|
|
943
|
+
* recompiles. Spread it into a definition with `species: 'custom'`, `requiresRTT: true` and
|
|
944
|
+
* `requiresChild: true`.
|
|
945
|
+
*
|
|
946
|
+
* @example
|
|
947
|
+
* ```ts
|
|
948
|
+
* ...bokehDefocus({radius: p('radius'), gain: p('highlightGain'), threshold: p('highlightThreshold'), shape: p('bladeShape'), blades: p('bladeCount'), rotation: p('bladeRotation'), fringe: p('chromaticFringe')})
|
|
949
|
+
* ```
|
|
950
|
+
* @see gaussianBlur, tiltShift, bloom
|
|
433
951
|
*/
|
|
434
952
|
export declare function bokehDefocus(opts: {
|
|
435
953
|
radius: PropRef;
|